@charset "utf-8";

/* ------------------------------------------
	header
------------------------------------------ */
/*759px以下*/
@media screen and (max-width: 759.9px) {
.login_ex1{
	position: absolute;
    top: 12px;
    right: 3px;
    width: 40%;
    z-index: 9500;
}
.login_ex1 li{
	margin: 0;
    padding: 10px 15px;
    background: #FFF;
    border: 2px solid #1c4e9c;
    position: relative;
    border-radius: 5px;
    box-shadow: 2px 2px 5px #f4f4f4;
}
.login_ex1 li:after{
	content: "";
    width: 13px;
    height: 13px;
    position: absolute;
    top: 33%;
    right: 15px;
    background: #FFF;
    border: 1px solid #555;
    box-shadow: 1px 1px 0 #fff, 2px 2px 0 #333;
}
.login_ex1 li a {
    display: flex;
    background: #FFF;
	padding: 0;
	color: #1c4e9c;
}
.login_ex1 li p {
	font-size: 16px!important;
	font-weight: bold;
    line-height: 1;
    display: grid;
    align-items: center;
}
.login_ex1 li img {
	width: 35px;
    height: fit-content;
    margin: 0;
}
}
/*760px以上*/
@media screen and (min-width: 760px) {
.login_ex1{
	position: absolute;
    top: 16px;
    right: 8px;
    width: 180px;
    z-index: 9500;
    margin-right: calc((100% - 962px) / 2);
}
@media screen and (max-width: 980px) {
	.login_ex1{margin-right: calc((100% - 770px) / 2);}
}
.login_ex1 li{
	margin: 0;
    padding: 10px 15px;
    background: #FFF;
    border: 2px solid #1c4e9c;
    position: relative;
    border-radius: 5px;
    box-shadow: 2px 2px 5px #f4f4f4;
}
.login_ex1 li:after{
	content: "";
    width: 15px;
    height: 15px;
    position: absolute;
    top: 32%;
    right: 25px;
    background: #FFF;
    border: 1px solid #555;
    box-shadow: 1px 1px 0 #fff, 2px 2px 0 #333;
}
.login_ex1 li a {
    display: flex;
    background: #FFF;
	padding: 0;
	color: #1c4e9c;
}
.login_ex1 li p {
	font-size: 16px!important;
	font-weight: bold;
    margin-left: 5%;
    display: grid;
    align-items: center;
}
.login_ex1 li img {
    width: 36px;
    height: auto;
}
}
/*-----header-----*/

/*gadget*/
.disnone{display:none}
.fw-top .fw-mv-search {width: 100%;}

/*header/footer*/
#pc_header .HeadNav01,
#pc_header .HeadNav02,
#pc_header #Gnav,
#smp_header #headRMain li.area,
#smp_header #headRMain li.mycoupon,
#smp_header #headRMain li.menu {display:none!important;}

