@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Castoro:ital@0;1&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
html{
	font-size: 10px;
}
body{
	font-family: "Noto Sans JP", serif;
	font-size: 1rem;
	font-weight: 400;
	color: #333;
	margin: 0;
	padding: 0;
	background: #fff;
}
h1,h3{
	margin: 0;
	padding: 0;
}
p{
	margin: 0;
	padding: 0;
	font-size: 1.6rem;
	line-height: 32px;
	letter-spacing: 0.64px;
	font-weight: 400;
}
a{
	text-decoration: none;
	color: #333;
	transition: 0.3s;
}
ul,li{
	list-style: none;
	margin: 0;
	padding: 0;
}
figure{
	margin: 0px;
}
.serif{
	font-family: "Noto Serif JP";
}

h2{
	font-size: 4.2rem;
	font-weight: 400;
	line-height: 42px;
	letter-spacing: 6.72px;
	font-family: "Castoro", serif;
	text-align: center;
}
h2 span{
	font-size: 1.6rem;
	line-height: 28px; /* 28.8px */
	font-weight: 500;
	letter-spacing: 0.64px;
	color: #747474;
}
h3{
	font-size: 2rem;
	font-weight: 500;
	line-height: 32px;
	letter-spacing: 0.8px;
	text-align: center;
	margin: 0;
}

/*header*/
header{
	position: relative; /* デフォルトは通常表示 */
  	width: 100%;
  	transition: opacity 0.4s ease, transform 0.4s ease;
	background: #fff;
}
header.fixed {
  	position: fixed;
  	top: 0;
  	left: 0;
  	opacity: 1;
  	transform: translateY(0);
  	z-index: 999;
}
header.fixed-hide {
  	opacity: 0;
  	transform: translateY(-10px); /* 上からふわっと降りる */
}
header.fixed .hader_cnt{
	align-items: center;
}
header .hader_cnt{
	padding: 14px 4.2vw 0px;  /* 左右80px相当をvwで */
	display: flex;
	justify-content: space-between;
}
header .hader_cnt .menu .menu1{
	display: flex;
	align-items: center;
	justify-content: right;
	gap:16px;
	margin-bottom: 18px;
}
header .hader_cnt .menu .menu1 a.insta:hover{
	opacity: 0.6;
}
header .hader_cnt .menu .menu1 .tel{
	display: flex;
	align-items:center;
	gap:8px;
}
header .hader_cnt .menu .menu1 .tel .tel_cnt{
	display: flex;
	align-items:center;
	gap:8px;
}
header .hader_cnt .menu .menu1 .tel .tel_icon{
	display: flex;
	align-items: baseline;
}
header .hader_cnt .menu .menu1 .tel p{
	font-size: 2.4rem;
	line-height: 36px;
}
header .hader_cnt .menu .menu1 .tel .tel_note p{
	font-size: 1.4rem;
	font-weight: 400;
}
header .hader_cnt .menu .menu1 .map a{
	background: #333;
	color: #fff;
	padding: 10px 10px;
	position: relative;
	display: block;
}
header .hader_cnt .menu .menu1 .map a:hover{
	background: #49B6D6;
}
header .hader_cnt .menu .menu1 .map a::before{
	content: "";
	width: 21px;
	height: 21px;
	background: url("../img/common/map_icon.svg");
	background-size: 100%;
	position: absolute;
	top: 50%;
	left: 5px;
	transform: translate(0,-50%);
}
header .hader_cnt .menu .menu1 .map a p{
	line-height: 1;
	margin-left: 20px;
	transition: 0.3s;
}
header .hader_cnt .menu .menu1 .map a:hover p{
	color: #fff;
}
header .hader_cnt .menu .menu2{
	padding-bottom: 14px;
}
header .hader_cnt .menu .menu2 ul{
	display: flex;
	align-items: center;
	gap:32px;
}
header .hader_cnt .menu .menu2 ul>li{
	position: relative;
}
header .hader_cnt .menu .menu2 ul > li::before {
  	content: "";
  	position: absolute;
  	bottom: 0;
  	left: 0;
  	width: 0;               /* 初期は幅0 */
  	height: 1px;
  	background: #49B6D6;
  	transition: width 0.3s ease; /* 幅をアニメーション */
}
header .hader_cnt .menu .menu2 ul > li:hover::before {
  	width: 100%;           /* hoverで左→右に広がる */
}
header .hader_cnt .menu .menu2 ul>li::after{
	content: "";
	width: 1px;
	height:calc(100% - 15px);
	background: #333;
	position: absolute;
	top: 50%;
	right: 0px;
	transform: translate(15px,-50%);
}
header .hader_cnt .menu .menu2 ul>li:last-of-type::after{
	display: none;
}
header .hader_cnt .menu .menu2 ul > li.sub_btn {
  	cursor: pointer;
  	position: relative; /* 位置基準 */
}
header .hader_cnt .menu .menu2 ul ul.sub_menu {
  	display: none;
  	position: absolute;
  	top: 100%; /* liの直下＋14px（ヘッダーの余白分） */
  	left: -50px;     /* 必要なら調整 */
  	z-index: 99;
  	background: #fff;
  	padding: 24px;
  	width: max-content;
  	text-align: center;
}
header .hader_cnt .menu .menu2 ul ul.sub_menu li::after{
	display: none;
}

