@charset "UTF-8";

/* ▼ css reset ▼ */
div, article, section, header, nav, footer, figure, asid, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, th, td { margin: 0; padding: 0; }

img { border: 0; outline: none; /* width: 100%; */ }

table { border-collapse: collapse; border-spacing: 0; line-height: 100%;}

address, caption, cite, code, dfn, abbr, em, strong, th, var { font-style: normal; font-weight: normal; }

/* ▲ css reset ▲ */

/*****************************************************/
/* ▼ default ▼ */
/*****************************************************/
html {
	/* font-size: 100%  = 16px = 1em */
	/* font-size: 87.5% = 14px = 0.875em */
	/* font-size: 75%   = 12px = 0.75em */
	/* font-size: 62.5% = 10px = 0.625em */
	font-size: 100%;
	line-height: 1.75;
	letter-spacing: 0.04em;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	}

	@media screen and (max-width: 575px) {
		html {
			font-size: 87.5%;
			line-height: 1.5;
		}
	}

body {
	margin: 0;
	padding: 0;
	font-family: 'UD Shin Go NT Regular','ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'HiraKakuProN-W3', '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'Meiryo', 'メイリオ', Osaka, 'MS PGothic', 'ＭＳ Ｐゴシック', sans-serif;
	color: #202020;
	text-align: left;
	background-color: #fff!important;
	}

p,li{
	/* font-family: "UD Shin Go NT Regular"; */
	rotate:0.05deg;
}

p:not(.mac_content_txt) {
	font-size: 1rem;
	line-height: 1.75;
    margin-top: 1rem!important;
	margin-bottom: 1rem!important;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	clear: both;
	font-family: "リュウミン B-KL JIS2004", "Noto Serif JP", serif;
	font-weight: bold;
	color: #005d8c;
    margin-top: 1rem;
	margin-bottom: 1rem;
	}

a { transition: 0.5s; }

/*****************************************************/
/* ▲ default ▲ */
/*****************************************************/
/* ▼ WordPressデフォルトパーツ ▼ */
ul,ol,blockquote,.wp-block-image,.wp-block-gallery,.wp-block-embed {
    margin-top: 2.5rem;
	margin-bottom: 2.5rem;
}

ul li,ol li {
	margin-bottom: 1rem;
}

.wp-block-table {
	margin: 2.5rem 0;
}

.wp-block-table td,.wp-block-table th {
    padding: 16px 10px!important;
    line-height: 1.75;
}

.wp-block-separator {
    margin: 30px 0;
}

.wp-block-file a:not(.wp-block-file__button) {
    color: #005d8c;
}

.wp-block-file a:not(.wp-block-file__button):hover {
    opacity: .5;
}

.wp-block-button a.wp-block-button__link,
.wp-block-file a.wp-block-file__button {
    background-color: #005d8c;
    border: 1px solid transparent;
}

.wp-block-button a.wp-block-button__link:hover,
.wp-block-file a.wp-block-file__button:hover {
    background-color: #fff;
    border-color: #005d8c;
    opacity: 1;
}

.wp-block-accordion-heading .wp-block-accordion-heading__toggle {
    background-color: #f5f5f5;
}

ul.wp-block-list {
    list-style: disc;
    padding-left: 1rem;
}

/* ▲ WordPressデフォルトパーツ ▲ */

/*****************************************************/
/* ▼ loader ▼ */
/*****************************************************/
#loader-bg {
	background-color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1000000000;
	}

#loader {
	/* display: none; */
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 130px;
	height: 130px;
	text-align: center;
	}
/*****************************************************/
/* ▲ loader ▲ */
/*****************************************************/

.transition {
	-webkit-transition: all 500ms linear;
	-moz-transition: all 500ms linear;
	-o-transition: all 500ms linear;
	-ms-transition: all 500ms linear;
	transition: all 500ms linear;
	}
	
/* TOPに戻るボタン */
#scroll-top {
    position: fixed;
    right: 1.25rem;
    bottom: 4.375rem;
    z-index: 21;
	}

#scroll-top a {
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    width: 5rem;
    height: 5rem;
	background-color: rgba(0,93,140,.6);
	}

#asuka2-style #scroll-top a {
	background-color: rgba(171,149,29,.6);
}

#asuka2-style #scroll-top a:hover {
	background-color: rgba(171,149,29,1);
}

#scroll-top a:hover {
	background-color: rgba(0,93,140,1);
}

#scroll-top a:after {
	border-radius: 50%;
	}

#scroll-top a span {
	margin-bottom: 8px;
	}

#scroll-top i {
	color: #fff;
	font-size: 1.875rem;
	position: relative;
	z-index: 100;
	}

@media (max-width:991px) {
#scroll-top a {
    width: 3.75rem;
    height: 3.75rem;
	}

#scroll-top i {
	font-size: 1.5rem;
	}	
}

@media (max-width:575px) {
#scroll-top {
    right: 1.42rem;
	}

#scroll-top a {
    width: 3.571rem;
    height: 3.571rem;
	}

#scroll-top i {
	font-size: 1.42rem;
	}	
}

/* header */
.siteHeader {
	align-items: center;
    box-sizing: border-box;
    display: flex;
    font-size: 1rem;
    height: 70px;
    left: 50%;
    margin-left: auto;
    margin-right: auto;
    position: fixed;
    top: 0;
    transform: translate(-50%);
    transition: background-color .3s cubic-bezier(.215,.61,.355,1);
    width: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	/* ▼▼ 追加：境界線を消すための影 ▼▼ */
    /* 下方向に1pxだけ、背景と同じ色の影を落とす */
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    /* ▼▼ 重要：メニューの上に影を落とすために重なり順を上げる ▼▼ */
    z-index: 1000;   /* メニュー(z-index:99)より大きくする */
}

.siteHeader .header_container {
	width: 1320px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width:1400px) {
	.siteHeader .header_container {
		width: 100%;
		margin-left: 3.9%;
		margin-right: 3.9%;
	}
}

.site-header-logo {
	display: block;
    background-repeat: no-repeat;
    background-size: contain;
    /* height: 38px; */
    width: 350px;
}

.site-header-logo:hover {
    opacity: .4;
}

.site-header-logo img {
    max-width: 100%;
}

@media (max-width:767px) {
    .siteHeader {
        height: 65px;
    }
    .site-header-logo {
        width: 300px;
    }
}

@media (max-width:576px) {
    .siteHeader {
        height: 60px;
    }
    .site-header-logo {
        width: 280px;
    }
}

/* フッター */
/* footer前コンテンツ */
.f-pagelink {
    color: #fff;
    text-align: center;
    padding: 48px 0;
    background-color: #005D8C;
    overflow: hidden;
    position: relative;
}

.f-pagelink::before {
    content: "";
    position: absolute;
    top: 0;
    right: -50px;
    width: 80%;
    height: 100%;
    background-image: url('../images/footer/footerLink_image.jpg');
    background-size: cover;
    background-position: right bottom;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 1%, black 15%);
    mask-image: linear-gradient(to right, transparent 0%, transparent 1%, black 15%);
}

.f-pagelink > * {
    position: relative;
    z-index: 1;
}

.f-topPagelink {
    margin-top: 48px;
}

.f-pagelink_logo {
    text-align: left;
    margin-bottom: 1rem;
}

.f-pagelink_logo a:hover {
    opacity: .4;
}

.f-pagelink_logo img {
    max-width: 350px;
}

@media (max-width:1200px){
    .f-pagelink_logo {
        text-align: center;
    }
}

.pagelink_wrap {
    display: flex;
    width: 100%;
    gap: 60px;
    margin-bottom: 50px;
}

.f-pagelink .pagelink {
    margin: 0;
    text-align: left;
}

.f-pagelink .pagelink li a,
.f-topPagelink a,
.ex_pagelink li span a {
    color: #fff;
    text-decoration: none;
    position: relative;
}

.f-pagelink .pagelink li a::before,
.f-topPagelink a::before,
.ex_pagelink li span a::before {
    background: #fff;
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -4px;
    transform-origin: left top;
    transform: scale(0, 1);
    transition: transform .5s;
}

.pagelink_subUl {
    padding-left: 1.75rem;
    margin-top: 1rem;
}

.ex_pagelink {
    margin: 0;
    text-align: left;
}

.ex_pagelink li,
.f-pagelink .pagelink li {
    margin-bottom: 1rem;
}

