@charset "utf-8";

/* コンテンツ幅 フル */
.contentsInr { width: auto; padding: 0px; }

.ctm_contentsFull { padding-top: 80px; }
@media all and (max-width: 739px){
	.ctm_contentsFull { padding: 70px 0 30px; }
}

/* コンテンツ幅 950px */
.contentsInr .contentsUnit,
.contentsInr .module { padding: 0 10px; margin: 0 auto; }

@media all and (min-width: 740px){
	.contentsInr .contentsUnit,
	.contentsInr .module { width: 950px !important; padding: 0px; margin: 0 auto; }
	.contentsInr .module { float: none !important; }
}

/* font */
.fs20 { font-size: 2.0rem; }
.fs21 { font-size: 2.1rem; }

@media all and (min-width: 740px){
	.alC_forPC { text-align: center; }
}

.photo-wedding .imgParts figcaption { font-size: 1.2rem; }

.photo-wedding .hc02 { font-family: "Dancing Script", cursive; font-optical-sizing: auto; font-weight: 500; font-style: normal; }
.photo-wedding .hc03 { font-family: "MonteCarlo", cursive; font-weight: 400; font-style: normal; }

/* iconTxt */
.photo-wedding [class^="ctm_iconTxt_br"] { display: inline-block; padding: 3px 1.0rem 1px; color: #fff; border-radius: 4px; letter-spacing: 0.1rem; }

/* ctm_pageTtl */
.photo-wedding .ctm_pageTtl.hc01 { }
.photo-wedding .ctm_pageTtl.hc01 .ttlLv1 { position: relative; margin: 30px 0 10px; }
.photo-wedding .ctm_pageTtl.hc01 .ttlLv1:before { content: ""; position: absolute; display: block; top: -38px; left: 50%; transform: translate(-50%, -50%); width: 93px; height: 93px;
-webkit-mask-image: url(/content/dam/sites/wwwjalcojp/jp/ja/intltour/hwi/photo-wedding/img_sites/heading_bg01.svg?v=1);
-webkit-mask-size: contain;
-webkit-mask-repeat: no-repeat;
-webkit-mask-position: center;
mask-image: url(/content/dam/sites/wwwjalcojp/jp/ja/intltour/hwi/photo-wedding/img_sites/heading_bg01.svg?v=1);
mask-size: contain;
mask-repeat: no-repeat;
mask-position: center;
background-color: #bab144; }
@media all and (min-width: 740px){
	.photo-wedding .ctm_pageTtl.hc01 .ttlLv1 { margin: 60px 0 0; padding-top: 4.0rem; border-top: 2px solid #bab144; }
	.photo-wedding .ctm_pageTtl.hc01 .ttlLv1:before { top: -68px; width: 91px; height: 91px; }
}

.photo-wedding .ctm_pageTtl.hc01 .ttlLv1 h2 { padding: 0; color: #756c08; background: #fff!important; display: inline-block; font-weight: normal; }
.photo-wedding .ctm_pageTtl.hc01 .ttlLv1 h2 .fs_S01 { font-size: 2.0rem; display: inline-block; }
@media all and (min-width: 740px){
	.photo-wedding .ctm_pageTtl.hc01 .ttlLv1 h2 { margin-top: -9.8rem; padding: 0 30px; }
	.photo-wedding .ctm_pageTtl.hc01 .ttlLv1 h2 .fs_S01 { padding-right: 0.4rem; font-size: 2.8rem; }
}

.photo-wedding .ctm_pageTtl .ttlLv4 .heading { line-height: 1.5; }

@media all and (max-width: 739px){
	.photo-wedding .ctm_pageTtl .ttlLv1 h2 { font-size: 3.0rem; }
}
@media all and (min-width: 740px){
	.photo-wedding .ctm_pageTtl .ttlLv1 h2 { font-size: 3.8rem; }
}

/* list */
@media all and (min-width: 740px){
	.listSide ul { display: flex; justify-content: center; }
	.listSide ul > li + li { margin: 0 0 0 2.0rem; }
	
	.listC { text-align: center; }
	.listC li { display: inline-block; }
}

.photo-wedding .listFree ul > li { padding: 0!important; }
.photo-wedding .listFree ul > li:before,
.photo-wedding .listIcon ul > li:before { display: none; }

.photo-wedding .listIcon ul { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.6rem 1.6rem; }
.photo-wedding .listIcon ul > li { padding: 0.3rem 1.0rem 0 !important; }
.photo-wedding .listIcon ul > li + li { margin: 0; }

/* column */

/* Botton type horizon */
/*
.photo-wedding .ctm_btnList_horizon .btnBox { display: block; width: 100%; height: 100%; }
.photo-wedding .ctm_btnList_horizon .col > div { height: 100%; }
.photo-wedding .ctm_btnList_horizon .col .btn { display: table; width: 100%; height: 100%; padding-top: 10px; padding-bottom: 10px; margin-top: 0px; }
.photo-wedding .ctm_btnList_horizon .col .btnInr { display: table-cell; vertical-align: middle; width: 100%; height: 100%; }
*/
@media all and (max-width: 739px){
	.photo-wedding .ctm_btnList_horizon .colWrap .col:nth-of-type(n+2) { margin-top: 2px; }
}

/* table */
.photo-wedding .table_typeB table { border: none; }
.photo-wedding .table_typeB th { border-left: 1px solid #fff; background: #9a9236; color: #fff; }
.photo-wedding .table_typeB td { border: 1px solid #9a9236; border-left: none; border-top: none; background: #fff; }
.photo-wedding .table_typeB th:first-child,
.photo-wedding .table_typeB td:first-child { border-left: 1px solid #9a9236; }
.photo-wedding .table_typeB tr:first-child td { border-top: 1px solid #9a9236; }

.photo-wedding .table_typeC table { border: none; }
.photo-wedding .table_typeC th { border: 1px solid #fff; border-left: none; border-top: none; background: #0ab5c3; color: #fff; }
.photo-wedding .table_typeC td { border: 1px solid #0ab5c3; border-left: none; border-top: none; background: #fff; }
.photo-wedding .table_typeC td:first-child { border-left: 1px solid #0ab5c3; }
.photo-wedding .table_typeC tr:first-child td { border-top: 1px solid #0ab5c3; }

.photo-wedding .table_typeD .table_typeA,
.photo-wedding .table_typeD table,
.photo-wedding .table_typeD tr th,
.photo-wedding .table_typeD tr td { background: transparent; border: none; text-align: center; }
.photo-wedding .table_typeD tr:first-child th,
.photo-wedding .table_typeD tr:first-child td { border-top: 1px solid #42bdc7; }
.photo-wedding .table_typeD tr th:first-child,
.photo-wedding .table_typeD tr td:first-child { border-left: none; }
.photo-wedding .table_typeD tr th { color: #9a9236; border-bottom: 1px solid #42bdc7; }
.photo-wedding .table_typeD tr td { border-bottom: 1px solid #42bdc7; }
.photo-wedding .table_typeD tr td li { text-align: left; }

/* YouTube */
.movieBlock { padding: 20px 0; }




/* Campaign */
#Campaign { padding: 50px 0 0; background: #fff; }

#Campaign .campaignBlock { padding: 20px; background: #f9f6d6; border-radius: 20px; position: relative; }
@media all and (max-width: 739px){
}
@media all and (min-width: 740px){
	#Campaign .campaignBlock { padding: 30px; }
}

#Campaign .campaignBlock .copyImg_01 { position: absolute; width: 48%; top: -74px; right: -28px; z-index: 50; }
@media all and (min-width: 740px){
	#Campaign .campaignBlock .copyImg_01 { width: 22%; top: -50px; right: -30px; }
}

#Campaign .campaignBlock .ctm_pageTtl .ttlLv1 { margin: 0 0 10px; padding: 0; }
#Campaign .campaignBlock .ctm_pageTtl .ttlLv1 .heading { display: inline-block; position: relative;
 height: 3.6em; line-height: 1.4em; padding: 0.5em 36px 0; color: #fff; background: #9a9236 !important; box-sizing: border-box; font-size: 2.4rem; }
#Campaign .campaignBlock .ctm_pageTtl .ttlLv1 .heading:before, 
#Campaign .campaignBlock .ctm_pageTtl .ttlLv1 .heading:after { position: absolute; content: ''; width: 0px; height: 0px; z-index: 1; }
#Campaign .campaignBlock .ctm_pageTtl .ttlLv1 .heading:before { top: 0; left: 0; 
border-width: 1.8em 0px 1.8em 0.9em; border-color: transparent transparent transparent #f9f6d6; border-style: solid; }
#Campaign .campaignBlock .ctm_pageTtl .ttlLv1 .heading:after { top: 0; right: 0;
border-width: 1.8em 0.9em 1.8em 0px; border-color: transparent #f9f6d6 transparent transparent; border-style: solid; }
@media all and (min-width: 740px){
	#Campaign .campaignBlock .ctm_pageTtl .ttlLv1 .heading { height: 2.0em; line-height: 2.2em; padding: 0 40px; font-size: 3.4rem; }
	#Campaign .campaignBlock .ctm_pageTtl .ttlLv1 .heading:before {  border-width: 1.0em 0px 1.0em 0.5em; }
	#Campaign .campaignBlock .ctm_pageTtl .ttlLv1 .heading:after { border-width: 1.0em 0.5em 1.0em 0px; }
}

#Campaign .campaignBlock .listFree li { text-align: center; font-size: 1.6rem; }
#Campaign .campaignBlock .listFree em { color: #333; }
#Campaign .campaignBlock .listFree em,
#Campaign .campaignBlock .listFree strong { font-size: 1.8rem; }
@media all and (min-width: 740px){
	#Campaign .campaignBlock .listFree em,
	#Campaign .campaignBlock .listFree strong { font-size: 2.0rem; }
}

#Campaign .campaignBlock .termBox .table_typeD .tbl_col_1 { width: 38%; }
@media all and (max-width: 739px){
	#Campaign .campaignBlock .termBox .clm_1_2col .col:nth-of-type(2) { margin-top: 0; }
	#Campaign .campaignBlock .termBox .clm_1_2col .col:nth-of-type(2) .table_typeD tr:first-child th,
	#Campaign .campaignBlock .termBox .clm_1_2col .col:nth-of-type(2) .table_typeD tr:first-child td { border-top: none; }
	#Campaign .campaignBlock .termBox .table_typeD .tbl_col_1 { width: 30%; }
	#Campaign .campaignBlock .termBox .table_typeD th { padding: 10px 15px 10px 0; }
	#Campaign .campaignBlock .termBox .table_typeD td { padding: 10px 0; }
	#Campaign .campaignBlock .termBox .table_typeD .fsL { font-size: 1.6rem !important; }
}



/* Navi */
#Navi.ctm_contentsFull { padding-top: 20px; background: #fff; }
@media all and (min-width: 740px){
	#Navi.ctm_contentsFull { padding-top: 50px; }
}


/* Point */
#Point.ctm_contentsFull,
#Point .ctm_pageTtl.hc01 .ttlLv1 h2 { background: #feebf0 !important; }
@media all and (max-width: 739px){
	#Point .ctm_pageTtl.hc01 .ttlLv1 h2 .fs_S01 { font-size: 1.9rem; }
}

#Point .pointBlock .ctm_bdrColumn .col { padding: 14px; background: #fff; border: 1px solid #bab144; border-radius: 20px;  box-shadow: 10px 10px 20px 0 rgb(0 0 0 / 0.05); }
@media all and (max-width: 739px){
	#Point .pointBlock .ctm_bdrColumn .col:nth-of-type(n+2) { margin-top: 24px; }
}

#Point .pointBlock .ctm_pageTtl .ttlLv2 { margin: 0 0 10px; padding: 0; }
#Point .pointBlock .ctm_pageTtl .ttlLv2 .heading { font-size: 4.2rem; line-height: 1; color: #ed6286; border-bottom: 1px solid #fc89a7; display: inline-block; }
#Point .pointBlock .ctm_pageTtl .ttlLv2 .heading sup { padding-right: 1.0rem; font-size: 2.6rem; vertical-align: 0.1rem; }

#Point .pointBlock .ctm_pageTtl .ttlLv3 { margin: 0; padding: 0; }
#Point .pointBlock .ctm_pageTtl .ttlLv3 strong { color: #9a9236; }
#Point .pointBlock .ctm_pageTtl .ttlLv3 .heading { padding: 0; font-size: 2.0rem; }



/* Package */
#Package.ctm_contentsFull { background: #fff; }

@media all and (max-width: 739px){
	#Package .ctm_pageTtl .ttlLv1 h2 { font-size: 2.7rem; }
}

@media all and (min-width: 740px){
	#Package .dpBlock { margin: 0 auto; width: 90%; }
}



/* Chapel */
#Chapel.ctm_contentsFull,
#Chapel .ctm_pageTtl.hc01 .ttlLv1 h2 { background: #e0f7f9 !important; }

#Chapel .chapelListBlock { padding: 20px; 
background-image: url(/content/dam/sites/wwwjalcojp/jp/ja/intltour/hwi/photo-wedding/img_sites/chapel_bg01.png?v=2);
background-size: 58%; background-repeat: no-repeat; background-position: top -16px left -36px; background-color: #fff;
border: 1px solid #bab144; box-shadow: 10px 10px 20px 0 rgb(0 0 0 / 0.05); }
@media all and (min-width: 740px){
	#Chapel .chapelListBlock { padding: 30px; background-size: 32%; background-position: top 0px left -52px; }
}

#Chapel .chapelListBlock .ctm_pageTtl .ttlLv2 { margin-top: 10px; color: #0ab5c3; }
#Chapel .chapelListBlock .ctm_pageTtl .ttlLv2 sub { font-size: 3.0rem; color: #9a9236; }
@media all and (max-width: 739px){
	#Chapel .chapelListBlock .ctm_pageTtl .ttlLv2 .heading { font-size: 2.4rem; }
	#Chapel .chapelListBlock .ctm_pageTtl .ttlLv2 sub { font-size: 2.6rem; }
}

@media all and (min-width: 740px){
	#Chapel .chapelListBlock .leadBox { text-align: center; }
}

#Chapel .chapelListBlock .detailBox_01 .tbl_col_1 { width: 30%; }
@media all and (max-width: 739px){
	#Chapel .chapelListBlock .detailBox_01 .clm_1_2col .col:nth-of-type(2) { margin-top: 0; }
	#Chapel .chapelListBlock .detailBox_01 .clm_1_2col .col:nth-of-type(2) tr:first-child th,
	#Chapel .chapelListBlock .detailBox_01 .clm_1_2col .col:nth-of-type(2) tr:first-child td { border-top: none; }
}
@media all and (min-width: 740px){
	#Chapel_01.chapelListBlock .detailBox_01 .clm_1_2col .col:nth-child(1) { width: calc(60% - 15px); }
	#Chapel_01.chapelListBlock .detailBox_01 .clm_1_2col .col:nth-child(2) { width: calc(40% - 15px); }
}

#Chapel .chapelListBlock .beachBox { margin: 0 auto; padding: 10px 20px; background: #f9f6d6; }
#Chapel .chapelListBlock .beachBox .ctm_pageTtl .ttlLv3 { margin-top: 10px; padding: 0; text-align: left; }
#Chapel .chapelListBlock .beachBox .ctm_pageTtl .ttlLv3 .heading { display: inline-block; position: relative; padding: 8px 30px 0 16px; height: 3.6em; line-height: 1.4; font-size: 1.8rem; color: #fff; background: #9a9236 !important; box-sizing: border-box; }
#Chapel .chapelListBlock .beachBox .ctm_pageTtl .ttlLv3 .heading:after { content: ''; position: absolute; width: 0px; height: 0px; z-index: 1; top: 0; right: 0; border-width: 1.8em 0.9em 1.8em 0; border-color: transparent #f9f6d6 transparent transparent; border-style: solid; }
@media all and (min-width: 740px){
	#Chapel .chapelListBlock .beachBox { width: 82.2%; }
	#Chapel .chapelListBlock .beachBox .ctm_pageTtl .ttlLv3 .heading { padding: 0 20px 0 12px; height: 2.4em; line-height: 2.4em; }
	#Chapel .chapelListBlock .beachBox .ctm_pageTtl .ttlLv3 .heading:after { border-width: 1.2em 0.6em 1.2em 0; }
}

#Chapel .chapelListBlock .beachBox .table_typeD tr th { border-bottom: none; }

#Chapel .chapelListBlock .detailBox_02 .table_typeA td { text-align: left; }
@media all and (min-width: 740px){
	#Chapel .chapelListBlock .detailBox_02 .table_typeA table { width: 100%; }
}


/* PhotoWedding */
#PhotoWedding.ctm_contentsFull { background: #fff; }

#PhotoWedding .packageBlock .ctm_bdrColumn .col { padding: 14px; background: #feebf0; border: 1px solid #bab144; border-radius: 16px;  box-shadow: 10px 10px 20px 0 rgb(0 0 0 / 0.05); }
@media all and (max-width: 739px){
	#PhotoWedding .packageBlock .ctm_bdrColumn .col:nth-of-type(n+2) { margin-top: 24px; }
}

#PhotoWedding .packageBlock .ctm_pageTtl .ttlLv2 { display: block; position: relative; margin: 0; padding: 0; }
#PhotoWedding .packageBlock .ctm_pageTtl .ttlLv2 .heading { display: inline-block; position: absolute; 
top: -15px; left: 6px;  margin: 0; padding: 1.0rem 0.4rem 0.8rem 0; z-index: 2; width: 56px; text-align: center; 
line-height: 1; color: #fff; font-size: 4.0rem; background: #fc89a7 !important; }
/*
#PhotoWedding .packageBlock .ctm_pageTtl .ttlLv2 .heading:before { content: ''; position: absolute; top: 0; right: -5px; border: none; border-bottom: solid 6px #bab144; border-right: solid 6px transparent; }
*/
#PhotoWedding .packageBlock .ctm_pageTtl .ttlLv2 .heading:after { content: ''; position: absolute; top: 100%; left: 0; height: 0; width: 0; border-left: 28px solid #fc89a7; border-right: 28px solid #fc89a7; border-bottom: 14px solid transparent; }

#PhotoWedding .packageBlock .iconWrap { margin: 0 auto; width: 74%; }

#PhotoWedding .packageBlock .ctm_pageTtl .ttlLv3 { margin: 10px 0 2px; padding: 0; }
#PhotoWedding .packageBlock .ctm_pageTtl .ttlLv3 .heading { font-size: 2.0rem; }

@media all and (min-width: 740px){
	#PhotoWedding .packageBlock .clm_1_1col { margin: 0 auto; width: 70%; }
	#PhotoWedding .packageBlock .clm_1_1col .detailWrap { display: flex; }
	#PhotoWedding .packageBlock .clm_1_1col .detailWrap > div:nth-child(1) { width: 33.3%; }
	#PhotoWedding .packageBlock .clm_1_1col .detailWrap > div:nth-child(2) { width: 66.7%; }
	#PhotoWedding .packageBlock .clm_1_1col .iconWrap { width: 100%; }
	#PhotoWedding .packageBlock .clm_1_1col .iconWrap img { margin-left: 26px; }
}




/* Schedule */
#Schedule.ctm_contentsFull,
#Schedule .ctm_pageTtl.hc01 .ttlLv1 h2 { background: #fbf8dc !important; }

#Schedule .scheduleBlock .dayBox { padding: 20px; background: #fff; border: 1px solid #42bdc7; box-shadow: 10px 10px 20px 0 rgb(0 0 0 / 0.05); }

#Schedule .dayBox .ttlLv2 { margin-top: 0; padding: 0; }
#Schedule .dayBox .ttlLv2 .heading { font-size: 2.0rem; }
#Schedule .dayBox .ttlLv2 .heading strong { font-size: 3.0rem; color: #0ab5c3; }
#Schedule .dayBox .ttlLv2 .heading strong span { padding-left: 0.6rem; font-size: 4.8rem; }
#Schedule .dayBox .ttlLv2 .heading .fs_S01 { font-size: 1.4rem; }
@media all and (min-width: 740px){
	#Schedule .dayBox .ttlLv2 .heading { font-size: 2.2rem; }
	#Schedule .dayBox .ttlLv2 .heading .fs_S01 { font-size: 1.6rem; }
}

@media all and (min-width: 740px){
	#Schedule .dayBox .table_typeA table { width: 100%; }
}

#Schedule .dayBox .tbl_col_1 { width: 20%; }
#Schedule .dayBox .clm_1_2col .tbl_col_1 { width: 30%; }
#Schedule .dayBox .table_typeA td { text-align: left; }

#Schedule .dayBox .table_typeD tr:first-child th,
#Schedule .dayBox .table_typeD tr:first-child td { border-top: 1px solid #91dde3; }
#Schedule .dayBox .table_typeD tr th { border-bottom: 1px solid #91dde3; }
#Schedule .dayBox .table_typeD tr td { border-bottom: 1px solid #91dde3; }
@media all and (max-width: 739px){
	#Schedule .scheduleBlock .dayBox .clm_1_2col .col:nth-of-type(2) { margin-top: 0; }
	#Schedule .scheduleBlock .dayBox .clm_1_2col .col:nth-of-type(2) tr:first-child th,
	#Schedule .scheduleBlock .dayBox .clm_1_2col .col:nth-of-type(2) tr:first-child td { border-top: none; }
}



/* Dress */
#Dress.ctm_contentsFull { background: #fff; }

#Dress .ctm_pageTtl .ttlLv2 { margin: 10px 0; }
#Dress .ctm_pageTtl .ttlLv2 .heading { font-size: 2.0rem; color: #ed6286; }

#Dress .leadBlock { padding: 0.5rem 2.0rem; color: #fff; background: #ed6286; border-radius: 20px; }
#Dress .leadBlock li { font-size: 2.0rem; color: #fff; text-align: center; }
#Dress .leadBlock li strong { color: #fff; }
#Dress .leadBlock li .fs_S01 { font-size: 1.6rem; }
#Dress .leadBlock .material-symbols-outlined { vertical-align: -0.4rem; }
@media all and (min-width: 740px){
	#Dress .leadBlock { border-radius: 100vh; }
}

#Dress .table_typeB .tbl_col_1 { width: 20%; }
#Dress .table_typeB .tbl_col_2 { width: 22%; }
#Dress .table_typeB .tbl_col_4 { width: 18%; }
#Dress .table_typeB tr td:first-child { background: #feebf0; font-weight: bold; }




/* Hotel */
#Hotel.ctm_contentsFull,
#Hotel .ctm_pageTtl.hc01 .ttlLv1 h2 { background: #e0f7f9 !important; }

/*
#Hotel .ctm_flexbox_cl_gapL.ctm_flexbox,
#Hotel .ctm_flexbox_cl_gapL.ctm_flexbox_child > * { column-gap: 36px; }
@media all and (max-width: 739px){
	#Hotel .ctm_flexbox_cl_gapL.ctm_flexbox,
	#Hotel .ctm_flexbox_cl_gapL.ctm_flexbox_child > * { flex-wrap: wrap; }
}
*/

#Hotel .hotelListBlock_typeA,
#Hotel .hotelListBlock_typeB .ctm_bdrColumn .col { border: 1px solid #fff; background: #fff; box-shadow: 10px 10px 20px 0 rgb(0 0 0 / 0.05); }

#Hotel .hotelListBlock_typeB .ctm_bdrColumn .col { padding: 0; }
@media all and (max-width: 739px){
	#Hotel .hotelListBlock_typeB .ctm_bdrColumn .col:nth-of-type(n+2) { margin-top: 32px; }
}

#Hotel .hotelBlock .headingWrap { position: relative; }


#Hotel .hotelBlock .headingWrap .ctm_pageTtl .ttlLv2 { margin: 40px 0 10px; }
#Hotel .hotelBlock .headingWrap .ctm_pageTtl .ttlLv2 h3 { font-size: 1.8rem; color: #42bdc7; }
@media all and (min-width: 740px){
	#Hotel .hotelBlock .headingWrap .ctm_pageTtl .ttlLv2 { margin: 20px 0 10px; }
	#Hotel .hotelListBlock_typeA .headingWrap .ctm_pageTtl .ttlLv2 h3 { font-size: 2.0rem; }
}

#Hotel .hotelBlock .headingGrade { position: absolute; display: inline-block; overflow: visible;
top: -5px; left: 10px; margin: 0; padding: 8px 0 3px; z-index: 2; width: 8.0rem; font-size: 1.2rem; font-weight: normal; color: #fff; text-align: center; background: #002f61; border-radius: 2px 0 0 0; }
#Hotel .hotelBlock .gradeL .headingGrade { background: #5e459d; }
#Hotel .hotelBlock .gradeS .headingGrade { background: #9b8343; }
#Hotel .hotelBlock .gradeA .headingGrade { background: #42bdc7; }
#Hotel .hotelBlock .gradeB .headingGrade { background: #42bdc7; }
#Hotel .hotelBlock .gradeC .headingGrade { background: #42bdc7; }

#Hotel .hotelBlock .headingGrade:before { content: ''; position: absolute; top: -1px; right: -5px; border: none; border-bottom: solid 6px #ccc; border-right: solid 5px transparent; }
#Hotel .hotelBlock .headingGrade:after { content: ''; position: absolute; left: 0; top: 100%; height: 0; width: 0; border-left: 4.0rem solid transparent; border-right: 4.0rem solid transparent; border-top: 1.5rem solid #42bdc7; }

#Hotel .hotelBlock .gradeL .headingGrade:after { border-top: 1.5rem solid #5e459d; }
#Hotel .hotelBlock .gradeS .headingGrade:after { border-top: 1.5rem solid #9b8343; }
#Hotel .hotelBlock .gradeA .headingGrade:after { border-top: 1.5rem solid #42bdc7; }
#Hotel .hotelBlock .gradeB .headingGrade:after { border-top: 1.5rem solid #42bdc7; }
#Hotel .hotelBlock .gradeC .headingGrade:after { border-top: 1.5rem solid #42bdc7; }

#Hotel .hotelBlock .headingGrade strong { padding-right: 0.4rem; font-size: 1.8rem; font-weight: normal; color: #fff; }

@media all and (min-width: 740px){
	#Hotel .hotelListBlock_typeA .headingGrade { width: 9.0rem; }
	#Hotel .hotelListBlock_typeB .headingGrade { width: 7.6rem; font-size: 1.1rem; }
	
	#Hotel .hotelBlock .headingGrade:before {  }
	#Hotel .hotelBlock .headingGrade:after { border-left: 4.5rem solid transparent; border-right: 4.5rem solid transparent; border-top: 2.0rem solid #42bdc7; }
	#Hotel .hotelBlock .ctm_bdrColumn .headingGrade:after { border-left: 3.8rem solid transparent; border-right: 3.8rem solid transparent; }
	#Hotel .hotelBlock .gradeL .headingGrade:after { border-top: 2.0rem solid #5e459d; }
	#Hotel .hotelBlock .gradeS .headingGrade:after { border-top: 2.0rem solid #9b8343; }
	#Hotel .hotelBlock .gradeA .headingGrade:after { border-top: 2.0rem solid #42bdc7; }
	#Hotel .hotelBlock .gradeB .headingGrade:after { border-top: 2.0rem solid #42bdc7; }
	#Hotel .hotelBlock .gradeC .headingGrade:after { border-top: 2.0rem solid #42bdc7; }
	#Hotel .hotelBlock .ctm_bdrColumn .headingGrade:after { border-top: 1.5rem solid #002f61; }
	#Hotel .hotelBlock .ctm_bdrColumn .gradeL .headingGrade:after { border-top: 1.5rem solid #5e459d; }
	#Hotel .hotelBlock .ctm_bdrColumn .gradeS .headingGrade:after { border-top: 1.5rem solid #42bdc7; }
	#Hotel .hotelBlock .ctm_bdrColumn .gradeA .headingGrade:after { border-top: 1.5rem solid #42bdc7; }
	#Hotel .hotelBlock .ctm_bdrColumn .gradeB .headingGrade:after { border-top: 1.5rem solid #42bdc7; }
	#Hotel .hotelBlock .ctm_bdrColumn .gradeC .headingGrade:after { border-top: 1.5rem solid #42bdc7; }
	
	#Hotel .hotelBlock .headingGrade strong { font-size: 2.0rem; }
	#Hotel .hotelBlock .ctm_bdrColumn .headingGrade strong { font-size: 1.8rem; }

}

#Hotel .hotelBlock .headingWrap .ctm_pageTtl .ttlLv3 { margin: 0; padding-top: 30px; border-top: 1px solid #bab144; }
#Hotel .hotelBlock .headingWrap .ctm_pageTtl .ttlLv3 h4 { font-size: 2.2rem; }
#Hotel .hotelBlock .headingWrap .ctm_pageTtl .ttlLv3 h4 .fsS_01 { font-size: 2.2rem; }
@media all and (min-width: 740px){
	#Hotel .hotelListBlock_typeA .headingWrap .ctm_pageTtl .ttlLv3 h4 { font-size: 2.8rem; }
}

#Hotel .hotelBlock .headingWrap .listIcon ul > li { color: #9a9236; font-weight: bold; border: 1px solid #bab144; }

#Hotel .hotelBlock .headingWrap .detailWrap { position: relative; }
#Hotel .hotelBlock .headingWrap .detailWrap .listIcon ul { display: inline-block; position: absolute; top: 4px; right: 4px; }
#Hotel .hotelBlock .headingWrap .detailWrap .listIcon ul > li { width: 11.0em; text-align: center; font-size: 1.2rem; font-weight: normal; color: #fff; background: #bab144; border: none; border-radius: 6px; }
#Hotel .hotelBlock .headingWrap .detailWrap .listIcon ul > li + li { margin-top: 0.36em; }
@media all and (min-width: 740px){
	#Hotel .hotelListBlock_typeA .headingWrap .detailWrap .listIcon ul > li { font-size: 1.4rem; }
}

#Hotel .hotelBlock .hotelListBlockInr { padding: 12px 14px 14px; }
#Hotel .hotelBlock .hotelListBlockInr .imgParts { padding: 10px 5px 15px; }
@media all and (min-width: 740px){
	#Hotel .hotelListBlock_typeA .hotelListBlockInr { padding: 12px 24px 24px; }
}

@media all and (min-width: 740px){
	#Hotel .hotelListBlock_typeA .leadBox .clm_1_2col .col:nth-child(1) { width: calc(63% - 15px); }
	#Hotel .hotelListBlock_typeA .leadBox .clm_1_2col .col:nth-child(2) { width: calc(37% - 15px); }
}

#Hotel .hotelBlock .hotelListBlockInr .specialBox { margin-top: 14px; padding: 14px 14px 10px; background: #feebf0; border: 1px solid #bab144; position: relative; }

#Hotel .hotelBlock .specialBox:before { transform: scale(0.23); position: absolute; top: -128px; left: -134px; content: url(/content/dam/sites/wwwjalcojp/jp/ja/intltour/hwi/photo-wedding/img_sites/hotel_icon01.png?v=2); }

#Hotel .hotelBlock .specialBox .pageTtl_box { position: relative; }
#Hotel .hotelBlock .specialBox .ttlLv4 { margin: 0; padding: 0; }
#Hotel .hotelBlock .specialBox .ttlLv4 .heading { font-size: 1.6rem; }

#Hotel .hotelBlock .specialBox .ttlLv4 .heading sup { position: absolute; display: inline-block; height: 2.0em; line-height: 2.0em; padding: 0 30px 0 30px; color: #fff; background: #ed6286 !important; box-sizing: border-box; top: 0; left: 0; }
#Hotel .hotelBlock .specialBox .ttlLv4 .heading sup:after { content: ''; position: absolute; width: 0px; height: 0px; z-index: 1; top: 0; right: 0; border-width: 1.0em 0.5em 1.0em 0; border-color: transparent #fff transparent transparent; border-style: solid; }
#Hotel .hotelBlock .specialBox .ttlLv4 .heading .fs_S01 { font-size: 1.4rem; }

/*
#Hotel .hotelBlock .hotelListBlockInr .detailWrap .listIcon ul > li { color: #fff; background: #42bdc7; border-radius: 6px; }
*/

/*
#Hotel .hotelBlock .priceBox .ctm_pageTtl .ttlLv4 { margin-top: 0; }
#Hotel .hotelBlock .priceBox .material-symbols-outlined { padding-right: 0.5rem; font-size: 2.8rem; vertical-align: -0.5rem; color: #666; }
#Hotel .hotelBlock .priceBox .table { margin-top: 10px; }

*/

#Hotel .hotelBlock .btn { margin-top: 14px; }

/** Hotel_02 **/
#Hotel .hotelBlock #Hotel_02 .headingWrap .detailWrap .listIcon ul > li:nth-child(3) { background: #00a0ad; }

@media all and (max-width: 739px){
	#Hotel .hotelBlock #Hotel_02 .clm_1_2col .col:nth-child(2) .headingWrap .ctm_pageTtl .ttlLv2 { margin-top: 80px; }
}
@media all and (min-width: 740px){
	#Hotel .hotelBlock #Hotel_02 .headingWrap .ctm_pageTtl .ttlLv2 { margin-bottom: 30px; }
}





/* Apply */
#Apply { padding-top: 50px; }

#Apply .tbl_col_1 { width: 30%; }

#Apply .linkBlock .btnBK .btn { background-color: #00a9b7; font-weight: bold; }

@media all and (max-width: 739px){
	#Apply .linkBlock .colWrap .col:nth-of-type(n+2) { margin-top: 24px; }
	#Apply .linkBlock .btnBK .btn { margin-top: 0; }
}



/* JapaneseDress */
#JapaneseDress .detailBlock { padding: 16px; background: #f9f6d6; border-radius: 20px; }
@media all and (min-width: 740px){
	#JapaneseDress .detailBlock { padding: 30px; }
}

#JapaneseDress .detailBlock .leadBox { position: relative; }

#JapaneseDress .leadBox .photo_01 { text-align: right; }
#JapaneseDress .leadBox .photo_01 .txtListBox li { display: inline-block; }
@media all and (max-width: 739px){
	#JapaneseDress .leadBox .photo_01 .imgParts { text-align: center; }
	#JapaneseDress .leadBox .photo_01 img { width: 98%; transform: rotate(-5deg); }
}
@media all and (min-width: 740px){
	#JapaneseDress .leadBox .photo_01 { position: absolute; width: 45%; top: -92px; right: -30px; }
	#JapaneseDress .leadBox .photo_01 .textWrap { margin-top: -4px; padding-right: 50px; text-align: right; }
	#JapaneseDress .leadBox .photo_01 .txtListBox li { background: #fff; }
	#JapaneseDress .leadBox .photo_01 img { transform: rotate(-7deg); }
}

#JapaneseDress .detailBlock .detailListBox { padding: 14px; background: #fff; border: 1px solid #bab144; }
@media all and (min-width: 740px){
	#JapaneseDress .detailBlock .detailListBox { padding: 20px; }
	#JapaneseDress .detailListBox .clm_1_2col .col:nth-child(1) { width: calc(60% - 15px); }
	#JapaneseDress .detailListBox .clm_1_2col .col:nth-child(2) { width: calc(40% - 15px); }
}

#JapaneseDress .detailBlock .detailListBox .bdrWrap { margin-top: 16px; padding-top: 10px; border-top: 1px solid #bab144; }

#JapaneseDress .detailListBox .ctm_pageTtl .ttlLv2 { margin: 0 0 0; padding: 6px 0 0; text-align: left; }
#JapaneseDress .detailListBox .ctm_pageTtl .ttlLv2 .heading { font-size: 1.6rem; color: #9a9236; }
#JapaneseDress .detailListBox .ctm_pageTtl .ttlLv2 .heading em { color: #333; }

#JapaneseDress .detailListBox .noteListWrap { display: flex; }



/* FAQ */

#FAQ .acodBlock > .heading { background-color: #ed6286; border: 1px solid #ed6286; }
#FAQ .acodBlock > .heading .inr { /* padding-left: 0; */ }
#FAQ .acodBlock > .content { padding: 10px 17px; }
	
#FAQ .acodBlock .txtQ { position: relative; display: block; padding-left: 4.0rem; }
#FAQ .acodBlock .txtQ:before { content: "Q"; position: absolute; display: inline-block; top: 0; left: 0;
width: 2.0em; height: 2.0em; line-height: 2.0em; text-align: center; font-weight: bold; color: #ed6286; background: #fff; border-radius: 50%; }
@media all and (max-width: 739px){
	#FAQ .acodBlock > .heading { min-height: 58px; }
}
@media all and (min-width: 740px){
	#FAQ .acodBlock .txtQ { line-height: 2.0; }
}

#FAQ .acodBlock .txtA { position: relative; padding-left: 3.4rem; min-height: 3.0rem; }
#FAQ .acodBlock .txtA:before { content: "A"; position: absolute; display: inline-block; top: 0; left: -0.6rem;
width: 2.0em; height: 2.0em; line-height: 2.0em; text-align: center; font-weight: bold; color: #fff; background: #ed6286; border-radius: 50%; }



/* module tab */
@media all and (max-width: 739px){
	/* #tabApply .tab_scroll-on .tabs_parent > li { width: 240px; } */
}




@media all and (max-width: 739px){
	.photo-wedding .js-eqHeightCols .js-eqHeightCols-item,
	.photo-wedding .js-eqHeightCols .js-eqHeightCols-item-2,
	.photo-wedding .js-eqHeightCols .js-eqHeightCols-item-3,
	.photo-wedding .js-eqHeightCols .js-eqHeightCols-item-4 { height: auto!important; }
}

@media all and (max-width: 739px){
}
@media all and (min-width: 740px){
}