/*footer*/
footer{
	background: #E9F0F2;
	padding: 64px 0px 16px;
}
footer .footer_cnt{
	padding: 0px 5.833vw;
}
footer .footer_cnt .f_cnt1{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 54px;
	gap:48px;
}
footer .footer_cnt .f_cnt1 .logo{
	width: 23%;
}
footer .footer_cnt .f_cnt1 .logo_cnt{
	display: flex;
	flex-direction: column;
}
footer .footer_cnt .f_cnt1 .f_logo{
	max-width: 130px;
	margin-bottom: 24px;
}
footer .footer_cnt .f_cnt1 .name{
	margin-bottom: 33px;
}
footer .footer_cnt .f_cnt1 .name p{
	font-size: 2.4rem;
	line-height: 36px;
}
footer .footer_cnt .f_cnt1 .name p.small{
	font-size: 1.2rem;
	line-height: 18px;
}
footer .footer_cnt .f_cnt1 .name2 p{
	display: flex;
	align-items: center;
}
footer .footer_cnt .f_cnt1 .name2 p span{
	font-size: 1.2rem;
	margin-right: 10px;
}
footer .footer_cnt .f_cnt1 .address .f_tel{
	display: flex;
	align-items: center;
	margin-bottom: 32px;
}
footer .footer_cnt .f_cnt1 .address .f_tel .phone{
	display: flex;
	margin-right: 24px;
}
footer .footer_cnt .f_cnt1 .address .f_tel .phone p{
	margin-left: 10px;
	font-size: 2.4rem;
	line-height: 36px;
	letter-spacing: 0.96px;
}
footer .footer_cnt .f_cnt1 .address .f_tel .fax p{
	letter-spacing: 0.96px;
}
footer .footer_cnt .f_cnt1 .address .traffic .tra_ttl{
	font-size: 1.8rem;
	line-height: 27px;
	margin-bottom: 17px;
}
footer .footer_cnt .f_cnt1 .address .traffic .tra_cat{
	display: flex;
	margin-bottom: 9px;
}
footer .footer_cnt .f_cnt1 .address .traffic .tra_cat p{
	margin-left: 10px;
	line-height: 25px;
	letter-spacing: 0.64px;
}
footer .footer_cnt .f_cnt2{
	display: flex;
	flex-wrap: wrap;
	gap:48px;
	margin-bottom: 56px;
}
footer .footer_cnt .f_cnt2 .map_img{
	width: 23%;
}
footer .footer_cnt .f_cnt2 .map_img img{
	width: 100%;
	
}
footer .footer_cnt .f_cnt2 .googlemap{
	width: 70%;
	margin-top: -30px;
}
footer .footer_cnt .f_cnt2 .googlemap a:hover{
	opacity: 0.6;
}
footer .footer_cnt .f_cnt2 .googlemap p{
	text-align: right;
	margin-bottom: 8px;
	display: flex;
	justify-content: right;
	align-items: center;
	font-size: 1.4rem;
	line-height: 21px;
}
footer .footer_cnt .f_cnt2 .googlemap p img{
	margin-left: 10px;
}
footer .footer_cnt .f_cnt2 .googlemap .map{
	width: 100%;
}
footer .footer_cnt .f_cnt2 .googlemap .map iframe{
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}
footer .footer_cnt .f_cnt3 .link{
	display: flex;
	justify-content: center;
	gap:32px;
	margin-bottom: 56px;
}
footer .footer_cnt .f_cnt3 a{
	position: relative;
}
footer .footer_cnt .f_cnt3 a:hover{
	opacity: 0.6;
}
footer .footer_cnt .f_cnt3 a::after{
	content: "";
	width: 1px;
	height: calc(100% - 8px);
	background: #BCBCBC;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(16px,-50%);
}
footer .footer_cnt .f_cnt3 a:last-of-type::after{
	display: none;
}
footer .footer_cnt .f_cnt3 a p{
	line-height: 24px;
}
footer .footer_cnt2{
	border-top: solid 1px #BCBCBC;
	padding: 56px 0px 0px;
}
footer .footer_cnt2 .f_cnt2_1{
	padding: 0px 4.2vw;
}
footer .footer_cnt2 .f_cnt2_1 .bnr{
	display: flex;
	flex-wrap: wrap;
	gap:48px;
	margin-bottom: 32px;
}
footer .footer_cnt2 .f_cnt2_1 .bnr a{
	width: calc(100%/2 - 24px);
}
footer .footer_cnt2 .f_cnt2_1 .bnr a:hover{
	opacity: 0.6;
}
footer .footer_cnt2 .f_cnt2_1 .bnr a img{
	width: 100%;
}
footer .footer_cnt2 .f_cnt2_1 .site_link{
	margin-bottom: 32px;
}
footer .footer_cnt2 .f_cnt2_1 .site_link p{
	font-size: 1.6rem;
	text-align: center;
}
footer .footer_cnt2 .f_cnt2_1 .site_link p.serif{
	margin-bottom: 16px;
}
footer .footer_cnt2 .f_cnt2_1 .site_link .link_list{
	display: flex;
	justify-content: center;
	gap:32px;
	margin-bottom: 16px;
}
footer .footer_cnt2 .f_cnt2_1 .site_link .link_list a{
	position: relative;
}
footer .footer_cnt2 .f_cnt2_1 .site_link .link_list a:hover{
	opacity: 0.6;
}
footer .footer_cnt2 .f_cnt2_1 .site_link .link_list a::after{
	content: "";
	width: 1px;
	height: calc(100% - 8px);
	background: #BCBCBC;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(16px,-50%);
}
footer .footer_cnt2 .f_cnt2_1 .site_link .link_list a:last-of-type::after{
	display: none;
}
footer .slide_btn{
	background: #465E65;
	padding: 24px;
	text-align: center;
	cursor: pointer;
	color: #fff;
	transition: 0.3s;
}
footer .slide_btn p{
	font-size: 2rem;
	line-height: 32px;
	position: relative;
}
footer .slide_btn p::after{
	content: "";
	width: 24px;
	height: 24px;
	background: url("../img/common/arrow3.svg");
	background-size: cover;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0,-50%);
	transition: 0.3s;
}
footer .copyright{
	text-align: center;
}
footer .copyright p{
	font-size: 1.2rem;
	line-height: 18px;
	letter-spacing: 0.48px;
}