/* ------------------------------------------
	ex_select
------------------------------------------ */
#ex_select {
    border-bottom: 5px solid #0B318F!important;
    color: #000;
}
.fw-top .fw-btn-search-01,#ex_select li.select,.fw-top .fw-btn-detail-01, .fw-top .fw-btn-fix-flight, .fw-top .fw-btn-next-date, .fw-top .fw-btn-fix-train, .fw-top .fw-btn-detail-01-arr, .fw-top .fw-btn-fix-01, .fw-top .fw-btn-fix-01-arr,.difference a:before{
	background: #0B318F!important;
}
.fw-top .fw-checkbox--icon .fw-checkbox__input:checked + .fw-checkbox__label:before, .fw-top .fw-checkbox--normal .fw-checkbox__input:checked + .fw-checkbox__label:beforem,.difference a:before {
    background-color: #0B318F!important;
}
.fw-top .fw-checkbox--icon .fw-checkbox__label:before, .fw-top .fw-checkbox--normal .fw-checkbox__label:before {
    border: 1px solid #0B318F!important;
}
.fw-top .fw-search-top-accordion__trigger {
    border: 1px solid #0B318F!important;
}
.fw-top .fw-btn-search-01--hotel, .fw-top .fw-btn-search-01--air, .fw-top .fw-btn-search-01--jr {
    background: #0B318F!important;
}
.fw-top {color: #000!important;}

.fw-top .fw-btn-search-01.fw-is-disabled{
	 background: #ccc !important;
}
#jrsetInfo .inner:first-child { text-align: left !important;}








/*PCSP共通設定*/
html {scroll-behavior: smooth;}/*smooth scroll*/

/*759px以下*/
@media screen and (max-width: 759.9px) {
#wrapper {line-height: 1.4;}
.spnone{display:none;}

/* CSS */
#dirPathBlock,
#anchorLinkBlock {
	font-size: 10px;
	margin: 1% 1% 0 1%;
}
#dirPathBlock p,
#anchorLinkBlock a{font-size: 12px;}
h1 {
	font-size: 12px;
	margin: 0 1%;
}

.inner{
	width: 96%;
	margin: 0 2%;
	padding: 24px 0;
	box-sizing: border-box;
}

/*EXガシェット*/
.difference{
	margin:15px 0;
	text-align:center;
}
.difference a{
	font-size: 12px;
	position:relative;
}
.difference a:before{
	content: "?";
    position: absolute;
    top: 0;
    left: -24px;
    background: #1c4e9c;
    width: 18px;
    height: 18px;
    color: #FFF;
    border-radius: 10px;
}
#ex_select{
	display: flex;
    border-bottom: 5px solid #1c4e9c;
	padding: 0 10px;
}
#ex_select li{
	width: 50%;
    text-align: center;
    padding: 32px 3px 5px;
    background: #FFF;
    position: relative;
	display: grid;
    align-items: center;
	line-height: 1.3;
	font-size: 12px;
    letter-spacing: -1px;
}
#ex_select li a{color: #1c4e9c;}
#ex_select li.select{
	background: #1c4e9c;
    color: #FFF;
}
#ex_select li:after {filter: invert(1);}
#ex_select li.select:after {filter: none;}
#ex_select li:nth-of-type(1):after{
	content: "";
    width: 24px;
    height: 24px;
    position: absolute;
    top: 5px;
    left: calc((100% - 24px) / 2);
    background: url(../../images/EXDP.png) no-repeat;
    background-size: cover;
}
#ex_select li:nth-of-type(2):after{
	content: "";
    width: 48px;
    height: 24px;
    position: absolute;
    top: 5px;
    left: calc((100% - 48px) / 2);
    background: url(../../images/EXTour.png) no-repeat;
    background-size: cover;
}
.ex_gdt{padding: 0 10px;}


/* ------------------------------------------
	footer pagetop
------------------------------------------ */
footer {
	/*padding-bottom: 68px;*/
    background: #343474;}
	
footer #pagetop {
	text-align: right;
    position: fixed;
    bottom: 64px;
    right: 10px;
    z-index: 48;
	background: none;
}
footer #pagetop img {
	width: 32px;
	height: 33px;
}
footer p {
	font-size: 10px;
	background: #343474;
    text-align: center;
    color: #fff;
    margin: 25px 0 0;
    padding: 5px 0;
}
	
/* ------------------------------------------
	title
------------------------------------------ */
#title{
  margin: 0;
  padding: 0;
	width:100%;
	background:#96D7FF;
}
#title h2{
margin: 0;
padding: 0;
}
#title img{
width: 100%;
height: auto;
vertical-align: top;
}
	
/* ------------------------------------------
	dc_top
------------------------------------------ */
	
  #dc_top {
        background: linear-gradient(to right, #fde7e9, #fff 50%, #e6f0f8);
  }
	
	p.dc{
		font-size: 1rem;
		color: #3d3d3d;
		margin: 1rem auto 0;
		line-height: 1.7;
		text-align: center;
		font-weight: bold;
	}
	
	p.dc_date{
        font-size: 1.2rem;
        color: #3d3d3d;
        text-align: center;
        font-weight: bold;
		margin: 2rem auto 0rem;
	}
	.inbox {
    margin: 3rem auto;
}
	
  h2 {
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    color: #282828;
    margin: 2rem auto 1rem;  
  }
  h2 span.blue {
    color: #0068b7;
  }
  h2 span.red,span.red {
    color: #e60012;
  }
  h2 span.white {
    color: #FFF;
  }
  h2 span.yellow {
    color: #ffff00;
  }
	
   #dc_top.inbox {
        margin: 4rem auto 2rem;
    }
    #dc_top .app_title {
        background-color: #0068b7;
        color: #FFF;
        padding: 15px 15px 5px;
        font-size: 1.5rem;
        font-weight: bold;
        line-height: 1.25;
        text-align: center;
    }
	#dc_top .txt_at {
        font-size: 1rem;
        font-weight: normal;
        padding: 7px 0 10px;
    }

/* ------------------------------------------
	map
------------------------------------------ */	

	#map img {
   width: 100%;
}

	.maptxt{
		text-align: left;
		font-size: 0.85rem;
	}
