@charset "UTF-8";
/*
 フッターバーの色 #efede9
 eeeeee メニューバーの背景色
 dddddd プルダウンメニューの背景色（メニューバーよりやや濃いめで影より薄く）
 cccccc メニューバーの影、メニュー選択時の色（メニューバーの背景色より濃いめでプルダウンメニューの背景色より濃く）
 ffffff メニューバーの区切り棒の色、プルダウンメニューの区切り線の色
 
 
 /*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/*================================================
 *  一般・共通設定
 ================================================*/
body {
    font-size:14px;
    color:#333;
    font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    line-height:1.6;
    background:#fff;
}

.inner {
    position:relative;
    width:980px;
    margin:0 auto;
}

header {
    box-sizing:border-box;
    position:relative;
    width:100%;
    background:#fcfcfc;
}

nav {
    width:100%;
    background:#fff;
    box-shadow:0 1px 2px #d0d8dc;
    ⁄zoom:1;
}
nav:after {
    content:'';
    display:block;
    clear:both;
}

#contents {
    overflow:hidden;
    width:980px;
    margin:20px auto;
    background:#fff;
}

#main {
    box-sizing:border-box;
    overflow:hidden;
    float:left;
    /*    width:68%;  左寄せ*/
    width:100%;
    margin-bottom:-32768px;
    padding-bottom:32768px;
}

footer {
    box-sizing:border-box;
    width:100%;
    margin:0 auto;
}

a {         /* main の中のアンカー */
    /*    color:#333;*/
    color:#2277bf;
    text-decoration:underline;
}
a:hover {
    color:#333;
    text-decoration:none;
}

h1 {
    margin-bottom:0.5em;
    padding:10px 0;
    font-size:24px;
    color:#333;
    /*    border-top:3px solid #cccccc;*/
    border-top:1px dotted #bbb;
    border-bottom:1px dotted #bbb;
}


h2 {
    margin-bottom:0.5em;
    padding:10px 0;
    font-size:20px;
    color:#333;
    border-top:3px solid #cccccc;
    border-bottom:1px dotted #cccccc;
}


h3 {
    margin-bottom:0.25em;
    padding:2px 5px;
    color:#fff;
    font-size:16px;
    background:#333;
}
h3 span {
    float: right;
}


h4 {
    margin-bottom:0.25em;
    font-size:15px;
    /*    color:#cccccc;*/
    /*    border-bottom:3px solid #cccccc;*/
    color:#111;
    border-bottom:3px solid #111;
}
h4 span {
    float: right;
}

h5 {
    position:relative;
    margin-bottom:0.25em;
    padding-left:10px;
    color:#cccccc;
    font-size:14px;
    font-weight:bold;
}
h5:before {
    content:"";
    margin-top:-7px;
    position:absolute;
    top:50%;
    left:0;
    width:5px;
    height:14px;
    background:#ffffff;
}

h6 {
    margin-bottom:0.25em;
    color:#382400;
    font-size:14px;
    font-weight:bold;
}

p {
    margin:0 0 1em 0;
}

img {
    vertical-align:bottom;
}

em {
    font-weight:bold;
}

strong {
    font-weight:bold;
    color:#ffffff;
}

pre {
    margin:1em 0;
    padding:1em;
}