/* メインビジュアル部分 */
.container {
	height: 80vh;
	min-height: 700px;  /* 下限を固定 */
	max-height: 1400px;  /* 上限も固定 */
	position: relative;
	padding: 0px 4.2vw;
}
.main_vi{
	position: relative;
	width: 100%;
	height: 100%;
}
.main_logo{
	width: 118px;
	height: 118px;
	background: #fff;
	padding: 20px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 12;
	transform: translate(0px,0px);
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}
.main_logo img{
	width: 90%;
}

.topup{
	position: fixed;
	right: 0;
	bottom: 0;
	display: none; /* 初期は非表示 */
	z-index: 99;
}
.topup.stuck {
  	position: absolute; /* footerの上で止まる */
}
.topup a{
	display: block;
	background: #FFF;
	width: 66px;
	height: 66px;
}
.topup a::before{
	content: "";
	width: 26px;
	height: 30px;
	background: url("../img/common/top_icon.svg");
	background-size: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.topup a:hover{
	display: block;
	background: #49B6D6;
	width: 66px;
	height: 66px;
}
.topup a:hover::before{
	content: "";
	background: url("../img/common/top_icon_h.svg");
	background-size: 100%;
}

/*pdf*/
.link_cnt{
	background: #E9F0F2;
	padding: 56px 5.833vw;
	border-bottom: solid 1px #465E65;
}
.link_cnt h3{
	margin-bottom: 32px;
	padding-bottom: 0px;
}
.link_cnt h3::before{
	display: none;
}
.link_btn{
	display: flex;
	flex-wrap: wrap;
	gap:48px;
}
.link_btn a{
	display: block;
	width: calc(100%/2 - 48px);
	text-align: center;
	border: solid 1px #333;
	padding: 25px 0px;
	position: relative;
	transition: 0.3s;
}
.link_btn.pdf a::after{
	content: "";
	width: 23px;
	height: 23px;
	background: url("../img/common/pdf_icon.svg");
	background-size: 100%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-20px,-50%);
	transition: 0.3s;
}
.link_btn.blank a::after{
	content: "";
	width: 28px;
	height: 28px;
	background: url("../img/common/blank_icon.svg");
	background-size: 100%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-13px,-50%);
	transition: 0.3s;
}
.link_btn a:hover{
	background: #333333;
	color: #fff;
}
.link_btn.pdf a:hover::after{
	content: "";
	background: url("../img/common/pdf_icon_h.svg");
	background-size: 100%;
}
.link_btn.blank a:hover::after{
	content: "";
	background: url("../img/common/blank_icon_h.svg");
	background-size: 100%;
}
.link_btn a p{
	font-size: 2rem;
	line-height: 30px;
	letter-spacing: 0.8px;
}
.main_inq_bnr {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0,-50%);
	background: rgba(255,255,255,1);
  	padding: 14px;
  	z-index: 12;
  	display: flex;
  	flex-direction: column;     /* アイコンとテキストを上下配置 */
  	justify-content: center;    /* 縦方向の中央寄せ */
 	align-items: center;        /* 横方向の中央寄せ */
	/* アニメーション共通設定 */
  	opacity: 1;
  	transition: opacity 0.4s ease, transform 0.4s ease;
}
.main_inq_bnr.fixed {
  	position: fixed;
  	opacity: 1;
  	transform: translate(0,-50%) scale(1);
	background: #F0EAE4;
}