/* ------------------------------------------
	plan_inner
------------------------------------------ */
   p.plan_h3 {
        width: fit-content;
        font-size: 1.5rem;
        color: #2858be;
        font-weight: bold;
        text-align: center;
        margin: 2rem auto 1rem;
        clear: both;
        background: url(../images/tit_ptt_blue.png) repeat-x 50% bottom;
        padding: 10px 2px 20px 2px;
    }
	
	
#dynamicpack_plan .inner{
		background: none;
	}
	
#dynamicpack_plan dt p {
	font-size: 16px;
    letter-spacing: 0.04em;
    line-height: 1.5;
    text-align: center;

}
#dynamicpack_plan .plan_wrap{
	display: flex;
	flex-wrap: wrap;
}
#dynamicpack_plan .plan_wrap li {
    width: 48%;;
    margin: 0 1% 2%;
    background: #FFF;
    padding: 5px;
    font-size: 14px;
    box-sizing: border-box;
}
	#dynamicpack_plan .plan_wrap dt{
	text-align: left;
	font-weight: bold;		
}	
	
#dynamicpack_plan .plan_wrap .thumbnail {margin: 10px 0;}
#dynamicpack_plan .plan_wrap .thumbnail img {
	width: 100%;
    height: auto;
}
#dynamicpack_plan .plan_wrap .benefits,#dynamicpack_plan .plan_wrap .station {
	margin: 10px 0;
    line-height: 1.4;
    font-size: 12px;
}
#dynamicpack_plan .inner:nth-of-type(2) .benefits{height: 48px;}
#dynamicpack_plan .plan_wrap .price {
	text-align: center;
    color: red;
    font-weight: bold;
    font-size: 1.2em;
	margin: 10px 0 5px;
}
#dynamicpack_plan .plan_wrap .exp {
	font-size: 10px;
	color: #222;
	font-weight: normal;
    text-align: center;
}	
#dynamicpack_plan dt img{
	width: 17%;
    margin-right: 5px;	
}	
#dynamicpack_plan dt img{
	margin-bottom: 2px
	}			
/*blue btn*/
.blue_btn a,.blue_btn_full a{
	font-size: 14px;
    padding: 5px 0 7px;
    margin: 0 0 5px;
    font-weight: bold;
    background-color: #1c4e9c;
    display: block;
    text-align: center;
	position:relative;
}
.blue_btn_full a p,.blue_btn a p{color: #fff !important;}
.blue_btn a:after,.blue_btn_full a:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 0 7px 8px;
    position: absolute;
    top: 32%;
    right: 10px;
	border-color: transparent transparent transparent #FFF;
}
	
p.info{
	font-weight: bold;
    margin-top:15px;
	}
p.info span{
	color: #ff0000;
	}	

.blue_btn_full {
    margin: 0 auto 1rem;
	width: 96%;
}	
.blue_btn_full a {
    padding: 1rem 0;
}
.plan_inner .text_info {
    margin: 10px 0;
}
.plan_inner .text_info p {
    font-size: 14px;
    line-height: 1.6;
}
.plan_inner .text_info p:last-child {
    color: #cc0000;
}

	
/* ------------------------------------------
	jrsetInfo
------------------------------------------ */
    #jrsetInfo {
        width: 100% !important;
        margin: 0 auto;
        display: block;
        position: relative;
        padding: 3rem 0;
        background: #d7effc url(../images/back.png) repeat-y 50% top;
    }	
	
	#jrsetInfo .inner {
    text-align: center;
	background: #FFF;
}
	#jrsetInfo .inner:first-child {
        margin-bottom: 30px;
}	
	
#jrsetInfo.artcleWrap{
padding-top: 0;
}
.jrsetImg{
text-align: center;
padding: 0 1.5rem;
}
.jrsetTit{
display: flex;
justify-content: center;
align-items: center;
margin: 40px 0 20px 0;
padding: 0 1.5rem;
text-align: center;
}
.jrsetpoint{
display:flex;
flex-wrap:wrap;
justify-content: center;
gap:10px;
}
.jrsetpoint li{
width: 28%;
}
	
.jrsetatt{
    padding: 2rem 1rem 0rem;
    font-size: 0.8rem;
}

	
	
/* ------------------------------------------
	flow
------------------------------------------ */	
    #flow {
        width: 100% !important;
        margin: 0 auto;
        display: block;
        position: relative;
        padding: 3rem 0;
        background: #d7effc url(../images/back.png) repeat-y 50% top;
    }	
	
	#flow .inner {
    text-align: center;
	background: #FFF;
}
	
	
.commonTit{
	text-align:center;
	margin-bottom:20px;
}

.commonTit span{
position: relative;
display:inline-block;
padding: 10px 2px 20px 2px;
font-size:1.5rem;
font-weight: 600;
line-height: 1.5;
color:#000;
background: url(../images/tit_ptt.png) repeat-x 50% bottom;
}
/* stepBox
------------------------------------------ */
.stepContainer{
padding-bottom :60px;
}