blockquote {
    margin-bottom:1em;
    padding:1em;
    border:1px dotted #ddd;
    border-left:5px solid #ddd;
    background:linear-gradient(#f3f3f3, #e5e4e6);
}

ul,ol,dl {
    margin:0 0 1em 0;
}
ul li {
    list-style:disc;
}
ol li {
    list-style:decimal;
}
li {
    margin-left:2em;
}

dt {
    margin-bottom:0.5em;
    border-bottom:1px dotted #ddd;
}
dt:before {
    content:"\0025a0";
}
dd {
    margin-bottom:1em;
}

table {
    width:100%;
    margin-bottom:1em;
    border-collapse:collapse;
    border:1px solid #ddd;
    background:#fff;
}
th {
    padding:10px;
    text-align:left;
    vertical-align:middle;
    border:1px solid #ddd;
    background:#eee;
}
td {
    padding:10px;
    text-align:left;
    border:1px solid #ddd;
}

/*================================================
 *  ヘッダー
 ================================================*/
header {
    /*    padding:30px 10px;*/
    padding:12px 10px;
}



.summary {
    position:absolute;
    /*    top:24px;*/
    top:128px;
    right:10px;
    margin:0;
}

/*================================================
 *  グローバルナビゲーション
 ================================================*/
@media screen and (min-width:768px) {
    nav {
        background:#eeeeee;
        border-bottom:5px solid #cccccc;
        box-shadow:0 1px 3px #999;
        z-index:3;
    }
    nav ul {
        margin:0;
        padding:0;
    }
    nav li {
        position:relative;
        width:17%;
        float:left;
        margin:0;
        padding:0;
        text-align:center;
        list-style:none;
    }
    nav li:first-child {
        width:15%;
    }
    nav li:before {
        content:"";
        margin-top:-7px;
        position:absolute;
        top:50%;
        left:0;
        width:1px;
        height:14px;
        background:#ffffff;
    }
    nav li:last-child:after {
        content:"";
        margin-top:-7px;
        position:absolute;
        top:50%;
        right:0;
        width:1px;
        height:14px;
        background:#ffffff;
    }
    nav li:hover:before,
    nav li:hover + li:before,
    nav li:last-child:hover:after,
    nav li li:before,
    nav li li:after {
        display:none;
    }
    nav li:last-child li {
        left:-50%;
    }
    nav li a {
        display:block;
        padding:10px 0;
        /*        color:#fff;*/
        color:#000;
        font-weight:bold;
        text-decoration:none;
    }
    nav li ul {
        position:absolute;
        top:100%;
        left:0;
        margin:0;
        padding:0;
        border-radius:0 0 3px 3px;
        z-index:3;
    }
    nav li ul li {
        overflow:hidden;
        width:150%;
        height:0;
        -moz-transition:.2s;
        -webkit-transition:.2s;
        -o-transition:.2s;
        -ms-transition:.2s;
        transition:.2s;
    }
    nav li li:first-child {
        width:150%;
    }
    nav li ul li a {
        padding:10px 15px;
        background:#dddddd;
        text-align:left;
        font-weight:normal;
    }
    nav li:hover > a {
        background:#dddddd;
        color:#fff;
    }
    nav li:hover > a:hover {
        background:#cccccc;
    }
    
    .showNav {
        background:#dddddd !important;
    }
    
    .showSub {
        overflow:visible;
        height:42px;
        border-bottom:2px solid #ffffff;
    }
    .showSub:last-child {
        border-bottom:0;
    }
    .showSub:last-child a {
        border-radius:0 0 3px 3px;
    }
    
    .fixed {
        position:fixed;
        top:0;
        left:0;
    }
}

/*================================================
 *  トピックパス（パンくずリスト）
 ================================================*/
#topicpath {
    font-size:12px;
    margin-bottom:20px;
    padding:2px;
    background:#f1f1f1;
}

/*================================================
 *  フッター
 ================================================*/
footer {
    clear:both;
}

.footmenu {
    width:100%;
    padding:20px 0;
    overflow:hidden;
    background:#efede9;
    
}
.footmenu ul {
    position:relative;
    float:left;
    left:50%;
    margin:0;
    padding:0;
}
.footmenu li {
    position:relative;
    left:-50%;
    float:left;
    list-style:none;
    margin:0;
    padding:0 15px;
    font-size:12px;
    text-align:center;
}
.footmenu a {
    color:#333;
    text-decoration:none;
}
.footmenu a:hover {
    color:#333;
    text-decoration:underline;
}

.copyright {
    clear:both;
    padding:20px 0;
    font-size:11px;
    text-align:center;
    color:#efede9;
    background:#2e2e2e;
}

/*================================================
 *  ページトップへの戻り
 ================================================*/
.totop {
    position:fixed;
    bottom:15px;
    right:15px;
}
.totop a {
    display:block;
    text-decoration:none;
}
.totop img {
    background:#cccccc;
}
.totop img:hover {
    /*    background:#900000;*/
    background:#900;
}

/*================================================
 *  クラス
 ================================================*/
.list {
    padding:0 0 0 0.5em;
}
.list li {
    margin:0;
    padding:0 0 0 15px;
    list-style:none;
    background:url(../images/check.png) 0 5px no-repeat;
}

.info dt {
    border-bottom:none;
}
.info dd {
    padding-bottom:1em;
    border-bottom:1px solid #ddd;
}