.main_inq_bnr.fixed-hide {
 	opacity: 0;
  	transform: translate(0,-50%) scale(0.95); /* 少し縮むように */
}
.main_inq_bnr .icon {
  	display: flex;
  	flex-direction: column;    /* アイコンとテキストを上下に並べる */
  	justify-content: center;   /* 縦方向中央寄せ（高さ方向） */
  	align-items: center;       /* 横方向中央寄せ（幅方向） */
}

.main_inq_bnr .icon img {
  	display: block;
  	margin-bottom: 5px;        /* アイコンとテキストのスペース */
}
.main_inq_bnr a{
	text-decoration: none;
	transition: 0.3s;
}
.main_inq_bnr .icon p {
	writing-mode: vertical-rl;
	text-orientation: upright;
	margin: 0;
	padding-bottom: 30px;
	position: relative;
	transition: 0.3s;
	line-height: 24px;
}
.main_inq_bnr .icon p::before{
	content: "";
	width: 24px;
	height: 24px;
	background: url("../img/common/arrow.svg");
	background-size: 100%;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0px);
	transition: 0.3s;
	z-index: 1;
}
.main_inq_bnr a:hover p{
	color: #49B6D6;
}
.main_inq_bnr a:hover p::before{
	content: "";
	width: 24px;
	height: 24px;
	background: url("../img/common/arrow6.svg");
	background-size: cover;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0px);
}

/*main*/
main section{
	padding: 0px 5.833vw;
}
main section.p_none{
	padding: 0px;
	position: relative;
}
.column{
	display: flex;
	flex-wrap: wrap;
}
.arrow_btn a{
	display: block;
	text-align: center;
	border: solid 1px #333;
	padding: 25px 0px;
	position: relative;
	transition: 0.3s;
}
.arrow_btn a::after{
	content: "";
	width: 18px;
	height: 14px;
	background: url("../img/common/arrow7.svg");
	background-size: 100%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-20px,-50%);
	transition: 0.3s;
}
.arrow_btn a:hover{
	background: #333;
	color: #fff;
}
.arrow_btn a:hover::after{
	content: "";
	width: 18px;
	height: 14px;
	background: url("../img/common/arrow8.svg");
	background-size: 100%;
}
.arrow_btn a p{
	font-size: 2rem;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 0.8px;
}

/*point*/
.point{
	background: #E9F0F2;
	padding: 64px;
	margin-bottom: 138px;
}
.point h2{
	margin-bottom: 24px;
}
.point p.sub_ttl{
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 35px;
	letter-spacing: 0.88px;
	text-align: center;
	margin-bottom: 32px;
}
.point .column {
 	gap: 48px;
	flex-wrap: nowrap;
	margin-bottom: 24px;
}
.point .col:first-child{
	flex: 0 0 30%;
  	max-width: 30%;
}
.point .col:last-child{
	flex: 1 1 66%;
 	max-width: 66%;
}
.point .col img {
  	width: 100%;
	height: auto;
}
.point .col.mov iframe{
	width: 100%;
	aspect-ratio: 16 / 9;
}
.point p.note{
	line-height: 28px;
	text-align: center;
}