.f-pagelink .pagelink li:last-child,
.ex_pagelink li:last-child {
    margin-bottom: 0;
}

.pagelink_li_tit {
    display: inline-block;
}

.pagelink_li_tit::before,
.ex_pagelink li span::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    margin-bottom: 3px;
    margin-right: 8px;
    background-color: #99BED1;
}

.pagelink_subUl li span::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 3px;
    margin-bottom: 4px;
    margin-right: 8px;
    background-color: #99BED1;
    border-radius: 1.5px;
}

.f-pagelink .pagelink li a:hover::before,
.f-topPagelink a:hover:before,
.ex_pagelink li span a:hover::before {
    transform: scale(1, 1);
}

.ex_pagelink li span .bi-box-arrow-up-right {
    margin-left: 8px;
    display: inline-block;
    vertical-align: top;
    margin-top: -1px;
    color: #99BED1;
}

.f-pl_attention {
    text-align: left;
    margin-bottom: 0;
    color: #cbcacb;
}

@media (min-width:1201px) {
    .f-pagelink::before {
        width: 72%;
        -webkit-mask-image: linear-gradient(to right, transparent 0%, black 12%);
        mask-image: linear-gradient(to right, transparent 0%, black 12%);
    }
}

@media (max-width:1200px) {
    .f-pagelink {
        background-color: #005D8C;
        display: flex;
        flex-direction: column-reverse;
        padding-bottom: 0;
    }

    .pagelink_wrap {
        justify-content: center;
    }

    .f-pl_attention {
        text-align: center;
    }
    
    .f-pagelink::before {
        width: 100%;
        position: relative;
        right: 0;
        display: block;
        aspect-ratio: 750 / 245;
        margin-top: 10px;
        background-position: bottom center;
        -webkit-mask-image: linear-gradient(to bottom, transparent 10%, black 50%);
        mask-image: linear-gradient(to bottom, transparent 10%, black 50%);
    }
}

@media (max-width:576px) {
    .pagelink_wrap {
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
        margin-left: auto;
        margin-right: auto;
        width: fit-content;
    }
    .f-pagelink .pagelink {
        display: flex;
        gap: 2rem;
    }
    .ex_pagelink {
        width: 100%;
    }

    .f-pagelink::before {
        aspect-ratio: 750 / 281;
        -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 40%);
        mask-image: linear-gradient(to bottom, transparent 0%, black 40%);
    }
}

/* footer */
#footer:not(.site-footer) .f-inner {
	padding: 55px 0 14px;
    position: relative;
    z-index: 2;
    background-color: #fff;
}

#footer .sns_area {
	margin-bottom: 45px;
    display: flex;
    justify-content: center;
}

#footer .sns_area li {
    margin: 0 15px;
    transition: opacity .5s;
}

#footer .sns_area li:hover {
    opacity: .7;
}

#footer .sns_area li a {
    width: 50px;
    height: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background-color: #303030;
    color: #fff;
    font-size: 1.875rem;
}

@media (max-width:575px) {
    #footer .sns_area li {
        margin: 0 10px;
    }
    #footer .sns_area li a {
        width: 45px;
        height: 45px;
        font-size: 1.75rem;
    }    
}

#footer .btm-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#footer .btm-box .l-box {
    margin-right: 10px;
    flex: 1;
    display: flex;
    align-items: center;
}

#footer .btm-box .f-logo {
    margin: 0 5px 0 -30px;
}

#footer .btm-box .l-box p, #footer .btm-box .copyright {
    font-family: "UD Shin Go NT Medium";
}

#footer .btm-box .l-box p {
    flex: 1;
    max-width: 370px;
    font-size: .875rem;
    min-width: 300px;
    margin-bottom: 0;
}

#footer .btm-box .copyright {
    width: 33%;
    font-size: .75rem;
    text-align: right;
    white-space: nowrap;
}

@media (max-width:1079px) {
    #footer .btm-box {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width:991px) {
    #footer .btm-box .l-box {
        flex-direction: column;
        margin: 0 0 15px;
    }

    #footer .btm-box .f-logo {
        margin: 0 0 20px;
    }

    #footer .btm-box .f-logo img {
        width: 300px;
    }
    #footer .btm-box .l-box p {
        margin: 0 auto;
        max-width: 345px;
        font-size: .825rem;
        min-width: inherit;
    }
    #footer .btm-box .copyright {
        width: auto;
        text-align: center;
    }
}

/* 飛鳥LP用カスタム */
#content h1,#content h2,#content h3,#content h4,#content h5,#content h6 {
	margin: 0;
}

#asuka2-style a:not(.menu-link_ul a,.cruise-btn a,.lp-link_btn a,.lpAsuka_btn a,#footer .sns li a,.ex_cruise_btn a,.v_macBtn a,#footer .sns_area li a,.f-pagelink .pagelink li a,.ex_pagelink li span a):hover {
	color: #ab951d;
}

a:not(.menu-link_ul a,.cruise-btn a,.lp-link_btn a,.lpAsuka_btn a,#footer .sns li a,.ex_cruise_btn a,.v_macBtn a,#footer .sns_area li a,.f-pagelink .pagelink li a,.ex_pagelink li span a):hover {
	color: #005d8c;
}

#wpadminbar {
  display: none;
}
html {
	scroll-behavior: auto!important;
	margin-top: 0!important;
	overflow-x: hidden;
}

html:has(body.modal-open) {
	overflow: inherit;
}

.ly_content {
	background-color: transparent;
    /* border-bottom: 1px solid #ccc; */
}

@media (max-width:1400px){
	.ly_content_pad {
		padding-left: 3.9%;
		padding-right: 3.9%;
	}
}

.un_body {
	background-color: #fff;
    /* margin-top: -40px; */
    margin-bottom: 80px;
    padding-top: 80px;
    padding-bottom: 80px;
    padding-left: 30px;
    padding-right: 30px;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    /* position: relative; */
}

.un_body_container {
	margin-left: auto;
    margin-right: auto;
    max-width: 1400px;
    width: 81.35%;
}

@media screen and (max-width: 767px) {
    .un_body_container {
        margin-left: auto;
        margin-right: 3.33333vw;
        width: 86.66667vw;
    }
}

/* コンテンツサイズの際の各コンテンツ余白 */

/* 見出しデザイン */
#content h2,#content h3,#content h4,#content h5,#content h6 {
	text-align: center;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.52;
	/* margin-bottom: 40px; */
}

#content .gcb_lp-tit {
  display: flex;             /* Flexboxを有効化 */
  align-items: center;       /* 垂直方向の中央揃え */
  justify-content: center;   /* 水平方向の中央揃え */
  text-align: center;
  font-family: "リュウミン B-KL JIS2004", "Noto Serif JP", serif;
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1.52;
  margin-top: 60px;
  margin-bottom: 40px;
}

#content h3,#content h3.gcb_lp-tit{
    margin-top: 52.5px;
	margin-bottom: 35px;
}

#content h4,#content h4.gcb_lp-tit {
    margin-top: 45px;
	margin-bottom: 30px;
}

#content h5,#content h5.gcb_lp-tit {
    margin-top: 37.5px;
	margin-bottom: 25px;
}

#content h6,#content h6.gcb_lp-tit {
    margin-top: 30px;
	margin-bottom: 20px;
}

#asuka2-style #content h2:not(.mainimg-title),#asuka2-style #content h3,#asuka2-style #content h4:not(.cruise-tit),#asuka2-style #content h5,#asuka2-style #content h6,#asuka2-style #content .gcb_lp-tit,#asuka2-style #content .wp-block-heading {
	color:#897717;
}

#asuka3-style #content h2:not(.mainimg-title),#asuka3-style #content h3,#asuka3-style #content h4:not(.cruise-tit),#asuka3-style #content h5,#asuka3-style #content h6,#asuka3-style #content .gcb_lp-tit,#asuka3-style #content .wp-block-heading {
	color:#005d8c;
}

/* ボーダー（線）の設定 */
#content .gcb_lp-tit::before,
#content .gcb_lp-tit::after {
  content: '';
  display: block;
  height: 1px;              /* 線の太さ */
  background-color: #d5ca8e; /* 線の色 */
  width: 60px;              /* 線の基本幅 */
  min-width: 40px;          /* スマートフォンなどで幅が狭くなりすぎないための最小幅 */
  flex-shrink: 1;           /* 画面が狭い時に線を縮めることを許可 */
}