/*slider*/
#flow .slider {
  margin: 0 auto;
  width: 100%;
}
.slick-dots{
position: absolute;
bottom: -35px;
display: block;
width: 100%;
padding: 0;
margin: 0;
list-style: none;
text-align: center;
}
.slick-dots li{
position: relative;
display: inline-block;
width: 30px;
height: 30px;
margin: 0 10px;
padding: 0;
cursor: pointer;
}
.slick-dots li button{
width:100%;
height:100%;
background:gray;
border-radius:50%;
color:#fff;
}
.slick-dots li.slick-active button{
background:#FF73A0;
}

.stepBox{
width: 86%;
margin: 10px auto ;
padding: 0;
background: #fff;
text-align: center;
}
.stepBox .stepTit{
padding: 0 0 5px 0;
}
.stepBox .stepTit img{
margin: 0 auto;
}
.stepBox dl{
width: 80%;
margin: 0 auto;
padding: 15px;
background: #FFCEDE;
border-radius: 20px;
}
.stepBox dl dt img{
height: 140px;
max-width: 220px;
margin: 0 auto;
}
.stepBox dl dd{
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
padding-top: 10px;
font-size: 1.1rem;
font-weight: 600;
line-height: 1.3;
height: 4em;
}
.stepBox dl dd .sizeS{
display: block;
font-size: 0.95rem;
}

.paypayatt{
padding: 0 10px 20px 10px;
font-size: 0.8rem;
text-align: center;
}


/* information
------------------------------------------ */
dd.icimg {
    display: flex;
    padding: 0.5rem 0!important;
}
dd.icimg img {
    width: 20%;
    flex: 1;
    margin: 0 1rem 0 0;
}	
dd.icimg p {
    flex: 4;
    font-size: 1.1rem;
    font-weight: 600;
    color: #FF73A0;
    line-height: 1.5;
}		
	
.information{
padding:10px 15px;
border-top:dashed 1px #ccc;
}
.information dl{
padding-top: 20px;
}
.information dt{
font-size: 1.1rem;
font-weight: 600;
}
.information dt::before{
content:"■";
padding-right: 3px;
}
.information dd{
padding: 2px 0 20px 0;
font-size: 1rem;	
}
.information dd li::before{
content:"・";
font-size: 1.1rem;
padding-right: 3px;
}
.icoMail{
display: block;
position: relative;
padding: 0 5px 0 26px;
}
.icoMail a{
text-decoration: underline;
}
.icoMail::before{
position: absolute;
top:0;
left: 4px;
font-family: 'Material Icons Outlined';
content: 'mail';
color: #666;
font-size: 1.1rem;
}
sup{
vertical-align: top;
}
.att{
font-size: 0.8rem;
}

.accordion-box {
    position: relative;
}
.accordion-box label {
    height: 140px; /* グラデーションの高さ */
    cursor: pointer;
    text-align: center;
    font-size: 12px;
    position: absolute;
    bottom: 0;
    width: 100%;

    /* 以下グラデーションは「背景が白」に併せて設定しています */ 
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
	
	transform: translateX(-50%);	
}
.accordion-box input:checked + label {
    background: inherit; /* 開いた時には背景グラデーションを消す */
}
.accordion-box label:after {
    content: "続きをよむ"; /* ラベルの文字 */
    letter-spacing: .05em;
    line-height: 2.5rem;
    position: absolute;
    bottom: 20px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    color: #000;
    background-color: #ccc;
    width: 18.75rem;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.accordion-box label:before {
    content: "↓";
    font-weight: 700;
    position: absolute;
    bottom: 30px;
    left: 50%;
    -webkit-transform: translate(-140px, 0);
    transform: translate(-140px, 0);
    background-color: #fff;
    z-index: 1;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    width: 20px;
    height: 20px;
    line-height: 20px;
}
.accordion-box input {
    display: none;
}
.accordion-box .accordion-container {
    overflow: hidden;
    height: 200px; /* 開く前に見えている部分の高さ */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
	text-align: left;	
}

.accordion-box input:checked + label {
    /* display: none ; 閉じるボタンは要らないとき */
}
.accordion-box input:checked + label:after {
    content: "閉じる";
}
.accordion-box input:checked + label:before {
    content: "↑";
}
.accordion-box input:checked ~ .accordion-container {
    height: auto;
    overflow: visible;
    padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
	text-align: left;
}
/* ------------------------------------------
	appdl
------------------------------------------ */
	
#appdl {
        width: 100% !important;
        margin: 0 auto;
        display: block;
        position: relative;
        padding: 3rem 0;
        background: #d7effc url(../images/back.png) repeat-y 50% top;
}	
#appdl .inner {
    text-align: center;
	background: #FFF;
}
	.app_box{
		padding:0 1rem;
	}
