@charset "utf-8";

/* コンテンツ幅 フル */
.contentsInr { width: auto; padding: 0px; }

@media all and (max-width: 739px){
	.ctm_contentsFull { padding: 30px 0; }
}

/* コンテンツ幅 950px */
.contentsInr .contentsUnit { padding: 0 10px; }
@media all and (min-width: 740px){
	.contentsInr .contentsUnit { width: 950px; padding: 0px; margin: 0 auto; }
}

/* font */
.fs11 { font-size: 1.1rem !important; }
.fs13 { font-size: 1.3rem !important; }
.fs15 { font-size: 1.5rem !important; }
.fs20 { font-size: 2.0rem !important; }
.fs21 { font-size: 2.1rem !important; }

.fcRD_ul { border-bottom: 1px solid #c00; }

@media all and (min-width: 740px){
	.alC_forPC { text-align: center; }
}

/* ctm_pageTtl */
.study-abroad .ctm_pageTtl .heading { font-family: 'M PLUS 2', sans-serif; font-weight: 500; }
.study-abroad .ctm_pageTtl .heading strong { font-weight: 600; }

.study-abroad .ctm_pageTtl .ttlLv1 h2 { font-size: 2.8rem; font-weight: 600; }
.study-abroad .ctm_pageTtl .ttlLv2 h3 { font-size: 2.2rem; }

@media all and (min-width: 740px){
	.study-abroad .ctm_pageTtl .ttlLv1 h2 { font-size: 3.4rem; }
	.study-abroad .ctm_pageTtl .ttlLv2 h3 { font-size: 2.8rem; }
}

/* ctm_pageTtl - ttlLv1 */
.study-abroad .ctm_pageTtl .ttlLv1 { margin-top: 30px; }

.study-abroad .ctm_pageTtl h2 { position: relative; display: inline-block; padding: 1.5rem 1.5rem; color: #012f83;
border-bottom: 3px solid #012f83; border-left: 3px solid #012f83; border-radius: 0 0 0 20px; }
.study-abroad .ctm_pageTtl h2:before { content: ''; position: absolute; right: 80px; bottom: -20px;
width: 0; height: 0; border-width: 20px 20px 0 0; border-style: solid; border-color: #012f83 transparent transparent transparent; }
.study-abroad .ctm_pageTtl h2:after { content: ''; position: absolute; right: 83px; bottom: -14px;
width: 0; height: 0; border-width: 15px 15px 0 0; border-style: solid; border-color: #fff transparent transparent transparent; }
.study-abroad .ctm_pageTtl h2 span { margin-right: 0.5rem; font-size: 2.2rem; }

.study-abroad .ctm_pageTtl h2 sup { position: absolute; padding: 0 1.0rem 0.2rem; font-size: 2.2rem; color: #fff; background: #f05d5d; transform: rotate(-10deg); top: -30px; left: -30px; }

@media all and (min-width: 740px){
	.study-abroad .ctm_pageTtl h2 { padding: 1.5rem 2.0rem; }
	.study-abroad .ctm_pageTtl h2 span { font-size: 2.8rem; }
}

.study-abroad .pageTtl_typeA h2 { color: #fff; border-bottom: 3px solid #fce982; border-left: 3px solid #fce982; }
.study-abroad .pageTtl_typeA h2:before { border-color: #fce982 transparent transparent transparent; }

/* anchorList */
.anchorList-2 { margin-top: 10px; }
@media all and (min-width: 740px){
	.anchorList-2 { margin-top: 20px; }
}

@media all and (max-width: 739px){
	.study-abroad .anchorList .btn { margin-top: 0; }
}

/* caption */
.imgParts figcaption { font-size: 1.1rem; }
.txtCaption { font-size: 1.2rem; }

/* table */
.study-abroad .table_typeB table { border: none; }
.study-abroad .table_typeB th { border: 1px solid #fff; border-left: none; border-top: none; background: #012f83; color: #fff; }
.study-abroad .table_typeB td { border: 1px solid #012f83; border-left: none; border-top: none; background: #fff; }
.study-abroad .table_typeC td:first-child { border-left: 1px solid #012f83; }
.study-abroad .table_typeB tr:first-child td { border-top: 1px solid #012f83; }

.study-abroad .table_typeC table { border: none; }
.study-abroad .table_typeC th { border: 1px solid #fff; border-left: none; border-top: none; background: #4a84ee; color: #fff; }
.study-abroad .table_typeC td { border: 1px solid #4a84ee; border-left: none; border-top: none; background: #fff; }
.study-abroad .table_typeC td:first-child { border-left: 1px solid #4a84ee; }
.study-abroad .table_typeC tr:first-child td { border-top: 1px solid #4a84ee; }

.study-abroad .table_typeD .table_typeA,
.study-abroad .table_typeD table,
.study-abroad .table_typeD tr th,
.study-abroad .table_typeD tr td { background: transparent; border: none; text-align: center; }
.study-abroad .table_typeD tr:first-child th,
.study-abroad .table_typeD tr:first-child td { border-top: 1px solid #f989c0; }
.study-abroad .table_typeD tr th:first-child,
.study-abroad .table_typeD tr td:first-child { border-left: none; }
.study-abroad .table_typeD tr th { color: #012f83; border-bottom: 1px solid #f989c0; }
.study-abroad .table_typeD tr td { border-bottom: 1px solid #f989c0; }

/* slide */
.study-abroad .slick-list li { position: relative; }
.study-abroad .slick-list li:after { content: ""; position: absolute; bottom: 1px; left: 10px; font-size: 1.1rem; color: #fff; text-shadow: 1px 1px 8px rgba(0, 0, 0, 1.0); }

.study-abroad .slick-box .slidControl { padding: 7px 10px !important; bottom: 20px; }
@media all and (min-width: 740px){
	.study-abroad .slick-box .slidControl { padding: 6px 15px 7px 10px !important; }
}

/* scheduleWrap */
.scheduleWrap { margin: 0 auto; padding: 0 16px 20px; background: #fff; border: 3px solid #f05d5d; border-radius: 20px; box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, 0.1); }
@media all and (min-width: 740px){
	.scheduleWrap { padding: 0 30px 30px; width: 50%; }
}

.scheduleWrap .ctm_pageTtl .ttlLv3 { margin-top: 20px; }
.scheduleWrap .ctm_pageTtl .ttlLv3 h4 { position: relative; display: inline-block;
margin-left: 30px; padding: 1rem 2rem 1rem 3rem; line-height: 1.7; height: 52px; color: #fff; background: #f05d5d !important; }
.scheduleWrap .ctm_pageTtl .ttlLv3 h4:before { content: ''; position: absolute; 
top: 0; left: -22px;
border-width: 26px 22px 26px 0; border-style: solid; border-color: transparent #f05d5d transparent transparent; }
.scheduleWrap .ctm_pageTtl .ttlLv3 h4:after { content: ''; position: absolute; 
top: calc(50% - 5px); left: 0; width: 10px; height: 10px; background: #fff; border-radius: 50%; }

.scheduleWrap .table_typeD .table_typeA,
.scheduleWrap .table_typeD table,
.scheduleWrap .table_typeD tr th,
.scheduleWrap .table_typeD tr td { background: transparent; border: none; text-align: center; }
.scheduleWrap .table_typeD tr:first-child th,
.scheduleWrap .table_typeD tr:first-child td { border-top: 1px solid #f05d5d; }
.scheduleWrap .table_typeD tr th:first-child,
.scheduleWrap .table_typeD tr td:first-child { border-left: none; }
.scheduleWrap .table_typeD tr th { color: #4a84ee; border-bottom: 1px solid #f05d5d; }
.scheduleWrap .table_typeD tr td { border-bottom: 1px solid #f05d5d; }
@media all and (max-width: 739px){
	.scheduleWrap .table_typeD tr th,
	.scheduleWrap .table_typeD tr td { padding: 10px 10px; }
}

/* MainVisual */
#MainVisual { position: relative; background: #012f83; }



/* Feature */
#Feature.ctm_contentsFull { background: #fdefa1; }

#Feature .ctm_pageTtl .ttlLv1 h2:after { border-color: #fdefa1 transparent transparent transparent; }

#Feature .ctm_pageTtl .ttlLv2 h3 { }
#Feature .ctm_pageTtl .ttlLv2 h3 span { background:linear-gradient(transparent 70%, #fff 70%); }

/** featureBlock **/
#Feature .featureBlockInr { border: none; padding: 20px; background: #fff; border: 3px solid #012f83; border-radius: 20px; box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, 0.1); }

#Feature strong { color: #012f83; }

#Feature .featureBlock .txtList > li { padding-left: 3.0rem!important; }
#Feature .featureBlock .txtList > li + li { margin-top: 0.6em; padding-top: 0.7em!important; border-top: 1px solid #dedede; }
#Feature .featureBlock .txtList > li:before { content: '\e8dc'; font-family: 'Material Icons'; font-size: 2.4rem; color: #f05d5d; background-color: transparent; top: 3px; left: 0; }
#Feature .featureBlock .txtList > li:first-child:before { top: -7px; }
#Feature .featureBlock .txtList strong { font-size: 1.8rem; }

/** joinBlock **/
.joinBlock { padding: 0 30px 30px; background: #fff; border: 3px solid #4a84ee; border-radius: 20px; box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, 0.1); }

.joinBlock .ctm_pageTtl .ttlLv2 { margin-top: 0; padding: 0; }
.joinBlock .ctm_pageTtl .ttlLv2 h3 { display: inline-block; padding: 2px 20px 6px; font-size: 2.4rem; color: #fff; background: #4a84ee !important; border-radius: 0 0 10px 10px; }

/** schoolBlock **/
.schoolBlock .schoolBox { padding: 10px 10px 20px; background: #fff; border: 3px solid #f989c0; border-radius: 20px; box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, 0.1); }
@media all and (min-width:740px){
	.schoolBlock .schoolBox { padding: 20px; }
}

@media all and (min-width:740px){
	.schoolBlock .schoolBox .specWrap .clm_1_2col.colWrap .col:nth-child(1) { width: calc(62% - 15px); }
	.schoolBlock .schoolBox .specWrap .clm_1_2col.colWrap .col:nth-child(2) { width: calc(38% - 15px); }
	/*
	.schoolBlock .schoolBox .clm_1_3col.colWrap { justify-content: space-between; }
	.schoolBlock .schoolBox .clm_1_3col.colWrap .col { margin: 0; width: 32%; }
*/}

.schoolBlock .schoolBox .specWrap .clm_1_2col.colWrap .col:nth-child(1) { position: relative; }
.schoolBlock .schoolBox .specWrap .clm_1_2col.colWrap .col:nth-child(1):after { content: url(/jp/ja/intltour/study-abroad/ame/img_sites/icon_flag.jpg); position: absolute; display: inline-block; 
top: -30px; right: -40px; transform: scale(0.40); }
@media all and (min-width:740px){
	.schoolBlock .schoolBox .specWrap .clm_1_2col.colWrap .col:nth-child(1):after { right: -55px; }
}

.schoolBlock .schoolBox .txtItem { position: relative; margin-top: 10px; padding: 0.2em 0 0 0; }
/* .schoolBlock .schoolBox .txtItem03_target { min-height: 4.5rem; } */
.schoolBlock .schoolBox .txtItem:before { width: 7.0em; padding: 0.2em 0 0.1em; color: #fff; text-align: center; background: #012f83; border-radius: 5px; }
@media all and (min-width: 740px){
	.schoolBlock .schoolBox .txtItem { padding: 0.2em 0 0 8.0em; }
	.schoolBlock .schoolBox .txtItem:before { content: ''; position: absolute; top: 0; left:0;  }
}
@media all and (max-width: 739px){
	.schoolBlock .schoolBox .txtItem:before { margin-bottom: 0.5rem; font-size: 1.4rem; }
}
.schoolBlock .schoolBox .txtItem01_country:before { content: "国・都市"; }
.schoolBlock .schoolBox .txtItem02_name:before    { content: "学校名"; }
.schoolBlock .schoolBox .txtItem03_target:before  { content: "参加対象年齢"; }
.schoolBlock .schoolBox .txtItem04_intro:before   { content: "学校紹介"; }
.schoolBlock .schoolBox .txtItem05_period:before  { content: "留学期間"; }
.schoolBlock .schoolBox .txtItem06_program:before { content: "プログラム"; }

.schoolBlock .schoolBox .specWrap .ttlLv4 { margin: 0; padding: 0 0 0.2rem; }

.ame .schoolBlock .schoolBox .specWrap .txtItem01_country .ttlLv4 { color: #f05d5d; }
.schoolBlock .schoolBox .specWrap .txtItem01_country .ttlLv4 { color: #f989c0; }

.schoolBlock .schoolBox .specWrap .txtItem02_name .ttlLv4 h5 { font-size: 1.8rem; color: #012f83; }

.schoolBlock .schoolBox .programWrap .txtItem { padding: 3.5rem 0 0; }

@media all and (min-width: 740px){
	.schoolBlock .schoolBox .programWrap .txtItem table { width: 100%; }
}

.schoolBlock .schoolBox .programWrap .fcWT { display: block; padding: 0.2em 0 0.1em; background: #f989c0; border-radius: 5px; }

.schoolBlock .schoolBox .programWrap .btnBK .btn { background: #f05d5d; border-radius: 100vh; }



/* Schedule */
#Schedule.ctm_contentsFull { background: #fff; }

@media all and (max-width: 739px){
	#Schedule .ctm_pageTtl .ttlLv1 { margin-bottom: 50px; }
}

#Schedule .ctm_pageTtl .ttlLv2 { }
#Schedule .ctm_pageTtl .ttlLv2 h3 { display: block; color: #fff; background: #f05d5d!important; border-radius: 100vh; width: 100%; margin: 0 auto; padding: 0.2rem 2.5rem 0.5rem; }
@media all and (min-width: 740px){
	#Schedule .ctm_pageTtl .ttlLv2 h3 { width: 70%; }
}

#Schedule .schoolBlock { position: relative; padding: 40px 20px 20px; border: 3px solid #f05d5d; border-radius: 20px; box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, 0.1); }
#Schedule .schoolBlock .ctm_pageTtl .ttlLv2 { position: absolute; width: 100%; top: -95px; left: 50%; transform: translateX(-50%); }
@media all and (max-width: 739px){
	#Schedule .ctm_pageTtl .ttlLv2 h3 { width: 90%; }
}
#Schedule .schoolBlock .slick-dotted.slick-slider { margin-top: 0; }
#Schedule .schoolBlock .tbl_col_1 { width: 25%; }

#Schedule .pointBlock .ctm_bdrColumn .col { position: relative; padding: 15px; background: #fdf4c0; border: 2px solid #4a84ee; border-radius: 20px; }
@media all and (max-width: 739px){
	#Schedule .pointBlock .clm_1_2col.colWrap .col:nth-of-type(n+2) { margin-top: 24px; }
}
#Schedule .pointBlock .ctm_bdrColumn .col .js-eqHeightCols-item { display: grid; place-items: center; }
#Schedule .pointBlock .headingIcon .ttlLv3 h4 { position: absolute; display: inline-block; top: -20px; left: -15px; /* left: 50%; transform: translateX(-50%); */ font-size: 3.6rem; width: 5.0rem; height: 5.0rem; line-height: 4.6rem; color: #fff; background-color: #4a84ee !important; border-radius: 50%; }
@media all and (min-width: 740px){ 
	#Schedule .pointBlock .headingIcon .ttlLv3 h4 { left: -20px; }
}
#Schedule .pointBlock .ttlLv3 { margin: 0 0 10px; padding: 0; }
#Schedule .pointBlock .ttlLv3 h4 {  }
#Schedule .pointBlock .ctm_bdrColumn .imgParts { text-align: center; }
#Schedule .pointBlock .ctm_bdrColumn img { width: 50%; }

#Schedule .specBlock .tbl_col_1 { width: 30%; }




#Schedule .scheduleBlock .table_typeA th { text-align: center; }

#Schedule .scheduleBlock .itineraryWrap .tbl_col_1 { width: 16%; }
#Schedule .scheduleBlock .itineraryWrap .tbl_col_2 {}

#Schedule .scheduleBlock .itineraryWrap .ttlLv4 { margin: 0; padding: 0; }
#Schedule .scheduleBlock .itineraryWrap .ttlLv4 h5 { text-align: center; }
#Schedule .scheduleBlock .itineraryWrap .ttlLv4 em { color: #4a84ee; }

#Schedule .scheduleBlock .itineraryWrap strong { color: #f05d5d; }

#Schedule .scheduleBlock .itineraryWrap .line_01 { height: 1.9em; }
#Schedule .scheduleBlock .itineraryWrap .line_02 { height: 3.8em; }
#Schedule .scheduleBlock .itineraryWrap .line_03 { height: 5.7em; }




/* Hotel */
#Hotel.ctm_contentsFull { background: #dff9fb; }

#Hotel .ctm_pageTtl .ttlLv1 h2:after { border-color: #dff9fb transparent transparent transparent; }
#Hotel .ctm_pageTtl h2 sup { font-size: 2.0rem; background: #f989c0; }

#Hotel .ctm_bdrColumn .clm_1_2col .col { padding: 0 20px 20px; background: #fff; }

#Hotel .ctm_bdrColumn .txtGrade { text-align: center; }
#Hotel .ctm_bdrColumn .txtGrade p { display: inline-block; padding: 0.4rem 2.0rem 0.1rem; font-size: 1.4rem; color: #fff; background: #4a84ee !important; border-radius: 0 0 8px 8px; }
#Hotel .ctm_bdrColumn .txtGrade p em { padding-right: 0.3rem; font-size: 2.0rem; vertical-align: -0.2rem; }

#Hotel .ctm_bdrColumn .ctm_pageTtl .ttlLv2 { margin-top: 24px; }
#Hotel .ctm_bdrColumn .ctm_pageTtl .ttlLv2 h3 { font-size: 2.4rem; }

#Hotel .ctm_bdrColumn .clm_1_2col .col:nth-of-type(1) .slick-list li:nth-child(5):after { content: "眺望指定なし（一例）"; }
#Hotel .ctm_bdrColumn .clm_1_2col .col:nth-of-type(2) .slick-list li:nth-child(5):after { content: "ワイキキタワー 眺望指定なし（一例）"; }




/* Contact */

#Contact .ctm_pageTtl .ttlLv1 h2:after { border-color: #eee transparent transparent transparent; }
@media all and (max-width: 739px){
	#Contact .ctm_pageTtl h2 span { margin-right: 0; }
}

#Contact .contactBox { padding: 20px; border: 3px solid #012f83; border-radius: 20px; background: #fff; box-shadow: 3px 3px 0px 0px #012f83; }

#Contact .ctm_pageTtl .ttlLv2 { position: relative; margin: 20px 0 10px; color: #e43737; }
#Contact .ctm_pageTtl .ttlLv2:after { position: absolute; content: ''; top: -10px; left: 0; width: 100%; height: 8px;
background-image: -webkit-repeating-linear-gradient(135deg, #e43737, #e43737 1px, transparent 2px, transparent 5px);
background-image: repeating-linear-gradient(-45 deg, #e43737, #e43737 1px, transparent 2px, transparent 5px);
background-size: 7px 7px;
-webkit-backface-visibility: hidden;
backface-visibility: hidden; }

#Contact .ttlLv2 h3 .material-symbols-outlined { padding-left: 0.2em; font-size: 3.8rem; vertical-align: -0.2em; 
font-variation-settings: 'FILL' 1, 'wght' 300; }

#Contact .btnBox .btnGY .btn { border: 1px solid #bbb; }







/* Apply */
#Apply.ctm_contentsFull { background: #fff; }

#Apply .detailBlock .tbl_col_1 { width: 25%; }

#Apply .howtoBlock { padding: 20px 10px 20px; background: #fdf4c0; border-radius: 20px; }
@media all and (min-width: 740px){
	#Apply .howtoBlock { padding: 0 20px 20px; }
}

#Apply .howtoBlock .ttlLv3 h4 { border-left: 3px solid #4a84ee; }

@media all and (min-width: 740px){
	#Apply .howtoBlock table { width: 100%; }
}
#Apply .howtoBlock .tbl_col_1 { width: 66%; }




@media all and (max-width: 739px){
	.study-abroad .js-eqHeightCols .js-eqHeightCols-item,
	.study-abroad .js-eqHeightCols .js-eqHeightCols-item-2,
	.study-abroad .js-eqHeightCols .js-eqHeightCols-item-3,
	.study-abroad .js-eqHeightCols .js-eqHeightCols-item-4 { height: auto!important; }
}

@media all and (max-width: 739px){
}
@media all and (min-width: 740px){
}