/*メインリンク*/
.main_link.column{
	gap:48px;
}
.main_link .col{
	width: calc(100%/2 - 44px);
}
.main_link .col .cnt3_img{
	overflow: hidden;
	margin-bottom: 19px;
}
.main_link .col .cnt3_img figure{
	transform: scale(1);
	transition: 0.3s;
	line-height: 0; /* 余計な高さを消す */
}
.main_link .col:hover .cnt3_img figure{
	transform: scale(1.1);
}
.main_link .col img{
	display: block; /* インライン余白を消す */
  	width: 100%;    /* figure幅いっぱいに */
  	height: auto;   /* アスペクト比維持 */
}
.main_link .col .cnt3_txt{
	position: relative;
}
.main_link .col .cnt3_txt::after{
	content: "";
	width: 43px;
	height: 43px;
	background: url("../img/common/arrow.svg");
	background-size: 100%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-20px,-70%);
	transition: transform 0.3s ease;
}
.main_link .col:hover .cnt3_txt::after{
	content: "";
	background: url("../img/common/arrow6.svg");
	background-size: 100%;
}
.main_link .col .cnt3_txt p{
	font-size: 2rem;
	font-weight: 500;
	line-height: 32px;
	letter-spacing: 0.8px;
	padding-bottom: 19px;
	position: relative;
	overflow: hidden;   /* 余計なはみ出し防止 */
}
.main_link .col .cnt3_txt p::before {
  	/* グレーライン（下地） */
  	content: "";
  	width: 100%;
  	height: 1px;
  	background: #BCBCBC;
  	position: absolute;
  	bottom: 0;
  	left: 0;
}
.main_link .col .cnt3_txt p::after {
  	/* 青ライン（上に被せる） */
  	content: "";
  	width: 100%;
  	height: 2px; /* 少し太めにして完全に覆う */
  	background: #49B6D6;
  	position: absolute;
  	bottom: 0;
  	left: 0;
  	transform: scaleX(0);         /* 初期は幅ゼロ */
  	transform-origin: left;       /* 左から伸ばす */
  	transition: transform 0.3s ease;
}
.main_link .col:hover p::after {
  	transform: scaleX(1);         /* hover時に全幅 */
}

.fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.fade-up.show {
  opacity: 1;
  transform: translateY(0);
}

.pc{
	display: block;
}
.sp{
	display: none;
}
.pc1{
	display: block;
}
.sp1{
	display: none;
}
header .hader_cnt .menu .menu1 .map a.sp1{
	display: none;
}