#appdl span{
		font-size: 0.85rem;
}
p.EXLOGO_txt {
    font-size: 1rem;
    font-weight: bold;
    padding: 5px;
}
section.dc_box .app_title {
    background-color: #0068b7;
    color: #FFF;
    padding: 15px 15px 0;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.25;
    margin: 0 auto 20px;
	text-align: center;
}	
	
.app_title {
    background-color: #0B318F;
    color: #FFF;
    padding: 15px 15px 0;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.25;
    margin: 0 auto 20px;
}
.EXLOGO_txt_at{
	font-size: 0.85rem;
	font-weight: normal;
    padding: 10px 0 15px;
}

p.EXLOGO {
    font-size: 40px;
    font-weight: bold;
    color: #0B318F;
    margin: 15px auto 0;
}
.applogo_btn a{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #0B318F;
    margin: 0 auto 25px;
    padding: 12px 0 8px;
    color: #FFFF8C !important;
    -webkit-border-radius: 20px;
    border-radius: 10px;
    width: 100%;
    font-size: 1rem;
    letter-spacing: 2px;
    font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    transition: 0.2s;
    line-height: 1.3;		
}	

.applogo_btn a::after {
    position: absolute;
    right: 40px;
    content: '';
    width: 10px;
    height: 10px;
    border-top: 3px solid #FFFF8C;
    border-right: 3px solid #FFFF8C;
    transform: rotate(45deg);	
}
.logo_btn {
    display: flex;
    gap: 14px;
    justify-content: center;
}
.logo_btn img {
    width: 100%;
}	
}



/*760px以上*/
@media screen and (min-width: 760px),print {
/* CSS */
#wrapper {line-height: 1.231;}
#dirPathBlock,
h1,
.iframe_end-content_gadget,
#anchorLinkBlock{
	width: 100%;
	max-width:970px;
	min-width:760px;
	margin: auto;
}

/*panlist&back*/
#dirPathBlock,
#anchorLinkBlock {
	width: 100%;
	margin: 0 auto;
	display: block;
	font-size: 12px;
}
#dirPathBlock p,
#anchorLinkBlock a{font-size: 12px;}
h1 {
	font-size: 14px;
    width: auto;
	max-width:970px;
	min-width:760px;
    margin: 0 auto 5px;
}

.inner{
	width: 96%;
	max-width:970px;
	min-width:760px;
	margin: 0 auto;
	padding:50px 0;
	display: block;
}
	
section{
	line-height: 1.6;
    font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	}


/*EXガシェット調整*/
.difference{
	margin:15px 0;
	text-align:center;
}
.difference a{
	font-size: 16px;
	position:relative;
}
.difference a:before{
    content: "?";
    position: absolute;
    top: -5px;
    left: -60px;
    background: #1c4e9c;
    width: 30px;
    height: 30px;
    color: #FFF;
    border-radius: 15px;
    font-size: 20px;
}
#ex_select{
	display: flex;
    border-bottom: 5px solid #1c4e9c;
}
#ex_select li{
	width: 50%;
    text-align: center;
    padding: 44px 10px 5px;
    background: #FFF;
    position: relative;
	font-size: 18px;
	cursor:pointer;
	display: grid;
    align-items: center;
	line-height: 1.4;
}
#ex_select li a{color: #1c4e9c;}
#ex_select li.select{
	background: #1c4e9c;
    color: #FFF;
}
#ex_select li:after {filter: invert(1);}
#ex_select li.select:after {filter: none;}
#ex_select li:nth-of-type(1):after{
	content: "";
    width: 36px;
    height: 36px;
    position: absolute;
    top: 5px;
    left: calc((100% - 24px) / 2);
    background: url(../../images/EXDP.png) no-repeat;
    background-size: cover;
}
#ex_select li:nth-of-type(2):after{
	content: "";
    width: 72px;
    height: 36px;
    position: absolute;
    top: 5px;
    left: calc((100% - 48px) / 2);
    background: url(../../images/EXTour.png) no-repeat;
    background-size: cover;
}
#ex_select li:not(.select):hover{opacity:0.8;}



/* ------------------------------------------
	footer pagetop
------------------------------------------ */
footer {
	background: #343474;}
footer #pagetop {
    bottom: 10px;
    position: fixed;
    right: 20px;
    text-align: right;
    z-index: 50;
	background: none;
}
footer p {
	font-size: 12px;
	background: #343474;
    text-align: center;
    color: #fff;
    margin: 0;
    padding: 5px 0;
}	
	
	
	