.col_two_one {
    overflow:hidden;
}

.col_two_one ul {
    overflow:hidden;
    margin:2% -2% 0 0;
}
.col_two_one li {
    list-style:none;
    float:left;
    width:48%;
    margin:0 2% 2% 0;
}
.col_two_one li:nth-child(2n+1) {
    clear:both;
}
.col_two_one li img {
    width:100%;
    margin-bottom:2.5%;
}

/*================================================
 *  スライドショー
 ================================================*/
/* スライドショー */
.slide {
    position:relative;
    overflow:hidden;
    margin:20px 0;
}

.slidePrev {
    position:absolute;
    cursor:pointer;
    z-index:2;
}

.slideNext {
    position:absolute;
    cursor:pointer;
    z-index:2;
}

.slidePrev img {
    position:absolute;
    width:50px !important;
    height:60px !important;
}

.slideNext img {
    position:absolute;
    width:50px !important;
    height:60px !important;
}

.slideInner {
    position:relative;
    margin:0 0 5px 0;
    padding:0;
}
.slideInner li {
    float:left;
    margin:0;
    padding:0;
    list-style:none;
}
.slideInner li img {
    margin:0 5px;
    padding:0;
}

.filterPrev {
    position:absolute;
    left:0;
    opacity:0.5;
    filter:alpha(opacity=50);
    background-color:#fff;
}

.filterNext {
    position:absolute;
    right:0;
    opacity:0.5;
    filter:alpha(opacity=50);
    background-color:#fff;
}

.controlNav {
    position:relative;
    float:left;
    left:50%;
}
.controlNav span {
    position:relative;
    left:-50%;
    float:left;
    margin:5px;
    -webkit-border-radius:5px;
    -moz-border-radius:5px;
    border-radius:5px;
    width:10px;
    height:10px;
    overflow:hidden;
    background:#ccc;
    text-indent:-9999px;
    vertical-align:middle;
}
.controlNav span:hover {
    background:#999;
    cursor:pointer;
}
.controlNav span.current {
    background:#900000;
}

/*================================================
 *  タブレット向けデザイン
 ================================================*/
/* スクロールバーを考慮して20px大きいサイズで切り替え */
@media screen and (max-width:979px) {
    .inner {
        width:100%;
    }
    
    #contents {
        box-sizing:border-box;
        width:100%;
        padding:0 10px;
    }
    
    footer {
        width:100%;
    }
}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:767px) {
    .lock {
        overflow:hidden;
        height:100%;
    }
    
    header {
        z-index:2;
        box-sizing:border-box;
        position:fixed;
        top:0;
        left:0;
        width:100%;
        padding:15px 10px;
    }
    
    .summary {
        position:relative;
        top:auto;
        right:auto;
        margin-top:15px;
    }
    
    #main {
        float:none;
        width:100%;
    }
    
    #sub {
        float:none;
        width:100%;
    }
    nav {
        background:#cccccc;
    }
    nav ul {
        margin:0;
        padding:0;
    }
    
    nav .inner > ul {
        z-index:2;
        overflow:auto;
        position:fixed;
        top:53px;
        right:0;
        width:100%;
        height:88%;
        height:-webkit-calc(100% - 53px);
        height:calc(100% - 53px);
    }
    nav li {
        position:relative;
        width:100%;
        float:none;
        margin:0;
        text-align:left;
        list-style:none;
        border-bottom:1px solid #ffffff;
        background:#eeeeee;
    }
    
    nav li:first-child {
        border-top:0;
    }
    nav li:last-child {
        border-bottom:0;
    }
    
    nav li a {
        display:block;
        padding:10px 30px;
        color:#fff;
        text-decoration:none;
        background:#eeeeee;
    }
    nav li a:hover {
        color:#fff;
        background:#cccccc;
    }
    nav ul ul {
        display:none;
        position:relative;
    }
    nav li li a {
        box-sizing:border-box;
        width:100%;
        padding:10px 30px 10px 50px;
        text-align:left;
    }
    
    .subnav > a:before {
        display:block;
        content:"";
        position:absolute;
        -webkit-transform:rotate(45deg);
        transform:rotate(45deg);
        top:20px;
        right:30px;
        width:10px;
        height:10px;
        margin-top:-5px;
        background:#f1f1f1;
    }
    .subnav > a:after {
        display:block;
        content:"";
        position:absolute;
        -webkit-transform:rotate(45deg);
        transform:rotate(45deg);
        top:20px;
        right:30px;
        width:10px;
        height:10px;
        margin-top:-10px;
        background:#eeeeee;
    }
    .subnav a:hover:after {
        background:#cccccc;
    }
    
    .active > a:before {
        margin-top:0;
    }
    .active > a:after {
        margin-top:5px;
    }
    
    #spMenu {
        z-index:2;
        position:fixed;
        top:10px;
        right:10px;
    }
    #spMenu:hover {
        cursor:pointer;
    }
    
    #navBtn {
        display:inline-block;
        position:relative;
        width:30px;
        height:30px;
        border-radius:5%;
        background:#cccccc;
    }
    #navBtnIcon {
        display:block;
        position:absolute;
        top:50%;
        left:50%;
        width:14px;
        height:2px;
        margin:-1px 0 0 -7px;
        background:#f1f1f1;
        transition:.2s;
    }
    #navBtnIcon:before,
    #navBtnIcon:after {
        display:block;
        content:'';
        position:absolute;
        top:50%;
        left:0;
        width:14px;
        height:2px;
        background:#f1f1f1;
        transition:0.3s;
    }
    #navBtnIcon:before {
        margin-top:-6px;
    }
    #navBtnIcon:after {
        margin-top:4px;
    }
    #navBtn .close {
        background:transparent;
    }
    #navBtn .close:before,
    #navBtn .close:after {
        margin-top:0;
    }
    #navBtn .close:before {
        transform:rotate(-45deg);
        -webkit-transform:rotate(-45deg);
    }
    #navBtn .close:after {
        transform:rotate(-135deg);
        -webkit-transform:rotate(-135deg);
    }
    
    .col_two_one ul {
        margin-right:0;
    }
    .col_two_one li {
        width:100%;
    }
    .col_two_one li:nth-child(2n+1) {
        clear:both;
    }
}