#asuka2-style #content .gcb_lp-tit::before,
#asuka2-style #content .gcb_lp-tit::after {
  background-color: #d5ca8e; /* 線の色 */
}

#asuka3-style #content .gcb_lp-tit::before,
#asuka3-style #content .gcb_lp-tit::after {
  background-color: #99bed1; /* 線の色 */
}

/* テキストと線の間の余白 */
#content .gcb_lp-tit::before {
  margin-right: 20px;       /* 左の線とテキストの間の余白 */
}

#content .gcb_lp-tit::after {
  margin-left: 20px;        /* テキストと右の線の間の余白 */
}

/* spanタグのスタイルリセット（念の為） */
#content .gcb_lp-tit span {
  display: block;           /* 複数行になった場合の挙動を安定させる */
  padding: 0;               /* 元のパディングをリセット */
}

#content h3.gcb_lp-tit:before,
#content h3.gcb_lp-tit:after {
	width: 3.75rem;
}

#content h4.gcb_lp-tit:before,
#content h4.gcb_lp-tit:after {
	width: 3.125rem;
}

#content h5.gcb_lp-tit:before,
#content h5.gcb_lp-tit:after {
	width: 2.5rem;
}

#content h6.gcb_lp-tit:before,
#content h6.gcb_lp-tit:after {
	width: 1.875rem;
}

/* レスポンシブ */
@media (max-width:767px){
	#content .gcb_lp-tit {
        margin-top: 48px;
		margin-bottom: 32px;
	}
	h3,#content,#content h3.gcb_lp-tit {
        margin-top: 42px;
		margin-bottom: 28px;
	}
	#content h4,#content h4.gcb_lp-tit {
        margin-top: 36px;
		margin-bottom: 24px;
	}
	#content h5,#content h5.gcb_lp-tit {
        margin-top: 30px;
		margin-bottom: 20px;
	}
	#content h6,#content h6.gcb_lp-tit {
        margin-top: 24px;
		margin-bottom: 16px;
	}
}

@media (max-width:576px) {
	#content .gcb_lp-tit {
        margin-top: 37.5px;
		margin-bottom: 25px;
	}

	h3,#content,#content h3.gcb_lp-tit,
	#content h4,#content h4.gcb_lp-tit,
	#content h5,#content h5.gcb_lp-tit {
        margin-top: 30px;
		margin-bottom: 20px;
	}

	#content h3, #content h3.gcb_lp-tit {
		flex-direction: column;
	}
	#content h3.gcb_lp-tit {
		flex-direction: column;
	}

	#content h3.gcb_lp-tit span {
		padding: 1rem 0;
	}

	#content h3.gcb_lp-tit:before,
	#content h3.gcb_lp-tit:after {
		width: 100%;
		margin: 0;
	}

	#content h4.gcb_lp-tit:before,
	#content h4.gcb_lp-tit:after {
		width: 40px;
	}
}


/* ▲ 見出しデザイン ▲ */
.lp_paragraph,
.gcb_lp-text{
	font-size: 1rem;
    letter-spacing: .04em;
    line-height: 2.21;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

@media (max-width:767px){
	.lp_paragraph,
	.gcb_lp-text{
		line-height: 2;
	}
}

.scrSlideWidth--left {
    left: 0;
    right: auto;
}

.scrSlideWidth {
    height: 100%;
    overflow: hidden;
    width: 0;
    will-change: width;
}

.un_module_soloImg_core {
    background-position: 50% 50%;
    background-size: cover;
}

.un_module_soloImg_cap {
    font-size: .8125rem;
    line-height: 1.615;
    margin-top: 1.125rem;
}

.un_module_halfCapImg {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: max(0px, min(2.77778vw, 40px)) max(0px, min(1.66667vw, 24px));
    margin-bottom: 60px;
}

.un_module_halfCapImg_img {
    max-width: 468px;
    position: relative;
    width: 48.75%;
}

.un_module_halfCapImg_core {
    /* background-size: contain; */
    background-size: cover;
    height: auto;
}

.un_module_halfCapImg_cap {
    font-size: .8125rem;
    line-height: 1.615;
    margin-top: 18px;
}

.un_module_txtImg {
	display: flex;
    justify-content: space-between;
    margin-bottom: 100px;
}

.un_module_txtImg_txt {
	font-size: 1.125rem;
    line-height: 1.75;
    margin-top: -3px;
    /* max-width: 468px; */
    width: 48.75%;
}

.un_module_txtImg_img {
	/* max-width: 468px; */
    position: relative;
    width: 48.75%;
}

.un_module_txtImg_img_core {
	background-position: 50% 50%;
    background-size: cover;
}

.un_module_txtImg_img_inner .lzb-modal-trigger {
	transition: .5s;
}

.un_module_txtImg_img_inner:hover .lzb-modal-trigger {
	transform: scale(1.075);
	cursor: pointer;
}

.un_module_txtImg_img_inner.lp_img {
    margin-top: 2.5rem;
	margin-bottom: 2.5rem;
}

.un_module_txtImg_img_inner.lp_img .lp-img-cap {
	margin: 1rem 0 0;
	font-size: .75rem;
}

.ly_content_size {
    margin-left: auto;
    margin-right: auto;
    max-width: 1320px;
    position: relative;
	margin-top: 80px;
}

.ly_content > .ly_content_size:first-child {
	margin-top: 0;
}

/* メイン画像の追加CSS */
/* ------------------------------------ */
/* ★追加: 3. 背景固定が無効の場合 */
/* ( .mainimg-is-disabled ) */
/* ------------------------------------ */
#mainimg.mainimg-is-disabled {
    position: relative; /* 固定しない */
    z-index: 1; /* 本文よりは手前（重なる場合） */
    height: 100vh; /* FVとして100vhは維持 */
	padding: 0;
}
.mainimg-is-disabled .un_mainimg {
    position: absolute; /* 親(100vh)に追従 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
}
/* この場合、.content-starts-below-fv は付かないので、
   本文は通常通りFV(#mainimg)のすぐ下に配置されます。 */

/* ------------------------------------ */
/* 1. FVと背景が別々の場合 (main-bgが設定されている時) */
/* ( .mainimg-is-separate ) */
/* ------------------------------------ */
/* (前回のコードと同じ - 変更なし) */
.fixed-scroll-background {
    position: fixed;
    top: 0;
	left: 0;
    width: 100vw;
	height: 100vh;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    z-index: 0;
	filter: grayscale(.5);
}
#mainimg.mainimg-is-separate {
    position: relative; 
    z-index: 1;
    height: 100vh;
	padding: 0;
}
.mainimg-is-separate .un_mainimg {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-size: cover;
    background-position: center center;
}

/* ------------------------------------ */
/* 2. シームレスの場合 (FVがそのまま固定背景になる時) */
/* ( .mainimg-is-seamless ) */
/* ------------------------------------ */
/* (前回のコードと同じ - 変更なし) */
#mainimg.mainimg-is-seamless {
    position: fixed;
    top: 0;
	left: 0;
    width: 100vw;
	height: 100vh;
    z-index: 0;
	padding: 0;
	transition: .5s;
}
.mainimg-is-seamless .un_mainimg {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-size: cover;
    background-position: center center;
}

.page-real-content.content-starts-below-fv {
    margin-top: 100vh;
}

/* ------------------------------------ */
/* 共通設定 (変更なし) */
/* ------------------------------------ */
#mainimg {
    width: 100vw;
    height: 100vh;
    padding: 0!important;
}
.page-real-content {
    position: relative;
    /* z-index: 1; */
    /* background-color: #fff; */
}
.mainImg_size {
    position: relative;
    width: 100%;
    height: 100%;
}

.un_mainimg {
	width: 100%;
	height: 100%; 
    background-size: cover;
	background-position: center center;
}

/* ------------------------------------ */
/* ★追加: Bootstrapスライダーの調整 */
/* ------------------------------------ */
#mainFvSlider.carousel {
	margin:0;
}
#mainFvSlider .carousel-item img {
    object-fit: cover; /* 画像を歪ませずに要素いっぱいに表示（重要） */
    object-position: center center;
    width: 100%;
    height: 100%;
}

#mainFvSlider.carousel-fade .carousel-item {
    /* デフォルトは 0.6s です */
    /* transition-duration: 1.5s;  */
    /* もし transition-timing-function も変える場合（オプション） */
    transition: opacity 1.5s ease-in-out;
}