@media screen and (min-width: 1730px) {
	.point .col.mov iframe{
		aspect-ratio: 16 / 9;
	}
}
.sp_s {
    display: flex;
    flex-direction: column-reverse; /* menu1上、menu2下 */
}
/*ヘッダー調整*/
@media screen and (max-width: 1110px) {
	.pc1{
		display: none;
	}
	.sp1{
		display: block;
	}
	header{
		padding: 0px 0px;
	}
	header .hader_cnt{
		align-items: center;
		padding: 0px 0px;
	}
	.hader_cnt .menu{
		position: fixed;
		top: 77px;
		right: 0;
		width: 100%;
		height: calc(100dvh - 77px); /* ここを100vh → 100dvhに変更 */
		background: #fff;
		z-index: 999;
		display: none; /* 初期は非表示 */
		flex-direction: column-reverse;
		justify-content: flex-end;
		transform: translateX(100%); /* 画面外に待機 */
		transition: transform 0.3s ease;
		overflow-y: auto; /* autoに変更するとスクロールが必要なときだけ表示 */
		-webkit-overflow-scrolling: touch; /* iOSで滑らかスクロール */
	}
	.hader_cnt .menu.open {
		display: flex; /* 表示時にflex適用 */
	  	transform: translateX(0); /* 表示時に右から入る */
	}
	.sp_s {
		flex-direction: column; /* menu1上、menu2下 */
		overflow-y: scroll;
    }
	header .hader_cnt .menu .menu1,header .hader_cnt .menu .menu2 ul{
		display: block;
		padding: 0px 15px;
	}
	header .hader_cnt .menu .menu2{
		margin-bottom: 24px;
		padding-bottom: 0px;
	}
	header .hader_cnt .menu .menu2 ul li{
		padding: 24px 0px;
	}
	header .hader_cnt .menu .menu2 ul li p{
		font-size: 1.8rem;
		line-height: 32px;
	}
	header .hader_cnt .menu .menu2 ul li::after{
		width: 30px;
		height: 31px;
		background: url("../img/common/arrow2.svg");
		background-size: 100%;
		transform: translate(-10px, 0%);
        top: 20px;
	}
	header .hader_cnt .menu .menu2 ul ul.sub_menu{
		position: static;
		display: block;
		width: calc(100% - 20px);
		text-align: left;
		padding: 0px 0px 0px 20px;
	}
	header .hader_cnt .menu .menu2 ul > li::before{
		width: 100%;
		background: #BCBCBC;
	}
	header .hader_cnt .menu .menu2 ul.sub_menu > li {
	  	position: relative; /* 擬似要素の基準にする */
	}
	header .hader_cnt .menu .menu2 ul li.sub_btn::after{
		transition: 0.3s;
	}
	header .hader_cnt .menu .menu2 ul li.sub_btn.open::after {
	  	transform: translate(-10px, 0%) rotate(90deg);
	}
	header .hader_cnt .menu .menu2 ul ul.sub_menu li::after{
		content: "";
		position: absolute;
		right: 0;
		width: 30px;
		height: 31px;
		background: url("../img/common/arrow2.svg");
		background-size: 100%;
		transform: translate(-10px, 0%);
        top: 20px;
		display: block;
	}
	header .hader_cnt .menu .menu2 ul ul.sub_menu li:last-of-type{
		padding-bottom: 0px;
	}
	header .hader_cnt .menu .menu2 ul ul.sub_menu li:last-of-type::before{
		display: none;
	}
	header .hader_cnt .menu .menu1 .tel{
		display: block;
		margin-bottom: 24px;
	}
	header .hader_cnt .menu .menu1 .tel .tel_cnt{
		align-items: flex-end;
		margin-bottom: 8px;
	}
	header .hader_cnt .menu .menu1 .tel .tel_icon{
		max-width: 24px;
	}
	header .hader_cnt .menu .menu1 .tel .tel_icon img{
		width: 100%;
	}
	header .hader_cnt .menu .menu1 .tel p{
		font-size: 3.8rem;
	}
	header .hader_cnt .menu .menu1 .tel .tel_note p{
		font-size: 1.6rem;
	}
	header .hader_cnt .menu .menu1 .map{
		display: flex;
		flex-wrap: wrap;
		gap:24px;
		margin-bottom: 24px;
	}
	header .hader_cnt .menu .menu1 .map a{
		width: calc(100%/2 - 32px);
		text-align: center;
	}
	header .hader_cnt .menu .menu1 .map a p{
		font-size: 1.8rem;
		font-weight: 500;
		line-height: 27px; /* 27px */
	}
	header .hader_cnt .menu .menu1 .map a::before{
		left: 0px;
		transform: translate(13px, -50%);
	}
	header .hader_cnt .menu .menu1 .map a.sp1{
		display: block;
	}
	header .hader_cnt .menu .menu1 .map a.sp1::before{
		content: "";
		width: 24px;
		height: 24px;
		background: url("../img/common/instagram_icon_sp.svg");
		background-size: 100%;
	}
	header .hader_cnt .menu .menu1 .inq_bnr{
		background: #333;
		display: flex;
		color: #fff;
		position: relative;
		transition: 0.3s;
	}
	header .hader_cnt .menu .menu1 .inq_bnr:hover{
		background: #49B6D6;
	}
	header .hader_cnt .menu .menu1 .inq_bnr::after{
		content: "";
		width: 24px;
		height: 24px;
		background: url("../img/common/arrow4.svg");
		background-size: 100%;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translate(-20px,-50%);
	}
	header .hader_cnt .menu .menu1 .inq_bnr a{
		display: flex;
		align-items: center;
		width: 100%;
		padding: 20px;
	}
	header .hader_cnt .menu .menu1 .inq_bnr p{
		line-height: 22.4px;
		color: #fff;
	}
	header .hader_cnt .menu .menu1 .inq_bnr img{
		margin-right: 14px;
	}
	
	/* メニュー開いた状態 */
	.hader_cnt .menu.open {
	  	right: 0;
	}
	/*メニューボタン*/
	.hader_cnt .hader_logo{
		position: relative;
		z-index: 9999;
		padding-left: 20px;
	}
	.hader_cnt .hader_logo a img{
		width: 245px;
	}
	/* ボタン初期状態 */
	.sp_menu_btn {
	  	position: relative;
	  	width: 37px;
	  	height: 37px;
	  	cursor: pointer;
	  	display: flex;
	  	flex-direction: column;
	  	justify-content: center; /* 中央寄せ */
		align-items: center;
		gap: 10px; /* span間の余白（調整可能） */
		background: #49B6D6;
		padding: 20px;
		z-index: 9999;
	}

	.sp_menu_btn span {
	  	display: block;
		width: 100%;
	  	height: 3px;
	  	background: #fff;
	  	border-radius: 2px;
	  	transition: 0.3s;
	}
	/* 開閉時アニメーション */
	.sp_menu_btn.active span:nth-child(1) {
	  	transform: translateY(14px) rotate(45deg);
	}
	.sp_menu_btn.active span:nth-child(2) {
	  	opacity: 0;
	}
	.sp_menu_btn.active span:nth-child(3) {
	  	transform: translateY(-10px) rotate(-45deg);
	}
	
	footer .footer_cnt,footer .footer_cnt2 .f_cnt2_1{
		padding: 0px 15px;
	}
	footer .footer_cnt .f_cnt1 .logo,footer .footer_cnt .f_cnt2 .map_img{
		width: 40%;
	}
	footer .footer_cnt .f_cnt2 .googlemap{
		width: 50%;
	}
	
	footer .footer_cnt2 .f_cnt2_1 .site_link .link_list{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0px 32px;
		margin-bottom: 16px;
	}
	
	.container{
		margin-bottom: 50px;
		padding: 0px 15px;
	}
	.main_logo{
		display: none;
	}
	.pdf_cnt{
		padding: 56px 15px;
	}
	
	main section{
		padding: 0px 15px;
	}
	.link_cnt{
		padding: 56px 15px;
	}
	.link_btn a{
		width: calc(100% / 2 - 28px);
	}
	
	/*point*/
	.point .column{
		display: block;
	}
	.point .col:first-child{
		max-width: 100%;
	}
	.point .col:last-child{
		max-width: 100%;
	}
	
	/*メインリンク*/
	.main_link .col .cnt3_txt p{
		padding-right: 70px;
		min-height: 64px;
		display: flex;
        align-items: center;
	}
	.main_link .col {
		width: calc(100% / 2 - 25px);
	}
	.main_link .col .cnt3_txt::after{
		background: url(../img/common/arrow6.svg);
    	background-size: 100%;
	}
	.main_link .col .cnt3_txt p::before{
		background: #49B6D6;
	}
}
/*ipadpro*/
@media screen and (max-width: 1024px) {
	.pdf_cnt .pdf a{
		background: #333;
		color: #fff;
	}
	.pdf_cnt .pdf a::after{
		background: url("../img/common/pdf_icon_h.svg");
		background-size: 100%;
	}
	.arrow_btn a{
		background: #333;
		color: #fff;
	}
	.arrow_btn a::after{
		background: url(../img/common/arrow8.svg);
    	background-size: 100%;
	}
	.link_btn a{
		background: #333;
		color: #fff;
	}
	.link_btn.blank a::after{
		background: url(../img/common/blank_icon_h.svg);
    	background-size: 100%;
	}
	.link_btn.pdf a::after{
		background: url(../img/common/pdf_icon_h.svg);
    	background-size: 100%;
	}
	.pagelink a::after{
		background: url(../img/common/arrow8.svg);
    	background-size: 100%;
	}
}