/*================================================
 *  NW追加
 ================================================*/
.img_center {
    text-align: center;
}

.img_right {
    text-align: right;
}


.float_left {
    float:left;
    padding-right: 1em;
    padding-bottom: 1em;
}

/* ブロックの枠を囲む */
.boxedArticle {
    border-width: 1px;
    padding: 10px 5px 10px 20px;
    background-color: #e5e4e6;
    width: 95%;
    border-radius: 10px;
}

.boxedCaution {
    border-style: solid;
    border-color: #c89932;
    border-width: 10px;
    padding: 20px 5px 20px 20px;
    background-color: #e5e4e6;
    width: 93%;
    border-radius: 10px;
}

.test {
    font-size: 30pt;
}
.test p {
    color: green;
}

textarea.custumSize {
    width:90%;
    height:240px;
}

/* ++ コンタクト */
#formWrap {
    /*    width:700px;*/
    width:640px;
    margin:0 auto;
    color:#555;
    line-height:120%;
    font-size:90%;
}

#formWrap .formTable {
    width:100%;
    margin:0 auto;
    border-collapse:collapse;
}
#formWrap .formTable td, #formWrap .formTable th{
    border:1px solid #ccc;
    padding:10px;
    text-align:left;
}
#formWrap .formTable th{
    width:30%;
    font-weight:normal;
    background:#efefef;
    text-align:left;
}
/* -- コンタクト */


/* ++ iOS App 表示 */
table.app_table {
    width: 70%;
    margin-left:auto;
    margin-right:auto;
    border: none;
}

table.app_table th, td {
    background:#fff;
    text-align:center;
    width:auto;
    padding:2px 20px;
    border: none;
}
/* -- iOS App 表示 */

/* ++ SNS アイコン表示 */
.sns_icons_table {
    border-collapse: collapse;
    width: 100px;
    margin-left : auto ;
    margin-right : 0 ;
    border: none;
}

.sns_icons_table td {
    text-align: center;
    vertical-align: middle;
}
/* -- SNS アイコン表示 */


/* ++ スタッフ表示テーブル */
.staff_picture_mobile {
    display:none;
}

.staff_table {
    border-collapse: collapse;
    width: 80%;
    margin-left : auto ;
    margin-right : auto ;
    border: none;
}