/* その他追加 */
#mainimg.mainimg-is-disabled+.page-real-content+#content-body {
	padding-top: 120px;
}

#mainimg.mainimg-is-seamless.grayscale {
	filter: grayscale(.5);
}

/* メイン画像テキスト */
.mainimg_text {
	position: fixed;
	z-index: 1;
	transition: opacity .5s;
}

/* 背景画像が選択されている場合にタイトルが二重で表示される点の改善 */
.fixed-scroll-background:has(+ #mainimg) .mainimg_text {
  display: none;
}

/* ▼ ラジオボタンによるテキスト位置の変更 ▼ */
.mainimg_text.rightup {
    top: 19%;
    right: 5%;
}
.mainimg_text.rightcenter {
    top: 50%;
    right: 5%;
	transform: translateY(-50%);
}
.mainimg_text.rightbtm {
    bottom: 10%;
    right: 5%;
}
.mainimg_text.leftup {
    top: 19%;
    left: 5%;
}
.mainimg_text.leftcenter {
    top: 50%;
    left: 5%;
	transform: translateY(-50%);
}
.mainimg_text.leftbtm {
    bottom: 10%;
    left: 5%;
}
.mainimg_text.center {
    top: 50%;
    left: 50%;
	transform: translate(-50%,-50%);
}

.mainimg_text .mainimg_icon {
    display: inline-block;
    font-family: リュウミン M-KL JIS2004, "Noto Serif JP", serif;
    padding: 5px 24px;
    color: #fff;
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 20px;
	background-color: #202020;
}

#asuka2-style .mainimg_text .mainimg_icon {
	background-color: #ab951d;
}

#asuka3-style .mainimg_text .mainimg_icon {
	background-color: #005d8c;
}

#content h2.mainimg-title {
	font-size: 3rem;
	text-align: left;
}

#content .mainimg_text.rightup h2.mainimg-title,
#content .mainimg_text.rightcenter h2.mainimg-title,
#content .mainimg_text.rightbtm h2.mainimg-title {
	text-align: right;
}


h2.mainimg-title,.catch-copy {
	color:#fff;
	font-family: リュウミン M-KL JIS2004, "Noto Serif JP", serif;
	font-weight: bold;
}

#content .mainimg_text.rightup,
#content .mainimg_text.rightcenter,
#content .mainimg_text.rightbtm {
	text-align: right;
}

h2.mainimg-title.shadow-black,
.catch-copy.shadow-black {
	text-shadow: 2px 2px 6px rgba(51, 51, 51, .8);
}

h2.mainimg-title.shadow-white,
.catch-copy.shadow-white {
	text-shadow: 2px 2px 6px rgba(255, 255, 255, .8);
}

#content h3 {
	font-size: 1.875rem;
}

/* レスポンシブ */
@media (max-width:767px) {
	#content h2.mainimg-title {
		font-size: 2rem;
	}
	#content h3 {
		font-size: 1.75rem;
	}
}

@media (max-width:575px) {
	#content h2.mainimg-title {
		font-size: calc(1.325rem + .9vw);
		text-align: center;
	}

	#content h3 {
		font-size: calc(1.3rem + .6vw);
	}

	#content .mainimg_text.rightup,
	#content .mainimg_text.rightcenter,
	#content .mainimg_text.rightbtm {
		text-align: left;
	}

	#content .mainimg_text.rightup h2.mainimg-title,
	#content .mainimg_text.rightcenter h2.mainimg-title,
	#content .mainimg_text.rightbtm h2.mainimg-title,
	#content .mainimg_text.rightup .catch-copy,
	#content .mainimg_text.rightcenter .catch-copy,
	#content .mainimg_text.rightbtm .catch-copy {
		text-align: center;
	}
}

/* ▲ ラジオボタンによるテキスト位置の変更 ▲ */
/* ▼ メインコンテンツまで来たらタイトルを非表示 ▼ */
.mainimg_text.hidden {
	opacity: 0;
	pointer-events: none;
}

/* ▲ メインコンテンツまで来たらタイトルを非表示 ▲ */

.serif {
	font-family: "リュウミン M-KL JIS2004", "Noto Serif JP", serif;
    font-weight: 600;
}


#content-body {
	/* padding-top: max(0px, min(56.25vw, 810px)); */
	padding-top: clamp(100px, 28vw, 150px);
	padding-bottom: 0;
}

/* #mainimg.mainimg-is-separate+.page-real-content+#content-body {
	padding-top: max(0px, min(56.25vw, 400px));
} */

/* ▼ コンテンツ内リンクメニュー ▼ */
.menu-link_ul {
	width: 100%;
    /* background-color: rgba(0,0,0,.2); */
	background-color: rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
    position: fixed;
    left: 0;
    bottom: 0;
	z-index: 99;
}

.menu-link_ul ul{
	margin-left: auto;
    margin-right: auto;
	margin-bottom: 0;
    max-width: 1320px;
    display: flex;
    text-align: center;
    list-style: none;
    justify-content: center;
}

.menu-link_ul.menuFixed {
    bottom: auto;
    top: 68px;
	animation: fixedMenu .5s linear;
	z-index: 99;
}

.menu-link_ul ul li {
	width: 100%;
	/* height:4.375rem; */
    margin: 0;
}

.menu-link_ul ul li a {
	display: flex;
	flex-direction: column;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    position: relative;
    padding: 4px 0;
	font-size: 1.125rem;
	height: 100%;
}

.menu-link_ul ul li a span.menu-text-inner {
	border-left: 1px solid #fff;
    display: flex;
    padding: 1rem 5px;
    padding-bottom: 1.25rem;
	height: 100%;
    flex-direction: column;
    justify-content: center;
}

.menu-link_ul ul li:last-child a span.menu-text-inner {
	border-right: 1px solid #fff;
}

.menu-link_ul ul li a span.menu-arrow {
    display: block;
    width: 100%;
    transition: .3s;
    opacity: 0;
    text-align: center;
	transform: translateY(-10px);
}

.menu-link_ul ul li a span.menu-arrow::before,
.menu-link_ul ul li a span.menu-arrow::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(50% - 0.5px);
	width: 1px;
	height: 10px;
	border-radius: 9999px;
	background-color: #ffffff;
	transform-origin: 50% calc(100% - 0.5px);
}

.menu-link_ul ul li a span.menu-arrow::before {
	transform: rotate(45deg);
}

.menu-link_ul ul li a span.menu-arrow::after {
	transform: rotate(-45deg);
}

.menu-link_ul ul li a:hover {
	background-color: rgba(32,32,32,.6);
}

.menu-link_ul ul li a:hover span.menu-arrow {
	transform: translateY(-4px);
	opacity: 1;
}


@keyframes fixedMenu {
	0% {
		opacity: 0;
	}
	30% {
		opacity: 100%;
	}
	100% {
		opacity: 100%;
	}	
}

/* レスポンシブ */
@media (max-width:1400px) {
	.menu-link_ul ul {
		padding: 0 3.9%;
	}
}

@media (max-width:768px) {
	.menu-link_ul ul li a {
		font-size: .875rem;
	}
	.menu-link_ul ul li a span.menu-arrow::before,
	.menu-link_ul ul li a span.menu-arrow::after {
		height: 8px;
	}
}

@media (max-width:575px) {
	.menu-link_ul ul li a {
		padding: 2px 0;
	}
	.menu-link_ul ul li a span.menu-text-inner {
		padding: .85rem 5px;
	}
}

/* ▲ コンテンツ内リンクメニュー ▲ */

#content h3.un_module_subttl {
    border-bottom: 1px solid #e5e5e5;
    border-top: 1px solid #e5e5e5;
    color: #333;
    font-size: 24px;
    letter-spacing: .04em;
    line-height: 1.64;
    margin-bottom: 27px;
    padding-bottom: 8px;
    padding-top: 8px;
}

.cta_btnWrap {
	text-align: center;
}

.cta_btn {
    align-items: center;
    background-color: #005d8c;
    color: #fff;
    display: inline-flex;
    font-size: clamp(0px, 16 / 1280 * 100vw, 16px);
    font-weight: 700;
    height: clamp(0px, 54 / 1280 * 100vw, 54px);
    justify-content: center;
    margin-bottom: clamp(0px, 24 / 1280 * 100vw, 24px);
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(0px, 30 / 1280 * 100vw, 30px);
    padding-right: clamp(0px, 30 / 1280 * 100vw, 30px);
	text-decoration: none;
}