/*sp*/
@media screen and (max-width: 820px) {
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	.none_820{
		display: none;
	}
	
	footer .footer_cnt,footer .footer_cnt2 .f_cnt2_1{
		padding: 0px;
	}
	footer .footer_cnt .f_cnt1{
		display: block;
		padding: 0px 15px;
	}
	footer .footer_cnt .f_cnt1 .logo, footer .footer_cnt .f_cnt2 .map_img,footer .footer_cnt .f_cnt2 .googlemap{
		width: 100%;
	}
	footer .footer_cnt .f_cnt1 .logo_cnt{
		flex-direction: row;
		gap:16px;
	}
	footer .footer_cnt .f_cnt1 .f_logo{
		max-width: 73px;
	}
	footer .footer_cnt .f_cnt1 .f_logo img{
		width: 100%;
	}
	footer .footer_cnt .f_cnt1 .name{
		margin-bottom: 24px;
	}
	footer .footer_cnt .f_cnt1 .name2{
		margin-bottom: 36px;
	}
	footer .footer_cnt .f_cnt1 .name2 p{
		font-size: 1.8rem;
		line-height: 27px;
		margin-bottom: 6px;
	}
	footer .footer_cnt .f_cnt1 .address .add p{
		font-size: 1.4rem;
	}
	footer .footer_cnt .f_cnt1 .address .f_tel{
		padding-bottom: 32px;
		margin-bottom: 32px;
		border-bottom: solid 1px #BCBCBC;
	}
	footer .footer_cnt .f_cnt1 .address .traffic .tra_cat p{
		margin-bottom: 10px;
		width: 100%;
	}
	footer .footer_cnt .f_cnt1 .address .traffic .tra_cat img{
		width: 38px;
	}
	footer .footer_cnt .f_cnt2{
		margin-bottom: 32px;
		padding: 0px 15px;
	}
	footer .footer_cnt .f_cnt2 .map_img{
		margin-bottom: 16px;	
	}
	footer .footer_cnt .f_cnt2 .googlemap{
		display: flex;
		flex-direction: column-reverse;
	}
	footer .footer_cnt .f_cnt2 .googlemap .map{
		margin-bottom: 8px;
	}
	footer .footer_cnt .f_cnt3 .link{
		display: none;
		margin-bottom: 0px;
		background: #465E65;
		color: #fff;
	}
	footer .footer_cnt .f_cnt3 .link a{
		display: block;
	}
	footer .footer_cnt .f_cnt3 a::after{
		width: 24px;
		height: 24px;
		background: url("../img/common/arrow5.svg");
		background-size: 100%;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translate(-20px,-50%);
	}
	footer .footer_cnt .f_cnt3 a:last-of-type::after{
		display: block;
	}
	footer .footer_cnt .f_cnt3 .link a p{
		color: #fff;
		padding: 16px 15px;
		border-bottom: solid 1px #BCBCBC;
	}
	footer .footer_cnt2{
		border: none;
		padding-top: 8px;
	}
	footer .footer_cnt2 .f_cnt2_1 .link{
		display: none;
		background: #465E65;
		padding: 0px 15px;
	}
	footer .footer_cnt2 .f_cnt2_1 .bnr{
		display: block;
	}
	footer .footer_cnt2 .f_cnt2_1 .bnr a{
		margin-bottom: 16px;
		display: block;
		width: 100%;
	}
	footer .footer_cnt2 .f_cnt2_1 .site_link{
		margin-bottom: 24px;
	}
	footer .footer_cnt2 .f_cnt2_1 .site_link p{
		color: #fff;
	}
	footer .footer_cnt2 .f_cnt2_1 .site_link .link_list{
		display: block;
		margin-bottom: 0px;
	}
	footer .footer_cnt2 .f_cnt2_1 .site_link p.serif{
		text-align: center;
		border-bottom: none;
		padding: 0px;
		margin-bottom: 0px;
	}
	footer .footer_cnt2 .f_cnt2_1 .site_link .link_list a{
		display: block;
		width: 100%;
	}
	footer .footer_cnt2 .f_cnt2_1 .site_link p{
		text-align: left;
		border-bottom: solid 1px #BCBCBC;
		padding: 16px;
	}
	footer .footer_cnt2 .f_cnt2_1 .site_link .link_list a::after{
		width: 24px;
		height: 24px;
		background: url("../img/common/arrow5.svg");
		background-size: 100%;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translate(-20px,-50%);
	}
	footer .footer_cnt2 .f_cnt2_1 .site_link .link_list a:last-of-type::after{
		display: block;
	}
	footer .slide_btn p::after{
		transform: translate(3px, -50%) rotate(0deg);
	}
	footer .slide_btn.open p::after{
		transform: translate(3px, -50%) rotate(-180deg);
	}
	footer .copyright{
		margin-top: 32px;
	}
	.topup{
		bottom: 56px;
	}
	.sub_bnr{
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 99;
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}
	.sub_bnr.hidden {
	  	opacity: 0;
	  	visibility: hidden;
	}
	.sub_bnr a{
		display: flex;
		background: #F0EAE4;
		padding: 12px;
		position: relative;
	}
	.sub_bnr a::after{
		content: "";
		width: 24px;
		height: 24px;
		background: url("../img/common/arrow.svg");
		background-size: 100%;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translate(-20px,-50%);
	}
	.sub_bnr a img{
		margin-right: 10px;
	}
	.sub_bnr a p{
		letter-spacing: 0.64px;
		position: relative;
	}
	.pdf_cnt .pdf{
		gap:28px;
	}
	.pdf_cnt .pdf a{
		width: calc(100% / 2 - 18px);
	}
	.pdf_cnt .pdf a p{
		font-size: 1.8rem;
	}
	
	.main_inq_bnr {
		display: none !important;
	}
	
	/*point*/
	.point{
		padding: 24px;
	}
	.point .col.mov iframe{
		min-height: 390px;
	}
}
/*ipad mini*/
@media screen and (max-width: 768px) {
	.link_btn{
		display: block;
	}
	.link_btn a{
		width: 100%;
		margin-bottom: 24px;
	}
}
@media screen and (max-width: 767px) {
	.none_820{
		display: block;
	}
	.main_vi{
		margin-bottom: 20px;
	}
	.topup{
		bottom: 88px;
	}
	.pdf_cnt .pdf{
		display: block;
	}
	.pdf_cnt .pdf a{
		width: 100%;
		margin-bottom: 24px;
	}
	.main_inq_bnr{
		display: none;
	}
	.arrow_btn a p{
		line-height: 27px;
	}
	.point .col.mov iframe {
        min-height: 190px;
    }
	.main_link.column {
        display: block;
    }
	.main_link .col {
        display: block;
        width: 100%;
        margin-bottom: 48px;
    }
	.main_link .col:last-child{
		margin-bottom: 0px;
	}
	.main_link .col .cnt3_txt p {
        min-height: auto;
    }
	
	footer .footer_cnt .f_cnt2 .googlemap .map iframe{
		aspect-ratio: 16 / 16;
	}
}
/*iphonese*/
@media screen and (max-width: 375px) {
	.link_btn.blank a::after{
		width: 18px;
    	height: 18px;
		transform: translate(-10px, -50%);
	}
	.arrow_btn a p,.link_btn a p{
		font-size: 1.8rem;
	}
}