@charset "utf-8";

/* -----------------------------------------
	Base
----------------------------------------- */

.footer_pickUp {display: none;}

.font35 {font-size: 3.5rem;}
.fontBlack {color: #333 !important;}

.w200 {width: 200px;}
.w290 {width: 290px;}

.m0Auto {margin: 0 auto;}
.mb2p {margin-bottom: 2%;}
.ml2p {margin-left: 2%;}

.pt14 {padding-top: 14px !important;}
.pt18 {padding-top: 18px !important;}
.pb12 {padding-bottom: 12px !important;}
.pb18 {padding-bottom: 18px !important;}

.calc01 {width: calc(100% - (60px + 15px));}
.calc02 {margin-left: 5%;}

.grayBox {padding: 15px 30px 30px;}

.link02 a, .linkBlank02 a {padding-bottom: 5px;}

.infoBtnWrap a {font-size: 1.6rem;font-weight: bold;}

.font16Btn a {
	padding: 14px 15px 12px !important;
	font-size: 1.6rem;
	font-weight: bold;
}
.font16Btn a {
	padding: 18px 15px !important;
	font-size: 1.6rem;
	font-weight: bold;
}

.cardsBox {
	padding-top: 20px !important;
}


/* -----------------------------------------
	chatpage
----------------------------------------- */

#chatpage {
	width: auto;
	margin: 0 auto;
	max-width: 910px;
}


/* -----------------------------------------
	qaBtn
----------------------------------------- */

[class*="qaBtn"] {
	position: relative;
	width: 355px;
	margin: 30px auto 0;
}

.qaBtn02 {
	width: 100px;
}

[class*="qaBtn"] a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 15px 10px 30px;
}

.qaBtn01.blank a {
	padding: 10px 25px 10px 30px;
}

[class*="qaBtn"] a:before {
	content: "";
	display: block;
	position: absolute;
	background: url(../img/ico_question.svg) no-repeat;
	background-size: contain;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 10px;
	width: 16px;
	height: 16px;
}


/* -----------------------------------------
	accordion
----------------------------------------- */

.accordionBtn {
	position: relative;
	padding: 14px 45px 12px;
	background: #444;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
}

.accordionBtn:before,
.accordionBtn:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	background: #fff;
	transition: 0.4s;
}

.accordionBtn:before {
	width: 2px;
	height: 20px;
	right: 29px;
}

.accordionBtn:after {
	width: 20px;
	height: 2px;
	right: 20px;
}

.accordionBtn.open:before{
    transform: rotate( -90deg );
}

.accordion_In,.accordionBtn.open:after {
	display: none;
}


/* -----------------------------------------
	infoBtn
----------------------------------------- */

.infoBtnWrap > li > a {
	position: relative;
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 100%;
	padding: 15px 30px 15px 15px;
}

.infoBtn01 > a:before,
.infoBtn02 > a:before,
.infoBtn03 > a:before,
.infoBtn04 > a:before {
	content: "";
    display: block;
	height: 30px;
    margin-right: 10px;
}

.infoBtn01 > a:before {
    background: url("../img/ico_travelinfo.svg") no-repeat;
	background-size: 30px;
    width: 30px;
}

.infoBtn02 > a:before {
    background: url("../img/ico_clock.svg") no-repeat;
    width: 30px;
}

.infoBtn03 > a:before {
    background: url("../img/ico_transfer.svg") no-repeat;
    width: 36px;
}

.infoBtn04 > a:before {
    background: url("../img/ico_suica01.svg") no-repeat;
	background-size: 30px;
    width: 30px;
}

[class*="infoBtn"].blank a {position: relative;}
[class*="infoBtn"].blank a:after {
	content: "";
    display: block;
    background: url(/material/img/ico_blank_w.svg) no-repeat;
    background-size: contain;
    width: 12px;
    height: 12px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 10px;

}


/* -----------------------------------------
	searchBox
----------------------------------------- */

.searchBoxInfo {
	width: 530px;
	margin: 0 auto;
	background: #fff;
	padding: 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border: 1px solid #ddd;
}
.searchBoxInfo form {
	width: 100%;
}

.searchBoxInfo:before {
	content: "";
	display: block;
	background: url(/material/img/ico_search_g.svg) no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
}

.searchBoxInfo .textArea {
	border: none;
	padding: 5px 2px;
	margin: 0 5px;
	width: calc(100% - 75px);
}