.cta_btn:active, .cta_btn:hover, .cta_btn:link, .cta_btn:visited {
    color: #fff;
}

/* リストスタイル */
ul.lp_list,
ol.lp_list {
	margin-left: 0;
    margin-top: 2.5rem;
	margin-bottom: 2.5rem;
}

.lp_list li {
	margin-bottom: 1rem;
}

.lp_list li:last-child {
	margin-bottom: 0;
}

/* スタイル１・２ */
ul.lp_list.list-style1 li,
ul.lp_list.list-style2 li {
	list-style: none;
    font-size: 1rem;
    line-height: 1.5;
    margin-left: 0;
    padding-left: 1rem;
    position: relative;
    text-indent: -.885rem;
}

ul.lp_list.list-style1 li::before,
ul.lp_list.list-style2 li::before {
	content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 4px;
    /* position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%); */
}

ul.lp_list.list-style1 li::before {
	background-color: #ab951d;
}

ul.lp_list.list-style2 li::before {
	background-color: #005d8c;
}

/* スタイル３ */
ol.lp_list.list-style3 li {
	padding-left: 1.25rem;
    text-indent: -1.5625rem;
}

ol.lp_list.list-style3 {
	counter-reset: li;    /* li のカウンタを 0 にセット */ 
    list-style: none;
	counter-reset: li;
}

ol.lp_list.list-style3 li {
	margin-left: 0;
    font-size: 1rem;
    line-height: 1.5;
	list-style-type: none;

}

ol.lp_list.list-style3 li::before {
	color: #fff;
    font-weight: bold;
    counter-increment: li;
    content: counter(li);
    text-indent: 0;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
    width: 1.25rem;
    height: 1.25rem;
	margin-top: -2px;
    border-radius: 50%;
    font-size: .875rem;
    vertical-align: middle;
    text-align: center;
	background-color: #005d8c;
}

/* スタイル４ */
ul.lp_list.list-style4 li {
	list-style: none;
    font-size: .75rem;
    color: #5c5c5c;
    line-height: 1.5;
    margin-left: 0;
	margin-bottom: .75rem;
    padding-left: 1.125rem;
    position: relative;
    text-indent: -.55rem;
}

ul.lp_list.list-style4 li::before {
	content: '※';
    border-radius: 50%;
    display: inline-block;
    vertical-align: middle;
    margin-top: -0.125rem;
}

/* カルーセル */
.carousel-background-item {
  /* 画像が常に中央に配置されるようにする */
  background-position: center center;
  
  /* 画像が要素全体をカバーするように引き伸ばす（アスペクト比は維持） */
  background-size: cover;
  
  /* 背景画像は繰り返さない */
  background-repeat: no-repeat;
}

/*
 * Bootstrap カルーセルのカスタムスタイル
 * 矢印を外側に配置し、カスタムアイコンと色を適用
 */

/* 1. カルーセル全体を囲むコンテナの調整 */
/* PHPコードで #<?php echo esc_attr($carousel_id); ?> に付与されるクラス */
.carousel {
    /* 矢印をこの要素に対して絶対配置するための基準点とする */
    position: relative;
	margin: 20px 40px 40px;
    /* 矢印が外に出るように、コンテナ自体の overflow を visible に設定するか、
       より外側の親要素に position: relative を設定することを検討してください。
       ここでは、一旦カルーセル自体に基準を設定します。
    */
}

/* 2. Bootstrap標準の矢印アイコン（spanタグ）を非表示にする */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    display: none;
}

/* 3. 矢印ボタン自体 (buttonタグ) のスタイルをカスタマイズ */
.carousel-control-prev,
.carousel-control-next {
    /* カルーセル内ではなく、外側に配置するために、
       カルーセルコンテナ全体 (例: .carousel) に対して絶対位置を指定する */
    position: absolute;
    top: 50%; /* 縦方向中央 */
    transform: translateY(-50%); /* 縦方向中央揃えのための補正 */
    width: 30px; /* ボタンのサイズ */
    height: 30px;
    opacity: 1; /* ホバー時以外も表示 */
    border-radius: 50%; /* 丸い形状にする */
    transition: background-color 0.5s;
}

#asuka2-style .carousel-control-prev,
#asuka2-style .carousel-control-next {
    background-color: #AB951D;
}
#asuka3-style .carousel-control-prev,
#asuka3-style .carousel-control-next {
    background-color: #005d8c;
}

#asuka2-style .carousel-control-prev:hover,
#asuka2-style .carousel-control-next:hover {
    background-color: #BCAA4A; /* ホバー時の背景色 */
	opacity: 1;
}

#asuka3-style .carousel-control-prev:hover,
#asuka3-style .carousel-control-next:hover {
    background-color: #337DA3; /* ホバー時の背景色 */
	opacity: 1;
}

/* 4. 左右への配置の調整 */
/* 左矢印をカルーセルの左外側へ配置 */
.carousel-control-prev {
    left: -40px; /* カルーセルの左端から 60px 外側に配置 */
}

/* 右矢印をカルーセルの右外側へ配置 */
.carousel-control-next {
    right: -40px; /* カルーセルの右端から 60px 外側に配置 */
}

/* 5. Font Awesomeアイコンを使ってカスタム矢印を表示 (種類と色の変更) */
.carousel-control-prev::before,
.carousel-control-next::before {
    /* Font Awesome 5 Freeのフォントファミリーを使用 */
    font-family: bootstrap-icons;
    font-weight: 900; /* Solidアイコンの場合 */
    font-size: 1rem; /* アイコンのサイズ */
    color: #FFFFFF; /* アイコンの色（例: 白） */
    line-height: 40px; /* ボタンの高さに合わせる */
    text-align: center;
    display: block;
}

/* 左矢印のアイコンを変更 (例: chevron-left) */
.carousel-control-prev::before {
    content: "\F22D"; /* Font Awesome の 'chevron-circle-left' の Unicode */
}

/* 右矢印のアイコンを変更 (例: chevron-right) */
.carousel-control-next::before {
    content: "\F231"; /* Font Awesome の 'chevron-circle-right' の Unicode */
}

/* --- インジケーターのスタイル --- */

/* 6. 【新規追加】インジケーター全体をカルーセルの外側の中心に配置 */
.carousel-indicators {
    /* Bootstrapのデフォルトの bottom: 0 を上書き */
    bottom: -20px; /* カルーセルコンテナの padding-bottom の開始位置に合わせる */
    /* 横方向の中央揃え (Bootstrapのデフォルト) を維持 */
    left: 50%;
    transform: translateX(-50%);
    z-index: 15;
	margin: 0;
}

/* 7. 【新規追加】インジケーターボタンを丸く、小さくする */
.carousel-indicators button.v-indicator {
    /* Bootstrapのデフォルトを上書き */
    width: 10px; /* 幅 */
    height: 10px; /* 高さ */
    padding: 0; /* 不要なパディングを削除 */
    margin: 0 5px; /* ボタン間の間隔を調整 */
    border-radius: 50%; /* 丸くする */
    border: none; /* ボーダーを削除 */
    opacity: 0.7; /* 通常時の透明度 */
    transition: opacity 0.3s, background-color 0.3s;
}

#asuka2-style .carousel-indicators button {
    background-color: #BCAA4A; /* 通常時の色 (濃いグレー) */
}
#asuka3-style .carousel-indicators button {
    background-color: #337DA3; /* 通常時の色 (濃いグレー) */
}

/* 8. 【新規追加】アクティブなインジケーターの色 */
#asuka2-style .carousel-indicators button.active {
    background-color: #AB951D; /* アクティブ時の色 */
    opacity: 1;
}
#asuka3-style .carousel-indicators button.active {
    background-color: #005D8C; /* アクティブ時の色 */
    opacity: 1;
}

/* キャプション */
.carousel-caption {
	position: absolute;
	left: auto;
    right: 10px;
    bottom: 10px;
    padding: 4px 12px;
    color: #333;
    text-align: center;
    background-color: rgba(255, 255, 255, .8);
}
.carousel-caption p {
	margin: 0;
    font-size: .75rem;
}