/* ------------------------------------------
	title
------------------------------------------ */
	
  h2 {
    width: auto;
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
  }
	
  #title {
    margin: 0;
    padding: 0;
    width: 100%;
    background: #FFF;
  }
  #title h1 {
    margin: 0;
    padding: 0;
  }
  #title img {
    width: 100%;
    height: auto;
    vertical-align: top;
  }
  #title {
    width: 100%;
    background: #FFF url(../images/main.jpg) no-repeat 50% 50%;
    background-size: cover;
    height: 550px;
  }
	
/* ------------------------------------------
	map
------------------------------------------ */	

	#map img {
   width: 100%;
}
		
/* ------------------------------------------
	dc_top
------------------------------------------ */
	
  #dc_top {
        background: linear-gradient(to right, #fde7e9, #fff 50%, #e6f0f8);
  }
	
	p.dc{
		font-size: 20px;
		color: #3d3d3d;
		margin: 1rem auto 0;
		line-height: 1.7;
		text-align: center;
		font-weight: bold;
	}
	
	p.dc_date{
		font-size: 25px;
        color: #3d3d3d;
        text-align: center;
        font-weight: bold;
	}
	
  h2 {
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    color: #282828;
    margin: 3rem auto 0;	  
  }
  h2 span.blue {
    color: #0068b7;
  }
  h2 span.red,span.red {
    color: #e60012;
  }
  h2 span.white {
    color: #FFF;
  }
  h2 span.yellow {
    color: #ffff00;
  }
	
    #dc_top .inbox {
        margin: 4rem auto 2rem;
    }
    #dc_top .app_title {
        background-color: #0068b7;
        color: #FFF;
        padding: 15px 0 0;
        font-size: 28px;
        font-weight: bold;
        line-height: 1.25;
        margin: 0 auto 20px;
        text-align: center;
    }
	#dc_top .txt_at {
        font-size: 16px;
        font-weight: normal;
        padding: 7px 0 10px;
    }
	
	
/* ------------------------------------------
	plan_inner
------------------------------------------ */
   p.plan_h3 {
        width: fit-content;
        font-size: 40px;
        color: #2858be;
        font-weight: bold;
        text-align: center;
        margin: 0px auto 1rem;
        padding: 10px 50px;
	   padding: 0 3px 20px 3px;
        clear: both;
	   background: url(../images/tit_ptt_blue.png) repeat-x 50% bottom;
	   letter-spacing: 1px;
    }

	
/*dynamicpack_planプラン*/
#dynamicpack_plan dt p {
	font-size: 16px;
    letter-spacing: 0.04em;
    line-height: 1.5;
    text-align: center;
}
#dynamicpack_plan .plan_wrap{
	display: flex;
	flex-wrap: wrap;
}
#dynamicpack_plan .plan_wrap li {
    width: calc(94% / 3);
    margin: 0 1% 2%;
    background: #FFF;
    padding: 20px;
    font-size: 14px;
    box-sizing: border-box;
}
#dynamicpack_plan .plan_wrap dt {
	text-align: center;
    margin: 0;
    padding: 0;
}
#dynamicpack_plan .plan_wrap dt{
	font-size: 1.2em;
	font-weight: bold;
}
#dynamicpack_plan .plan_wrap .thumbnail {margin: 15px 0;}
#dynamicpack_plan .plan_wrap .thumbnail img {
	width: 100%;
    height: auto;
}
#dynamicpack_plan .plan_wrap .benefits {
	margin: 15px 0;
    line-height: 1.4;
}
#dynamicpack_plan .plan_wrap .price {
	text-align: center;
    color: red;
    font-weight: bold;
    font-size: 1.4em;
	margin: 15px 0 5px;
}
#dynamicpack_plan .plan_wrap .exp {
	font-size: 11px;
	color: #222;
	font-weight: normal;
    text-align: center;
}
	
#dynamicpack_plan .inner {
background: none;
margin:60px auto;
padding:0;
width: 100%!important;	
}

#dynamicpack_plan dt p {
	font-size: 16px;
    letter-spacing: 0.04em;
    line-height: 1.5;

    text-align: center;
}
#dynamicpack_plan .plan_wrap{
	display: flex;
	flex-wrap: wrap;
}
#dynamicpack_plan .plan_wrap li{
    position:relative;
    width: calc(94% / 3);
    margin: 0 1% 2%;
    background: #FFF;
    padding: 20px;
    font-size: 14px;
    box-sizing: border-box;
}