.searchBoxInfo .searchbtn {
	width: 60px;
	border: none;
	background: #008803;
	color: #fff;
	border-radius: 3px;
	padding: 3px 5px;
	font-size: 1.6rem;
	cursor: pointer;
}

.searchBoxInfo .searchbtn:hover {
	box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.5);
	transition-duration: .2s;
}

.etc_searchBox {
	background: #eee;
	padding: 10px;
	display: flex;
	justify-content: center;
	margin: 10px 0 0;
}

.etc_searchBox .aLot {
	margin-right: 30px;
}

.etc_searchBox .aLot,
.etc_searchBox .lately,
.etc_searchBox .link {
	display: flex;
	flex-wrap: wrap;
}

.etc_searchBox .link li:not(:last-child) {
	margin-right: 10px;
}
.etc_searchBox .link a {
	padding-left: 15px;
}



/* -----------------------------------------
	bunnerWrap
----------------------------------------- */
.bunnerWrap li a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	background: #fff;
}


@media screen and (max-width: 750px), print{
	
	/* -----------------------------------------
		Base
	----------------------------------------- */
	
	.sp_font14 {font-size: 1.4rem !important;}
	.sp_font30 {font-size: 3rem;}
	
	.sp_mb5p {margin-bottom: 5% !important;}
	
	.sp_col2 {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.sp_col2 > * {
		width: 48.5%;
		margin-bottom: 5%;
	}
	
	.grayBox {padding: 15px 20px 25px;}
	
	.categoryWrap > li .cardsBox_link img {
		width: auto;
		height: 46px;
	}
	.categoryWrap > li > ul {
		display: none;
	}
	
	.infoBtnWrap a {
		padding: 10px 15px 9px !important;
		font-size: 1.4rem;
	}
	
	.font16Btn a {
		padding: 10px 15px 9px !important;
		font-size: 1.4rem;
	}
	.font16Btn02 a {
		padding: 10px 15px 9px !important;
		font-size: 1.4rem;
	}
	
	.cardsBox {
		padding-top: 5% !important;
	}

	
	/* -----------------------------------------
		qaBox
	----------------------------------------- */
	
	[class*="qaBtn"] {
		margin: 5% auto 0;
	}
	
	[class*="qaBtn"] a {
		padding: 3% 3% 3% 20px;
	}
	
	.qaBtn01 {
		max-width: 355px;
	}
	
	
	/* -----------------------------------------
		infoBtn
	----------------------------------------- */
	
	.infoBtn01 > a:before,
	.infoBtn02 > a:before,
	.infoBtn03 > a:before,
	.infoBtn04 > a:before {
		background-size: auto 20px;
		margin-right: 10px;
		height: 20px;
	}
	
	.infoBtn01 > a:before {
		width: 20px;
	}
	
	.infoBtn02 > a:before {
		width: 20px;
	}
	
	.infoBtn03 > a:before {
		width: 24px;
	}
	
	.infoBtn04 > a:before {
		width: 20px;
	}
	

	/* -----------------------------------------
		searchBox
	----------------------------------------- */
	
	.searchBoxInfo {
		width: 100%;
		padding: 2% 3%;
		display: flex;
		margin-bottom: 3%;
	}
	
	.searchBoxInfo > form {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}

	.searchBoxInfo .textArea {
		border: none;
		padding: 1%;
		margin: 0 3px;
		width: calc(100% - 50px);
	}

	.searchBoxInfo .searchbtn {
		width: 16%;
		padding: 1%;
		font-size: 1.5rem;
	}

	.etc_searchBox {
		background: #eee;
		padding: 3%;
		display: block;;
		justify-content: center;
		margin: 5% 0 0;
	}

	.etc_searchBox .aLot {
		margin-right: 0;
	}
	
	.etc_searchBox .aLot,
	.etc_searchBox .lately {
		display: block;
		margin-bottom: 3%;
	}
	
	.etc_searchBox .aLot dt,
	.etc_searchBox .lately dt {
		margin-bottom: 1%;
	}
	
	.etc_searchBox .link {
		display: flex;
		flex-wrap: wrap;
	}
		
		
	/* -----------------------------------------
		sp_readMore
	----------------------------------------- */	
	
	.sp_readMore {
		position: relative;
		overflow: hidden;
	}
	
	.readMore_text {
		height: 130px;
	}
	
	.readMore_btn {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 110px;
		padding: 75px 5% 0;
		background: linear-gradient(rgba(248,248,248,0) 0%, rgba(248,248,248,0.9) 60%, rgba(248,248,248,1) 95%, #f8f8f8 100%);
		color: #008803;
		text-align: right;
	}
	
	.sp_readMore.open .readMore_btn {
		display: none;
	}
	
}


#searchBox .searchBox_h {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	background-color: #008803;
	border-radius: 50%;
	font-size: 3.6rem;
	color: #fff;
	font-weight: normal;
	margin: 0 auto 30px;
}

#searchBox .searchBox_text {
	font-size: 2.4rem;
	text-align: center;
	margin-bottom: 40px;
}