/* オプション: レスポンシブ対応 (モバイルでは内側に配置に戻すなど) */
@media (max-width: 768px) {
    .carousel-control-prev {
        left: 0;
    }
    .carousel-control-next {
        right: 0;
    }
}


/* テーブルデザイン */
/* ▼ デフォルトテーブル・ストライプテーブルの修正 */ 
.wp-block-table table.has-fixed-layout,
.wp-block-table .has-fixed-layout tr,
.wp-block-table .has-fixed-layout th,
.wp-block-table .has-fixed-layout td {
	border: 1px solid #cbcacb;
}

.wp-block-table.is-style-regular .has-fixed-layout thead{
	border-bottom-color:#cbcacb;
}

.wp-block-table.is-style-stripes .has-fixed-layout tbody tr:nth-child(odd) {
	background-color: #f5f5f5;
}

/* ▼ Voyageテーブル */
.wp-block-table.is-style-voyage-grayTable,
.wp-block-table.is-style-voyage-asuka2Table,
.wp-block-table.is-style-voyage-asuka3Table {
	margin: 2.5rem 0;
}

.wp-block-table.is-style-voyage-grayTable .has-fixed-layout,
.wp-block-table.is-style-voyage-asuka2Table .has-fixed-layout,
.wp-block-table.is-style-voyage-asuka3Table .has-fixed-layout {
	border: none;
	margin: 0;
}

.wp-block-table.is-style-voyage-grayTable .has-fixed-layout th,
.wp-block-table.is-style-voyage-asuka2Table .has-fixed-layout th,
.wp-block-table.is-style-voyage-asuka3Table .has-fixed-layout th {
    font-size: 1rem;
    font-weight: bold;
}

.wp-block-table.is-style-voyage-grayTable .has-fixed-layout thead,
.wp-block-table.is-style-voyage-asuka2Table .has-fixed-layout thead,
.wp-block-table.is-style-voyage-asuka3Table .has-fixed-layout thead {
    color: #fff;
    font-weight: bold;
}

.wp-block-table.is-style-voyage-asuka3Table .has-fixed-layout thead {
	background-color: #005d8c;
}

.wp-block-table.is-style-voyage-asuka2Table .has-fixed-layout thead {
	background-color: #ab951d;
}

#asuka2-style .wp-block-table.is-style-voyage-grayTable .has-fixed-layout thead,
#asuka3-style .wp-block-table.is-style-voyage-grayTable .has-fixed-layout thead {
	background-color: #E8E8E8;
	color: #333;
}

.wp-block-table.is-style-voyage-grayTable .has-fixed-layout td,
.wp-block-table.is-style-voyage-asuka2Table .has-fixed-layout td,
.wp-block-table.is-style-voyage-asuka3Table .has-fixed-layout td,
.wp-block-table.is-style-voyage-grayTable .has-fixed-layout th,
.wp-block-table.is-style-voyage-asuka2Table .has-fixed-layout th,
.wp-block-table.is-style-voyage-asuka3Table .has-fixed-layout th {
	border: 1px solid #F5F5F5;
}


.wp-block-table.is-style-voyage-asuka2Table .has-fixed-layout td,
.wp-block-table.is-style-voyage-asuka2Table .has-fixed-layout th {
    border-top: 1px solid #EEEAD2;
    border-bottom: 1px solid #EEEAD2;
}

#asuka3-style .wp-block-table.is-style-voyage-asuka3Table .has-fixed-layout td,
#asuka3-style .wp-block-table.is-style-voyage-asuka3Table .has-fixed-layout th {
    border-top: 1px solid #CCDFE8;
    border-bottom: 1px solid #CCDFE8;
}

.wp-block-table.is-style-voyage-grayTable .has-fixed-layout td,
.wp-block-table.is-style-voyage-grayTable .has-fixed-layout th {
    border-top: 1px solid #CCDFE8;
    border-bottom: 1px solid #CCDFE8;
}

.wp-block-table.is-style-voyage-grayTable .has-fixed-layout  th,
.wp-block-table.is-style-voyage-asuka2Table .has-fixed-layout th,
.wp-block-table.is-style-voyage-asuka3Table .has-fixed-layout th {
	/* border:none; */
	border-top: 1px solid #ccdfe8;
	white-space: normal;
    vertical-align: middle;
}

.wp-block-table.is-style-voyage-grayTable thead, 
.wp-block-table.is-style-voyage-asuka2Table thead,
.wp-block-table.is-style-voyage-asuka3Table thead {
	border:none;
}

.wp-block-table.is-style-voyage-grayTable .has-fixed-layout tbody tr:last-child td,
.wp-block-table.is-style-voyage-asuka3Table .has-fixed-layout tbody tr:last-child td {
	border-bottom: 1px solid #ccdfe8;
}



.wp-block-table.is-style-voyage-asuka2Table::-webkit-scrollbar,
.wp-block-table.is-style-voyage-asuka3Table::-webkit-scrollbar,
.wp-block-table.is-style-voyage-grayTable::-webkit-scrollbar {
  border-radius: 20px;
  height: 10px;
}

.wp-block-table.is-style-voyage-asuka2Table::-webkit-scrollbar {
  background-color: #EEEAD2;
}

.wp-block-table.is-style-voyage-asuka3Table::-webkit-scrollbar {
  background-color: #CCDFE8;
}

.wp-block-table.is-style-voyage-grayTable::-webkit-scrollbar {
  background-color: #F5F5F5;
}

.wp-block-table.is-style-voyage-asuka2Table::-webkit-scrollbar-thumb,
.wp-block-table.is-style-voyage-asuka3Table::-webkit-scrollbar-thumb,
.wp-block-table.is-style-voyage-grayTable::-webkit-scrollbar-thumb {
  border-radius: 20px;
}

.wp-block-table.is-style-voyage-asuka2Table::-webkit-scrollbar-thumb {
  background-color: #ab951d;
}
.wp-block-table.is-style-voyage-asuka3Table::-webkit-scrollbar-thumb {
  background-color: #005d8c;
}
.wp-block-table.is-style-voyage-grayTable::-webkit-scrollbar-thumb {
  background-color: #E8E8E8;
}

@media screen and (max-width:991px) {
	.wp-block-table.is-style-voyage-asuka2Table,
	.wp-block-table.is-style-voyage-asuka3Table,
	.wp-block-table.is-style-voyage-grayTable {
		overflow-x: scroll;
		width: 100%;
	}
	.wp-block-table.is-style-voyage-grayTable .has-fixed-layout,
	.wp-block-table.is-style-voyage-asuka2Table .has-fixed-layout,
	.wp-block-table.is-style-voyage-asuka3Table .has-fixed-layout {
		width: 100%;
		min-width: 1000px;
		margin-bottom: 5px;
	}
}

@media screen and (max-width:767px) {
	.wp-block-table.is-style-voyage-grayTable .has-fixed-layout,
	.wp-block-table.is-style-voyage-asuka2Table .has-fixed-layout,
	.wp-block-table.is-style-voyage-asuka3Table .has-fixed-layout {
		min-width: 900px;
	}
}

@media screen and (max-width:576px) {
	.wp-block-table.is-style-voyage-grayTable .has-fixed-layout,
	.wp-block-table.is-style-voyage-asuka2Table .has-fixed-layout,
	.wp-block-table.is-style-voyage-asuka3Table .has-fixed-layout {
		min-width: 800px;
	}
}

/* フェードインアニメーション用 */
.preFade:not(ul,ol,.recommendCruise-wrap){
	opacity: 0;
    transition: opacity .8s, transform .8s;
}
.preFade li {
	opacity: 0;
    transition: opacity .8s, transform .8s;
}

.preFade .recommendCruise-item {
	opacity: 0;
    transition: opacity .8s, transform .8s, box-shadow .5s;
}

.is-style-voyage-asuka2Table:not(.no-fade),
.is-style-voyage-asuka3Table:not(.no-fade),
.is-style-voyage-grayTable:not(.no-fade),
.wp-block-table.is-style-regular:not(.no-fade),
.wp-block-table.is-style-stripes:not(.no-fade) {
	opacity: 0;
	transform: translateY(60px);
	transition: opacity .8s, transform .8s;
}

.fadeIn-bottom {
    transform: translateY(60px);
}
.fadeIn-top {
    transform: translateY(-60px);
}
.fadeIn-left {
    transform: translateX(-60px);
}
.fadeIn-right {
    transform: translateX(60px);
}