.staff_table td {
    /*    padding: 100px 50px 30px 0;*/
    padding-top: 2em;
    padding-bottom: auto;
    text-align: left;
    font-size: 85%;
    vertical-align: top;
}

.staff_table td.staff_name {
    font-size:100%;
    padding: 0.75em 4px 4px 5px;    /* top right bottom left */
    font-weight: bold;
    line-height: 100%;
    vertical-align: bottom;
    border-left: 3px solid #acbbc1;
    border-bottom: 10px solid #acbbc1;
    color:#190808;

}

.staff_table td.staff_picture {
    text-align: center;
    padding-top: 0em;
    vertical-align: top;
}

.staff_table td.staff_body {
    padding-top: 1.5em;
    vertical-align: top;
    border-left: 3px solid #f00;
    border: none;
}
/* -- スタッフ表示テーブル */

/* ++ アプリサポートページ（MoonBearing_support.html等、iOSアプリ制作の各アプリ用サポートページで共通利用） */
.app-header {
    display: flex;
    align-items: center;
    gap: 24px;
    margin: 20px 0 28px 0;
}
.app-header img {
    border-radius: 22px;
    flex-shrink: 0;
}
.app-header-info h1 {
    margin-bottom: 4px;
    padding: 0;
    border: none;
}
.app-header-info .subtitle {
    font-size: 15px;
    color: #666;
    margin-bottom: 12px;
}
.appstore-btn img {
    height: 40px;
}
.feature-section {
    margin: 28px 0;
}
.feature-section h2 {
    font-size: 18px;
    color: #333;
    border-top: 3px solid #cccccc;
    padding: 10px 0 6px 0;
    margin-bottom: 12px;
}
.feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 0 8px;
}
.feature-list li {
    /* 上方の `ul li { list-style:disc }` が li に直接効くため、ここでも打ち消す。
       `.feature-list { list-style:none }` は ul にしか効かず、li のマーカーが
       残って ::before の「•」と二重になっていた。 */
    list-style: none;
    padding: 5px 0 5px 1.5em;
    text-indent: -1.5em;
    line-height: 1.7;
}
.feature-list li::before {
    content: "• ";
    color: #4a90d9;
    font-weight: bold;
}
.lang-list {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 8px 0;
}
.lang-badge {
    background: #e8f0fb;
    color: #2c5aa0;
    padding: 3px 12px;
    border-radius: 12px;
    font-size: 13px;
}
.faq-item {
    margin: 14px 0;
}
.faq-item dt {
    font-weight: bold;
    color: #333;
    margin-bottom: 4px;
}
.faq-item dd {
    margin-left: 1em;
    color: #555;
    line-height: 1.7;
}
/* サポートページ本文（#main の中身）は明るい背景。グローバルの
   `strong { color:#ffffff }`（暗い背景セクション用）をそのまま食らうと
   白抜きで読めなくなるため、#main 内の strong は色を戻す。
   `<strong>` を本文で使っているのはアプリサポートページ群だけなので、
   #main 一括でよい（`.premium-box strong` は同値の個別指定なので影響なし）。 */
#main strong {
    color: #2c5aa0;
}
/* リセットで `code` の装飾が消えるため、サポートページ用に等幅＋薄い背景を付ける。 */
#main code {
    font-family: "SFMono-Regular", Menlo, Consolas, monospace;
    background: #f0f0f0;
    padding: 1px 5px;
    border-radius: 3px;
    font-size: 0.9em;
}
.contact-box {
    background: #f4f8ff;
    border: 1px solid #c8d8f0;
    border-radius: 6px;
    padding: 16px 20px;
    margin: 20px 0;
}
.contact-box p {
    margin: 4px 0;
}
.divider {
    border: none;
    border-top: 1px solid #e0e0e0;
    margin: 28px 0;
}
.cruise-lines {
    background: #f8f8f8;
    border-left: 4px solid #4a90d9;
    padding: 12px 16px;
    margin: 12px 0;
    font-size: 13px;
    line-height: 1.8;
    color: #444;
}
.premium-box {
    background: #f8f8f8;
    border-left: 4px solid #4a90d9;
    padding: 12px 16px;
    margin: 12px 0;
    font-size: 13px;
    line-height: 1.8;
    color: #444;
}
.premium-box strong {
    color: #2c5aa0;
}
/* -- アプリサポートページ */