#information_btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 50px;
}
#information_btn > li {
	margin-right: 15px;
	margin-bottom: 30px;
}


#information_btn li button {
	width: 175px;
	height: 80px;
	box-shadow: 0px 1px 2px 0px rgb(0 0 0 / 20%);
	background: #fff;
	border-radius: 50px;
	padding: 10px;
	cursor: pointer;
	display: block;
}

#information_btn li button.is-active {
	border: 5px solid #008803;
	padding: 5px;
}
#information_btn li button.is-Noactive {
	opacity: 0.5;
}

#information_btnForm.is-hidden,
#information_btnForm_vts.is-hidden {
	display: none;
}

#searchBoxInfo_box .searchbtn:disabled {
	background: #e5e5e5;
	cursor: default;
}
#searchBoxInfo_box .searchbtn:disabled:hover {
	box-shadow: none;
	transition-duration: 0;
}

#searchBoxInfo_box {
	position: relative;
}

#searchBox_cautionText {
	position: absolute;
	text-align: center;
	width: 530px;
	left: 0;
	right: 0;
	margin: 10px auto 0;
	color: red;
	display: none;
}

#searchBox_cautionText.is-show {
	display: block;
}

@media screen and (max-width: 750px) {

	#searchBox .searchBox_h {
		font-size: 3.6rem;
		margin: 0 auto 5%;
	}

	#searchBox .searchBox_text {
		font-size: 2.1rem;
		text-align: center;
		margin-bottom: 5%;
	}

	#information_btn {
		display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
		column-gap: 2%;
        margin-bottom: 10%;
	}

	#information_btn > li {
		width: calc((100% - 4%) / 3);
        margin-right: 0;
        margin-bottom: 5%;
	}

	#information_btn li button {
		width: 100%;
		height: auto;
	}

	#information_btn li button img {
		width: auto;
	}

	#information_btn li button.is-active {
		border: 4px solid #008803;
		padding: 6px;
	}


	#searchBox_cautionText {
		width: 100%;
		text-align: center;
		margin-top: 10px;
		color: red;
		display: none;
	}
}







/**********************************
2024リニューアル
**********************************/
#mainContents .container > .contentsWrapper > .wrapper{
	padding-bottom: 90px;
}