.is-style-voyage-asuka2Table.is-active,
.is-style-voyage-asuka3Table.is-active,
.is-style-voyage-grayTable.is-active,
.wp-block-table.is-style-regular.is-active,
.wp-block-table.is-style-stripes.is-active,
.preFade.fadeIn-top.is-active:not(ul,ol,.recommendCruise-wrap),
.preFade.fadeIn-bottom.is-active:not(ul,ol,.recommendCruise-wrap) {
	opacity: 1;
	transform: translateY(0);
}
.preFade.fadeIn-left.is-active:not(ul,ol,.recommendCruise-wrap),
.preFade.fadeIn-right.is-active:not(ul,ol,.recommendCruise-wrap) {
	opacity: 1;
	transform: translateX(0);
}
.preFade .recommendCruise-item.fadeIn-top.is-visible,
.preFade .recommendCruise-item.fadeIn-bottom.is-visible,
.preFade li.fadeIn-top.is-visible,
.preFade li.fadeIn-bottom.is-visible {
	opacity: 1;
	transform: translateY(0);
}
.preFade .recommendCruise-item.fadeIn-left.is-visible,
.preFade .recommendCruise-item.fadeIn-right.is-visible,
.preFade li.fadeIn-left.is-visible,
.preFade li.fadeIn-right.is-visible {
	opacity: 1;
	transform: translateX(0);
}

/* おすすめクルーズ */

.recomend-cruise {
	display: block;
    background-color: #e6eff4;
    position: relative;
    padding: 6.25rem 0;
}

#asuka2-style .recomend-cruise {
    background-color: #f7f4e8;
}

#asuka3-style .recomend-cruise {
    background-color: #e6eff4;
}

#content h3.cruiseBlock-tit {
	/* font-size: 1.875rem; */
	color: #202020!important;
	margin-bottom: 4.375rem;
	font-family: "リュウミン B-KL JIS2004", "Noto Serif JP", serif;
	text-align: center;
}

.recommendCruise-wrap {
	max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    padding: 4.375rem 0;
    /* border-top: 1px solid #005d8c;
    border-bottom: 1px solid #005d8c; */
    display: flex;
    gap: 30px;
	flex-wrap: wrap;
	justify-content: center;
}

#asuka2-style .recommendCruise-wrap {
    border-top: 1px solid #ab951d;
    border-bottom: 1px solid #ab951d;
}

#asuka3-style .recommendCruise-wrap {
    border-top: 1px solid #005d8c;
    border-bottom: 1px solid #005d8c;
}

@media (max-width:1400px){
	#content h3.cruiseBlock-tit,
	.recommendCruise-wrap {
		margin-left: 3.9%;
		margin-right: 3.9%;
	}
}

.recommendCruise-item {
	width: calc(100% / 3 - 20px);
	position: relative;
	background-color: #fff;
	box-shadow: 0px 0px 18px 2px rgba(0, 0, 0, 0.15);
	cursor: pointer;
}

.recommendCruise-item:hover {
	box-shadow: 0px 0px 7.2px 0.8px rgba(0, 0, 0, 0.25);
}

.recommendCruise-item::before {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1rem;
	font-family: リュウミン M-KL JIS2004, "Noto Serif JP", serif;
	padding: 5px 10px;
	color: #fff;
}
.recommendCruise-item.asuka2::before {
	content: '飛鳥Ⅱ';
	background-color: #ab951d;
}
.recommendCruise-item.asuka3::before {
	content: '飛鳥Ⅲ';
	background-color: #005d8c;
}
.cruise-item_inner {
	padding: 8.125%;
	padding-top: 1.25rem;
}
.cruise-subtit {
	font-size: 1rem;
	margin-bottom: .875rem;
}
.recommendCruise-item.asuka2 .cruise-subtit {
	color: #897717;
}
.recommendCruise-item.asuka3 .cruise-subtit {
	color: #005d8c;
}
#content .recommendCruise-item h4.cruise-tit {
	font-size: 1.5rem;
	line-height: 1.33;
	color: #202020;
    font-family: "リュウミン B-KL JIS2004", "Noto Serif JP", serif;
    text-align: left;
    margin-bottom: 1.5rem;
}
.cruise-days {
	font-size: .875rem;
	margin-bottom: 0;
}

/* .recommendCruise-item .un_module_txtImg_img_core {
	width: 100%;
	height: 260px;
	max-height: 100%;
} */

@media (max-width:991px) {
	.recommendCruise-item {
		width: calc(100% / 2 - 15px);
	}
}

@media (max-width:767px) {
	.recommendCruise-wrap {
		flex-direction: column;
	}
	.recommendCruise-item {
		width: 100%;
	}
}

/* 各種ボタンデザイン */
/* おすすめクルーズのクルーズボタン */
.cruise-btn {
	width: 100%;
	text-align: center;
	margin-bottom: 0;
	margin-top: 2rem;
}

.cruise-btn a {
    padding: 0;
	font-size: 1.25rem;
    color: #fff;
	width: 100%;
	height: 60px;
}

.recommendCruise-item.asuka2 .cruise-btn a{
    background-color: #ab951d;
}
.recommendCruise-item .cruise-btn a{
    background-color: #005d8c;
}
.arrow {
	position: relative;
	display: inline-block;
	width: 1.5rem;
	height: 1px;
	border-radius: 9999px;
	background-color: #fff;
	margin-left: 10px;
	margin-bottom: -4px;
	transition: transform .5s;
}

.arrow::before {
	content: "";
	position: absolute;
	top: calc(50% - 2px);
	right: 0;
	width: 9px;
	height: 1px;
	border-radius: 9999px;
	background-color: #fff;
	transform: rotate(45deg);
	transform-origin: calc(100% - 2px) 50%;
}

.ex_cruise_btn .arrow,
.ex_cruise_btn .arrow::before {
	background-color: #202020;
}

.ex_cruise_btn .arrow,
.v_macBtn .arrow {
	width: 1.75rem;
}

.ex_cruise_btn .arrow::before,
.v_macBtn .arrow::before {
	width: 0.9375rem;
}

@media (max-width:767px){
	.v_macBtn .arrow,
	.ex_cruise_btn .arrow {
		width: 1.5rem;
	}

	.v_macBtn .arrow::before,
	.ex_cruise_btn .arrow::before {
		width: 9px;
	}
}

.ex_cruise_btn {
	text-align: center;
    margin-top: 4.375rem;
}

.lp-link_btn {
	text-align: center;
}

.lpAsuka_btn {
	text-align: center;
    margin: 1.25rem 0;
}

.v_macBtn {
	margin: 0;
	margin-top: 2.5rem;
	text-align: center;
}

.lpAsuka_btn a{
	display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.875rem;
	font-size: 1rem;
    color: #fff;
    text-decoration: none;
    font-family: リュウミン M-KL JIS2004, "Noto Serif JP", serif;
    font-weight: bold;
    border: 1px solid transparent;
	height: 50px;
    /* max-width: 400px;
    width: 60%; */
	transition: .5s;
	border-radius: 0;
	background-color: #202020;
}

.v_macBtn a{
	display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
	background-color: #005d8c;
    text-decoration: none;
    font-family: リュウミン M-KL JIS2004, "Noto Serif JP", serif;
    font-weight: bold;
    border: 1px solid transparent;
	transition: .5s;
    padding: 0;
	font-size: 1.5rem;
    max-width: 100%;
    width: 418px;
	height: 74px;
}

.cruise-btn a,
.lp-link_btn a,
.ex_cruise_btn a {
	display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .5rem 1.25rem;
    text-decoration: none;
    font-family: リュウミン M-KL JIS2004, "Noto Serif JP", serif;
    font-weight: bold;
    max-width: 100%;
	transition: .5s;
}

.lp-link_btn a {
    border: 1px solid transparent;
	color: #fff;
    width: 400px;
	background-color: #202020;
}

.ex_cruise_btn a {
    border: 1px solid #ab951d;
	background-color: #fff;
	color: #202020;
	width: 660px;
	height: 90px;
	padding: 0;
	font-size: 1.5rem;
}

#asuka3-style .ex_cruise_btn a {
    border: 1px solid #005d8c;
}

#asuka2-style .lpAsuka_btn a,
#asuka2-style .lp-link_btn a {
	background-color: #ab951d;
}