.flex{
    display: flex;
    justify-content: space-between;
}
.flex>p{
    width: 49%;
}
.flex>p span.days{
    border-bottom: 1px solid #666;
    color: #1a85b5;
    font-size: 20px;
    display: block;
}
.flex>p span.tit{
    font-size: 18px;
    display: block;
}

	
	
/*blue btn*/
	.blue_btn a	{
			font-size: 16px;
		    background-color: #1c4e9c;
	}
	.blue_btn_full a	{
			font-size: 20px;
		    background-color: #1c4e9c;
	}
	
.blue_btn a,.blue_btn_full a{
    padding: 5px 0 7px;
    margin: 0 0 12px;
    font-weight: bold;
    display: block;
    text-align: center;
	position:relative;
}
.blue_btn_full a p,.blue_btn a p{color: #fff !important;}
.blue_btn a:after,.blue_btn_full a:after  {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 0 7px 8px;
    position: absolute;
    top: 32%;
    right: 10px;
	border-color: transparent transparent transparent #FFF;
}	

.blue_btn_full {
    margin: 0 auto 5rem;
    padding: 28px;
}	
.blue_btn_full a {
    padding: 1rem 0;
}
	
p.info{
	font-weight: bold;
	}
p.info span{
	color: #ff0000;
	}

.plan_inner .text_info {
    margin: 15px 0;
}
.plan_inner .text_info p {
    font-size: 15px;
    text-align: center;
    line-height: 1.6;
}
.plan_inner .text_info p:last-child {
    color: #cc0000;
}
	
	
/* ------------------------------------------
	jrsetInfo
------------------------------------------ */
	
    #jrsetInfo {
        width: 100% !important;
        margin: 0 auto;
        display: block;
        position: relative;
        padding: 5rem 0;
        background: #d7effc url(../images/back.png) repeat-y 50% top;
    }	
	
	#jrsetInfo .inner {
    text-align: center;
	background: #FFF;
    padding: 4rem;	
}
	#jrsetInfo .inner:first-child {
        margin-bottom: 50px;
}

#jrsetInfo.artcleWrap{
padding-top: 0;
}
.jrsetImg{
text-align: center;
    width: 70%;
    margin: auto;
}
	
.jrsetpoint li img{
	min-width: 175px;
}	
	
.jrsetTit{
display: flex;
justify-content: center;
align-items: center;
    margin: 6rem 0 2rem 0;
text-align: center;
}
.jrsetTit::before,
.jrsetTit::after {
	content: '';
	width: 110px;
	height: 6px;
	background-color: #FF73A0;
	margin: 0 13px;
}
.jrsetTit img{
		width: 85%;
}	
	
.jrsetpoint{
    display:flex;
    justify-content: space-between;
    margin: 2rem 0;	
}

.jrsetatt{
    text-align: center;	
    font-size: 1.1rem;
    font-weight: 600;
}
	
/* ------------------------------------------
	flow
------------------------------------------ */	
	
    #flow {
        width: 100% !important;
        margin: 0 auto;
        display: block;
        position: relative;
        padding: 5rem 0;
        background: #d7effc url(../images/back.png) repeat-y 50% top;
    }	
	
	#flow .inner {
    text-align: center;
	background: #FFF;
    padding: 4rem;	
}
.commonTit{
	text-align:center;
	margin-bottom:50px;
	font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    margin-top:30px;
}

.commonTit span{
padding: 0 3px 20px 3px;
font-weight:600;
font-size:40px;
color:#000;
background: url(../images/tit_ptt.png) repeat-x 50% bottom;
letter-spacing: 1px;
}