#mainContents .info_main{
	padding-bottom: 70px;
}
#mainContents .info_mainLink{
	margin-bottom: 26px;
	padding: 50px 20px 56px;
	background-color: #e6f0e6;
}
#mainContents .info_mainLinkTitleOuter{
	margin-bottom: 20px;
}
#mainContents .info_mainLinkTitle{
	font-size: 1.9rem;
	text-align: center;
}
#mainContents .info_mainLinkTitleBr{
	display: none;
}
#mainContents .info_mainSearchOuter{
	width: 100%;
	max-width: 735px;
    margin: 0 auto;
}
#mainContents .info_mainSearch{
	width: 100%;
	max-width: 735px;
	display: flex;
    align-items: center;
    justify-content: space-between;
	gap: 15px;
}
#mainContents .info_mainSearchTextAreaOuter{
	padding: 10px 11px 10px 18px;
    width: calc((100% - 15px) - 28.571428571%);
	height: 51px;
	background-color: #ffffff;
	border-radius: 10px;
	display: flex;
    align-items: center;
    justify-content: space-between;
	gap: 11px;
}
#mainContents .info_mainSearchTextAreaOuter::before{
	content: "";
    display: block;
    background: url(/material/img/ico_search_g.svg) no-repeat;
    background-size: contain;
    width: 20px;
    height: 19px;
}
#mainContents .info_mainSearchTextArea{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	border: 0;
	margin: 0;
	padding: 0;
	background: none transparent;
	vertical-align: middle;
	font-size: inherit;
	color: inherit;
	box-sizing: border-box;
}
#mainContents .info_mainSearchTextArea::-ms-expand{display: none;}
#mainContents .info_mainSearchTextArea::-webkit-input-placeholder {
	color: #999;
	font-size: 13px;
	font-weight: normal;
}
#mainContents .info_mainSearchTextArea::-moz-placeholder {
	color: #999;
	font-size: 13px;
	font-weight: normal;
}
#mainContents .info_mainSearchTextArea:-ms-input-placeholder{
	color: #999;
	font-size: 13px;
	font-weight: normal;
}
#mainContents .info_mainSearchTextArea{
	padding: 0 10px;
	width: 100%;
    height: 100%;
	font-size: 1.6rem;
}
#mainContents .info_mainSearchTextArea::placeholder{
	font-size: 1.6rem;
	color: #999999;
}
#mainContents .info_mainSearchBtn{
	width: 28.571428571%;
	height: 51px;
	background-color: #008803;
	border-radius: 10px;
	font-size: 1.9rem;
	font-weight: bold;
	color: #ffffff;
	cursor: pointer;
}
#mainContents .info_mainLink-2col{
	display: flex;
	justify-content: space-between;
	gap: 24px;
}
#mainContents .info_mainLink-2colBox{
	width: calc((100% - 24px) / 2);
	min-height: 202px;
	background-color: #e6f0e6;
	position: relative;
}
#mainContents .info_mainLink-2colBox::before{
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 20px;
	height: 20px;
	clip-path: polygon(0 100%, 100% 0, 100% 100%);
	background-color: #008803;
}
#mainContents .info_mainLink-2colTitle{
	font-size: 1.9rem;
	color: #008803;
	text-align: center;
}
#mainContents .info_mainLink-2colLink{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 25px;
	padding: 28px 20px;
	text-decoration: none;
	transition: .3s;
}
#mainContents .info_mainLink-2colLink:hover{
	text-decoration: none;
	box-shadow: 0px 1px 15.36px 0.64px rgba(0, 0, 0, 0.16);
}
#mainContents .info_mainLink-2colIconOuter{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 92px;
}
#mainContents .info_contact-2col{
	display: flex;
	justify-content: space-around;
	gap: 24px;
}
#mainContents .info_contact-2colBox{
	display: flex;
    flex-direction: column;
    align-items: center;
    padding: 28px 20px;
	width: calc((100% - 24px) / 2);
	background-color: #e6f0e6;
}
#mainContents .info_contact-2colDl{
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    flex-grow: 1;
}
#mainContents .info_contact-2colDt{
	text-align: center;
}
#mainContents .info_contact-2colDtTitle{
	font-size: 1.8rem;
    font-weight: bold;
}
#mainContents .info_contact-2colDd{
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
}
#mainContents .info_btn{
	display: block;
	margin: 0 auto;
	max-width: 300px;
	width: fit-content;
	min-width: 200px;
}
#mainContents .info_btn a{
	padding: 20px 32px;
}
#mainContents .info_requestHeading{
	font-size: 2.0rem;
    text-align: center;
	margin-bottom: 40px;
}

@media screen and (min-width: 751px){
	#mainContents .infoBtnWrap > li > a{
		font-size: min(1.6rem, 1.4545454545454546vw);
	}
}
@media screen and (max-width: 750px){
	#mainContents .container > .contentsWrapper > .wrapper {
        padding-bottom: 20%;
    }
	#mainContents .info_mainLinkTitleBr{
		display: block;
	}
	#mainContents .info_mainSearch{
		gap: 12px;
	}
	#mainContents .info_mainSearchTextAreaOuter{
		padding: 10px 6px 10px 8px;
		width: calc((100% - 12px) - 20%);
		gap: 6px;
	}
	#mainContents .info_mainSearchTextArea{
		padding: 0 6px;
		font-size: 1.4rem;
	}
	#mainContents .info_mainSearchTextArea::placeholder{
		font-size: 1.4rem;
	}
	#mainContents .info_mainSearchTextArea:focus{
		background-color: #ffffff;
	}
	#mainContents .info_mainSearchBtn{
		width: 20%;
		font-size: 1.4rem;
	}
	#mainContents .info_mainLink-2col{
		flex-direction: column;
	}
	#mainContents .info_mainLink-2colBox{
		width: 100%;
	}
	#mainContents .info_contact-2col{
		flex-direction: column;
	}
	#mainContents .info_contact-2colBox{
		padding: 20px 14px;
		width: 100%;
	}
	#mainContents .info_contact-2colDl{
		gap: 18px;
	}
	#mainContents .info_contact-2colDd{
		font-size: 2rem;
	}
}