#asuka3-style .lpAsuka_btn a,
#asuka3-style .lp-link_btn a {
	background-color: #005d8c;
}

.recommendCruise-item.asuka2 .cruise-btn a:hover {
	background-color: #897717;
}

.recommendCruise-item .cruise-btn a:hover {
	background-color: #004A70;
}

.lpAsuka_btn a:hover,
.lp-link_btn a:hover {
	background-color: #fff;
	color: #202020;
	border-color: #202020;
}

#asuka2-style .lpAsuka_btn a:hover,
#asuka2-style .lp-link_btn a:hover {
	background-color: #fff;
	color: #202020;
	border-color: #ab951d;
}

.ex_cruise_btn a:hover {
	background-color: #ab951d;
	color: #fff;
}

#asuka3-style .lpAsuka_btn a:hover,
#asuka3-style .lp-link_btn a:hover {
	background-color: #fff;
	color: #202020;
	border-color: #005d8c;
}

#asuka3-style .ex_cruise_btn a:hover {
	background-color: #005d8c;
	color: #fff;
}

.v_macBtn a:hover {
	background-color: #fff;
	color: #202020;
	border-color: #005d8c;
}

.v_macBtn a:hover .arrow,
.lpAsuka_btn a:hover .arrow,
.lp-link_btn a:hover .arrow,
.recommendCruise-item .cruise-btn a:hover .arrow,
.ex_cruise_btn a:hover .arrow {
	transform: translateX(5px);
}

.v_macBtn a:hover .arrow,
.lpAsuka_btn a:hover .arrow,
.lp-link_btn a:hover .arrow {
	background-color: #202020;
}

.v_macBtn a:hover .arrow::before,
.lpAsuka_btn a:hover .arrow::before,
.lp-link_btn a:hover .arrow::before {
	background-color: #202020;
}

.ex_cruise_btn a:hover .arrow,
.ex_cruise_btn a:hover .arrow::before {
	background-color: #fff;
}

@media (max-width:767px){
	.lpAsuka_btn a{
		height: 45px;		
	}
	.ex_cruise_btn {
		padding: 0 3.9%;
	}
	.v_macBtn a,
	.ex_cruise_btn a {
		font-size: 1.25rem;
	}
}

@media (max-width:576px) {
	.lpAsuka_btn a,
	.lp-link_btn a,
	.ex_cruise_btn a,
	.lpAsuka_btn.v_macBtn a {
		padding: .571rem 1.428rem;
		max-width: 100%;
		width: 100%;
	}
	.v_macBtn a,
	.ex_cruise_btn a {
		font-size: 1.285rem;
		padding: 0 1.428rem;
	}
	
}

/* モーダル */
.lpAsuka-modal .modal-content {
	display: block;
	border-radius: 0;
	padding: 1.25rem;
}

.lpAsuka-modal .modal-header {
	padding: 0;
	border: none;
	align-items: start;
}

#content .lpAsuka-modal h5.modal-title {
	font-size: 1.875rem;
	font-family: リュウミン M-KL JIS2004, "Noto Serif JP", serif;
	font-weight: bold;
	margin-bottom: 0;
}

.lpAsuka-modal .modal-body {
    padding: 0;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}

.lpAsuka-modal.modal-has-image .modal-body {
	display: flex;
    flex-direction: row-reverse;
    gap: 20px;
}

.lpAsuka-moda.modal-dialog-scrollable .modal-content {
	overflow: scroll;
}

.lpAsuka-modal .modal-body figure.modal-image-wrapper {
	width: 60%;
}

.lpAsuka-modal .modal-body .modal-text-content {
	width: 100%;
	font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.75;
}

.lpAsuka-modal.modal-has-image .modal-body .modal-text-content {
	width: 40%;
}

@media (max-width:991px) {
	.lpAsuka-modal {
		width: 80%;
		max-width: 100%;
	}
	.lpAsuka-modal.modal-has-image .modal-body {
		flex-direction: column;
	}
	.lpAsuka-modal .modal-body figure.modal-image-wrapper,
	.lpAsuka-modal.modal-has-image .modal-body .modal-text-content {
		width: 100%;
	}
}

@media (max-width:576px) {
	.lpAsuka-modal {
		width: auto;
	}
	#content .lpAsuka-modal h5.modal-title {
		font-size: 1.714rem;
	}

}


/* スペーサー */
.custom-spacer {
    width: 100%;
    display: block;
    /* PCサイズを適用 */
    height: var(--sp-pc);
}

/* タブレット (例: 1024px以下) */
@media screen and (max-width: 1024px) {
    .custom-spacer {
        height: var(--sp-tab);
    }
}

/* スマホ (例: 767px以下) */
@media screen and (max-width: 767px) {
    .custom-spacer {
        height: var(--sp-mob);
    }
}

/* カラムブロックの調整 */
.ly_content .wp-block-columns-is-layout-flex {
	width: 100%;
}

@media screen and (max-width:991px) {
	.ly_content .wp-block-columns-is-layout-flex {
		flex-wrap: wrap!important;
		width: 100%;
		margin-bottom: 2.5rem!important;
	}

    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: 100% !important;
    }
	.ly_content .column-reverse .wp-block-columns-is-layout-flex {
		flex-direction: column-reverse;
		flex-wrap: nowrap!important;
	}
}

@media screen and (max-width:767px) {
	.ly_content .wp-block-columns-is-layout-flex {
		margin-bottom: 2rem!important;
	}
}

/* 幅いっぱいコンテナ */
.w-100_container {
	width: 100%;
	background-color: #fff;
	position: relative;
	padding: 50px 0;
}

.w-100_container:has(> .recomend-cruise:first-child) {
	padding-top: 0;
}

.w-100_container:has(> .recomend-cruise:last-child) {
	padding-bottom: 0;
}

.w-100_container .lp_paragraph,
.w-100_container .gcb_lp-tit,
.w-100_container ul.lp_list, 
.w-100_container ol.lp_list {
	padding: 0 1.875rem;
}

.w-100_container .carousel {
	margin-left: 50px;
	margin-right: 50px;
}

@media (max-width:567px) {
	.w-100_container .lpAsuka_btn,
	.w-100_container .lp-link_btn {
		padding: 0 3.9%;
	}
	.w-100_container .lpAsuka_btn a,
	.w-100_container .lp-link_btn a {
		width: 100%;
	}
}

/* レスポンシブ */

@media screen and (max-width: 767px) {
    .ly_content_pad {
        padding-left: 2.66667vw;
        padding-right: 2.66667vw;
    }

    .un_body {
        margin-top: -2.66667vw;
        padding-top: 9.2vw;
    }

    .un_body_bar {
        margin-bottom: 5.86667vw;
    }

	.un_module_lead {
        font-size: 3.46667vw;
        line-height: 1.85;
        margin-bottom: 9.6vw;
    }

	.un_module_halfCapImg_cap {
        font-size: 2.66667vw;
        line-height: 1.7;
        margin-top: 2.4vw;
    }

    .un_module_halfCapImg {
        gap: 5.33333vw;
        margin-bottom: 8vw;
        width: 62.4vw;
		margin-left: auto;
		margin-right: auto;
    }

	#content h3.un_module_subttl {
        font-size: 4vw;
        line-height: 1.58;
        margin-bottom: 3.6vw;
        margin-right: 3.33333vw;
        padding-bottom: 1.06667vw;
        padding-top: 1.06667vw;
    }
}

#content h3.wp-block-accordion-heading {
    margin-bottom: 1rem;
}

/* 翻訳機能ウィジェット */
.wovn-languages {
	bottom: 38px;
	position: fixed;
	right: 0;
	z-index: 100;
}

@media screen and (min-width: 380px) {
	.wovn-languages {
		bottom: 42px;
	}
}
@media screen and (min-width: 1080px) {
	.wovn-languages {
		bottom: 0;
	}
}

.wovn-switch.selected {
	display: none;
}

.wovn-switch {
	align-items: center;
	background-color: #005d8c;
	border-radius: 6px 0 0 0;
	box-sizing: border-box;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-size: 12px;
	gap: 10px;
	height: 100%;
	height: 41px;
	list-style: none;
	padding-left: 40px;
	width: 100%;
	width: 100px;
	transform: rotate(0.05deg);
}

.wovn-switch:before {
	background-image: url(assets/images/earth.svg);
	background-size: contain;
	content: "";
	display: block;
	height: 16px;
	left: 13px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
}