/* stepBox
------------------------------------------ */
.stepContainer .slider{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
.stepBox{
width: 270px;
margin: 15px 0 ;
padding: 0 70px 0 0;
background: #fff url("../images/arrow.png") no-repeat 293px 55%;
text-align: center;
}
.stepBox:nth-child(3){
padding: 0;
background: #fff;
}
.stepBox .stepTit{
padding: 0 0 10px 0;
}
.stepBox dl{
width: 240px;
margin: 0 ;
padding: 15px;
background: #FFCEDE;
border-radius: 20px;
}
.stepBox dl dt{
}
.stepBox dl dd{
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
height: 6em;
padding-top: 10px;
font-size: 18px;
font-weight: 600;
line-height: 1.3;
}
.stepBox dl dd .sizeS{
display: block;
font-size: 0.95rem;
}
.stepArrow{
padding:40px 0 0 2px;
}
.paypayatt{
    font-size: 1rem;
	font-weight: 600;
text-align: left;	
}


/* information
------------------------------------------ */
dd.icimg {
    display: flex;
    align-items: center;
    padding: 0!important;
}
dd.icimg img {
    width: 5%;
    flex: 1;
    margin: 0 1rem 0 0;
}	
dd.icimg p {
    flex: 17;
    font-size: 18px;
    font-weight: 600;
    color: #FF73A0;
}	
	
.information{
padding:20px 0;
text-align: left;	
}
.information dl{
padding-top: 20px;
}
.information dt{
font-size: 16px;
font-weight: 600;
}
.information dt::before{
content:"■";
padding-right: 3px;
}
.information dd{
padding: 2px 0 20px 0;
}
.information dd li::before{
content:"・";
font-size: 16px;
padding-right: 3px;
}
.icoMail{
position: relative;
padding: 0 5px 0 22px;
}
.icoMail a{
text-decoration: underline;
}
.icoMail::before{
position: absolute;
top:-5px;
left: 0;
font-family: 'Material Icons Outlined';
content: 'mail';
color: #666;
font-size: 1.1rem;
}
sup{
vertical-align: top;
}
.att{
font-size: 0.8rem;
}

.accordion-box {
    position: relative;
}
.accordion-box label {
    height: 80px; /* グラデーションの高さ */
    cursor: pointer;
    text-align: center;
    font-size: 12px;
    position: absolute;
    bottom: 0;
    width: 100%;

    /* 以下グラデーションは「背景が白」に併せて設定しています */ 
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
}
.accordion-box input:checked + label {
    background: inherit; /* 開いた時には背景グラデーションを消す */
}
.accordion-box label:after {
    content: "続きをよむ"; /* ラベルの文字 */
    letter-spacing: .05em;
    line-height: 2.5rem;
    position: absolute;
    bottom: 20px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    color: #000;
    background-color: #ccc;
    width: 18.75rem;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.accordion-box label:before {
    content: "↓";
    font-weight: 700;
    position: absolute;
    bottom: 30px;
    left: 50%;
    -webkit-transform: translate(-140px, 0);
    transform: translate(-140px, 0);
    background-color: #fff;
    z-index: 1;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    width: 20px;
    height: 20px;
    line-height: 20px;
}
.accordion-box input {
    display: none;
}
.accordion-box .accordion-container {
    overflow: hidden;
    height: 200px; /* 開く前に見えている部分の高さ */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}

.accordion-box input:checked + label {
    /* display: none ; 閉じるボタンは要らないとき */
}
.accordion-box input:checked + label:after {
    content: "閉じる";
}

.accordion-box input:checked + label:before {
    content: "↑";
}
.accordion-box input:checked ~ .accordion-container {
    height: auto;
    padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}
	
/* ------------------------------------------
	appdl
------------------------------------------ */
	
#appdl {
        width: 100% !important;
        margin: 0 auto;
        display: block;
        position: relative;
        padding: 5rem 0;
        background: #d7effc url(../images/back.png) repeat-y 50% top;
}	
#appdl .inner {
    text-align: center;
	background: #FFF;
    padding: 4rem;	
}

#appdl span{
		font-size: 14px;
}	
p.EXLOGO_txt {
    font-size: 18px;
    font-weight: bold;
    padding: 5px;	
}
section.dc_box .app_title {
    background-color: #0068b7;
    color: #FFF;
    padding: 15px 0 0;
    font-size: 28px;
    font-weight: bold;
    line-height: 1.25;
    margin: 0 auto 20px;
	text-align: center;
}		
	
.app_title {
    background-color: #0B318F;
    color: #FFF;
    padding: 15px 0 0;
    font-size: 28px;
    font-weight: bold;
    line-height: 1.25;
    margin: 0 auto 20px;
}
.EXLOGO_txt_at{
	font-size: 16px;
	font-weight: normal;
    padding: 7px 0 10px;
}

p.EXLOGO {
    font-size: 40px;
    font-weight: bold;
    color: #0B318F;
    margin: 30px auto 0;
}
.applogo_btn a{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #0B318F;
    margin: 0 auto 50px;
    padding: 12px 0 8px;
    color: #FFFF8C !important;
    -webkit-border-radius: 20px;
    border-radius: 20px;
    width: 400px;
    font-size: 20px;
    letter-spacing: 2px;
    font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    transition: 0.2s;
    line-height: 1.3;		
}	

.applogo_btn a::after {
    position: absolute;
    right: 40px;
    content: '';
    width: 10px;
    height: 10px;
    border-top: 3px solid #FFFF8C;
    border-right: 3px solid #FFFF8C;
    transform: rotate(45deg);	
}
.logo_btn {
    display: flex;
    gap: 14px;
    justify-content: center;
}
	


	
}