@charset "utf-8";

/*-----------------------------------------------------------
全体スタイル
-----------------------------------------------------------*/

html{
	scroll-padding-top: 90px;
}


body {
	width: 100% !important;
	color: #333;
	overflow: hidden;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-family: "Noto Sans JP", serif!important;
}


.serif{
	font-family: "Noto Serif JP", serif!important;
}

.josef{
	font-family: "Josefin Sans", sans-serif!important;
	font-weight: 400;
}

.contactArea .inner .c_storeArea .c_storelist .storeTxt dl dd p.tag span{
	    background-color: #A7AE2C;
}

.flex{
	display: flex;
	justify-content: space-between;
}

.formBox p.small{
	padding: 0;
    font-size: 1.4rem;
    line-height: 1.4;
	margin-top:8px;
}

#mailformpro dl dd select{
	width:30%;
	    border: solid 1px #CCC;
    padding: 10px 8px;
    vertical-align: middle;
}

.inner2{
	width: 95%;
	max-width: 880px;
	margin: 0 auto;
}

.inner3{
	width: 95%;
	max-width: 1040px;
	margin: 0 auto;
}

.ft40{
	font-weight:700;
	font-size: clamp(3rem,2.4vw,4rem);
}

.ft32{
	font-weight:700;
	font-size: clamp(2.2rem,2.4vw,3.2rem);
}

.ft30{
	font-weight:700;
	font-size: clamp(2.4rem,2.4vw,3rem);
}

.ft24{
	font-weight:700;
	font-size: clamp(1.8rem,2vw,2.4rem);
	letter-spacing: 0.05em;
}

.ft18{
	font-weight:700;
	font-size: clamp(1.6rem,1.6vw,1.8rem);
}

/* color */
.white{
	color: #ffffff!important;
}
.blue{
	color: #02017D!important;
}
.red{
	color: #EA4E19;
}
.green{
	color: #00C300;
}
.yellow{
	color: #A7AE2C;
}
.black{
	color: #333;
}

.bgwh{
	background: #ffffff;
}
.bgblu{
	background: #02017D;
}
.bgbla{
	background:#333;
}
.bgred{
	background: #EA4E19;
}
.bggre{
	background: #00C300;
}
.bgyel{
	background: #A7AE2C;
}

/*リンク表示方法*/


a:hover {
	opacity: 0.7;
}

a:hover img {
	opacity: 1;
}

.hLogo a:hover{
	opacity: 1;
}

:has( > .lista){
	position: relative;
}

.lista{
	position: absolute;
	left: 0;
	top:0;
	width:100%;
	height:100%;
	z-index: 1;
}

a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
/*-----------------------------------------------------------
PCサイズ
-----------------------------------------------------------*/

.pc,.pc2 {
	display: block;
}

.sp,.sp2, .spTel {
	display: none;
}

.pcTel {
	display: inline;
}


/*-----------------------------------------------------------
header
-----------------------------------------------------------*/

header {
	padding: 16px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	left: 0;
	right: 0;
	z-index: 9999;
	transition: .4s;
	background: #02017D;
		line-height: 1.8;
	font-size: clamp(1.5rem,1.6vw,1.6rem);
	font-weight: 500;
	letter-spacing: 0.05em;
}


.hLogo{
	max-width: 196px;
	width: 20%;
}


.logo a:hover img {
	opacity: 1;
}

.headerTel {
	margin: 0 0 0 0;
	padding: 0px 0 0;
	font-weight: 900;
}

.off_img{
	display:block;
}

.on_img{
	display:none;
}

.headerScroll .off_img{
	display:none;
}

.headerScroll .on_img{
	display:block;
}

/*-----------------------------------------------------------
テーブル共通
-----------------------------------------------------------*/


/*-----------------------------------------------------------
 nav
-----------------------------------------------------------*/

.pc_nav{
	width: 79%;
	display: flex;
	max-width: 1164px;
	align-items: center;
	justify-content: flex-end;
}

.nav_list1{
	display: flex;
	justify-content: flex-end;
	max-width: 744px;
	width: 65%;
}

.nav_list1 li {
	margin-left:auto;
}

.nav_list1 li:first-child{
	margin:0;
}

.nav_list1 > li > a,
.nav_list1 > li > p{
	display: block;
	text-decoration: none;
	font-size: 1.4rem;
	color:#fff;
	font-weight: 700;
}


.open_btn{
	position:relative;
}

.pc_nav .sub-menu{
	position:absolute;
	left: -48px;
	right:0;
	top: 133%;
	width: 215px;
}

.pc_nav .sub-menu_list{
	display:block;
	max-width: initial;
	margin: 0 auto;
	position: relative;
	background: #FFFFFF;
	margin-top: 0px;
	box-shadow: 0 0 10px #00000029;
	padding: 20px 24px;
	width: 215px;
}

.pc_nav .sub-menu_list li{
	font-size:1.4rem;
	line-height:2;
	padding-left:16px;
	position:relative;
}

.pc_nav .sub-menu_list li a{
	font-size:1.4rem;
	line-height:2;
	font-weight:500;
}

.pc_nav .sub-menu_list li a{
	display:flex;
	align-items:center;
}

.pc_nav .sub-menu_list li a img{
	margin-left:5px;
}

.pc_nav .sub-menu_list li:before{
	position:absolute;
	content:"";
	width:8px;
	height:1px;
	background:#02017D;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
}

.sns_list{
	display:flex;
	width: 100%;
}

.sns_list li{
	width: 49%;
	max-width: 40px;
	margin-right: 9.4%;
}

.sns_list li:last-child{
	margin-right: 0%;
}

.noline .pc_nav {
    max-width: 1000px;
}

.noline .nav_list1 {
    width: 75%;
}

.noline .hd_link{
	max-width: 211px;
	width: 23%;
}

.noline .hd_link_btn1{
	width:100%
}

.hd_link{
	display:flex;
	max-width: 380px;
	width: 33%;
	margin-left: auto;
	justify-content: space-between;
}

.hd_link_btn1{
	display:flex;
	justify-content:center;
	align-items:center;
	max-width:211px;
	width: 56%;
	height: 48px;
	font-size:1.6rem;
	font-weight: 700;
	line-height:1;
	transition: .4s;
	border-radius: 10px;
}

.hd_link_btn1.bggre{
	max-width:155px;
	width: 42%;
}

.hd_link_btn1 img{
	margin-right:8px;
}

header .open_text{
	width:100%;
	position:relative;
	padding-right:24px;
}

header .open_text:before{
	content: '';
	width: 10px;
	height: 10px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	position: absolute;
	right:0px;
	top: 3px;
	transform: rotate(135deg);
}

/*-----------------------------------------------------------
 footer
-----------------------------------------------------------*/

footer {
	margin: 0 auto;
	padding: 80px 0 23px;
	background: url(../img2/common/ft_bg.jpg)no-repeat center;
	background-size: cover;
		line-height: 1.8;
	font-size: clamp(1.5rem,1.6vw,1.6rem);
	font-weight: 500;
	letter-spacing: 0.05em;
}

footer .logo {
	width: 100%;
	max-width: 393px;
}

footer .top{
	margin-bottom:40px;
}

footer .top .flex{
	align-items:center;
}

footer .top .flex .left{
	max-width:393px;
	width:43%;
}

footer .top .flex .right{
	max-width:449px;
	width:55%;
	display:flex;
	justify-content:space-between;
}

footer .top .flex .right .hd_link_btn1{
	max-width: 245px;
}

footer .top .flex .right .hd_link_btn1.bggre{
	max-width: 180px;
}

.copyright {color: #fff;font-size: 1.2rem;}

footer .bottom{
	margin-bottom:80px;
}

footer .bottom .flex{
	justify-content:flex-start
}


.ft_div1{
	background:#fff;
	display: flex;
	/* justify-content: space-between; */
	padding: 2.309%;
	border-radius: 10px;
	width: 34%;
	max-width: 344px;
	margin-right: 2.309%;
}

.ft_list1:first-child{
	margin-right: 5%;
}

.ft_list1 li{
	position:relative;
	padding-left: 14px;
	margin-bottom:8px;
}

.ft_list1 li a,
.ft_list1 li p{
	font-size:1.4rem;
	font-weight:500;
	line-height:2.057;
}

.ft_list1 li:before{
	position:absolute;
	content:"";
	width:8px;
	height:1px;
	background:#02017D;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
}

.ft_list1 li:last-child{
	margin-bottom:0;
}

.ft_list1 li.parent{
	font-weight:700;
	padding:0;
	line-height: 29px;
}

.ft_list1 li.parent p,
.ft_list1 li.parent a{
	font-weight:700;
	padding:0;
}

.ft_list1 li.parent:before{
	display:none;
}

.ft_div2{
	max-width:171px;
	width:24%;
}

.ft_list2{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

.ft_list2 li {
	width:49%;
	font-size: 1.4rem;
	font-weight: 500;
	margin-bottom: 16px;
}

.ft_list2 li a{
	color:#fff;
}

footer .under{
	display:flex;
	justify-content:space-between;
	padding-top:24px;
	align-items:center;
	border-top:4px dotted #FFFFFF;
	font-size:1.4rem;
}

.side_btn{
	max-width:223px;
	width: 16%;
	display: flex;
	position: fixed;
	right: 2.102%;
	bottom: 2.102%;
	transition: auto;
	z-index: 99;
}

footer .center{
	background:#fff;
	margin-bottom:40px;
	border-radius:10px;
	padding: 3.847%;
}

footer .center .flex{
	align-items:center;
}

footer .center .left{
	
}

footer .center .right{
	max-width: 600px;
	width: 73%;
}

.ft_list3{
	display:flex;
	justify-content:space-between;
}

.ft_list3 a{
	line-height: 1.8;
	font-size: clamp(1.5rem, 1.6vw, 1.6rem);
	font-weight: 500;
	letter-spacing: 0.05em;
}

/* contact */

.three-btn.contact-listBtn.three-btn03{
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	display: flex;
}

.three-btn.contact-listBtn.three-btn03 .btnArea_c{
	width: 32%;
	margin: 0;
}

.three-btn.contact-listBtn.three-btn03 .btnArea_c a{
	margin: 20px 0 0;
}

.staffBox .inner ul.staff_list li{
	position:relative;
	padding-bottom: 34px;
}

.staffBox .inner ul li .staffTxtBox .voiceBtn{
	position:absolute;
	bottom:0;
	width: 83%;
	left:0;
	right: 0;
	margin: auto;
}

.staffBox .inner ul li .staffTxtBox .voiceBtn a{
	margin:0;
}
.staffBox .inner ul li .staffTxtBox p.introduction{
	height:initial;
}

.vert_item .mwform-checkbox-field.horizontal-item,
.vert_item .mwform-radio-field.horizontal-item{
	display:block;
}

.vert_item .horizontal-item + .horizontal-item {
    margin-left: 0px!important;
}

.Item { position:relative; }

input[name='Accordion']{
	/* width:100%; */
	display:block;
	position:absolute;
	/* opacity:0; */
	/* height:35px; */
	top: 5px;
	left:0;
	/* border:none; */
	/* border-radius:0; */
	}

.Accordion {
	width:100%; }

.AccordionItem {
	display:block;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	cursor:pointer;
}

.AccordionItem p.small{
	margin:0;
	padding-left: 16px;
}

.AccordionPanel {
	height:0px;
	transition: all ease-in-out 0.3s;
	-o-transition: all ease-in-out 0.3s;
	-moz-transition: all ease-in-out 0.3s;
	-webkit-transition: all ease-in-out 0.3s;
	overflow:auto; 
}

.AccordionPanel div { padding:10px; }

input:checked + label .AccordionPanel { height:auto; }


/*-- 固定ここまで --*/
	

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (max-width: 1200px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
	
.hd_link_btn1 span{
	font-size:1.4rem;
}

.hd_link_btn1 img{
	margin-right:2px;
}

.nav_list1 > li > a, .nav_list1 > li > p {
    font-size: 1.2rem;
}
	
header .open_text {
    padding-right: 12px;
}

header .open_text:before {
    width: 6px;
    height: 6px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    top: 6px;
}


.ft_div1 {
    padding: 2% 1%;
}
	
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 1200px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
	
	
		


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (max-width: 1000px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */


/*-----------------------------------------------------------
全体スタイル
-----------------------------------------------------------*/

img {
/* 	width: auto; */
	max-width: 100%;
	height: auto;
}




.hd_link{
width: 18%;
}

.hd_link .hd_link_btn1 span{
	display:none;
}

.hd_link .hd_link_btn1{
	width:48%!important;
}

.nav_list1 {
    width: 80%;
}



.ft_div1{
	padding: 2.309% 1%;
	width: 39%;
	margin-right: 1%;
}

    .ft_list1 li a,
	.ft_list1 li{
        font-size: 1.2rem;
    }

.ft_div2 {
    width: 21%;
}

.ft_list1:first-child {
    margin-right: 3%;
}

.noline .pc_nav {
    max-width: 660px;
}
	
.noline .nav_list1 {
    width: 90%;
}
	
.noline .hd_link{width: 10%;max-width: 50px;}
	
  .noline  .hd_link .hd_link_btn1 {
        width: 100% !important;
    }

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 1000px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */




/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (max-width: 768px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.pc {
	display: none;
}

.sp {
	display: block;
}

nav li a {
	font-size: 1.5rem;
}


a[href*="tel:"] {
	pointer-events: initial;
	cursor: pointer;
	text-decoration: none;
	}

/* ヘッダー
----------------------------------------------------------- */


.telBtn {
	width: 35%;
	line-height: 1;
	margin: 3px 11% 0 0;
	font-size: 4rem;
}

.headerUl{
	display: flex;
	width: 30%;
	justify-content: flex-end;
}

.menuBtn {
	/* width: 35%; */
	display: flex;
	align-items: center;
	justify-content: center;
}


/*--- modal ---*/

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 36px;
  height: 24px;
  z-index: 9999;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 11px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(20px) rotate(-45deg);
  transform: translateY(11px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-20px) rotate(45deg);
  transform: translateY(-11px) rotate(45deg);
}

/*gnav*/
.gnav{
    background: #02017D;
    display: none;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 999;
    transition: 1s;
    left: 0;
    top: 0;
}

.gnav.active{
	display: block;
}

.gnav__menu{
    display: block;
    width: 100%;
    height: 100%;
    padding: 60px 0 60px;
    margin-bottom: 10px;
}

.gnav__wrap{
    align-items:center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: fixed;
    width: 100%;
	top: 0px;
    overflow: scroll;
}

nav .gnav__menu__item{
    margin: 10px auto 0;
    width: 95%;
    border-bottom: 1px solid #ccc;
    position: relative;
}

.gnav__menu__item a,
.gnav__menu__item p{
    color: #fff;
    font-size: 1.8rem;
    font-weight: 500;
    padding: 0;
    text-decoration: none;
    transition: .5s;
    background: none;
    padding: 0 0 10px 0;
    display: block;
    max-width: max-content;
    position: initial;
}

nav .gnav__menu__item a.btn03{
    padding: 0 5%;
    font-size: 2rem;
}

.pc_nav{
	display:none;
}


.hLogo{
	width: 62%;
}


.side_btn{
	display:none!important;
}


footer .top{
	margin-bottom: 32px;
}

footer .top .flex{
	flex-direction:column;
}

footer .top .flex .left{
	width:100%;
	margin: 0 auto 32px;
}

footer .top .flex .right{
	width:100%;
}


footer .bottom{
	margin-bottom:30px;
}

footer .bottom .flex{
	flex-direction:column;
}


.ft_div1{
	padding: 24px;
	width: 100%;
	margin:0 auto 24px;
}

.ft_div2{
	width:100%;
	margin:0 auto;
	max-width: 344px;
	padding: 0 10px;
}


.sns_list li {
    margin-right: 16px;
}

footer .center .flex{
	flex-direction:column;
}

footer .center .left{
	text-align:center;
}

footer .center .left p{
	font-size:2.4rem;
}

footer .center .right{
	max-width: 600px;
	width: 100%;
	margin:16px auto 0;
}


header .gnav__menu__item.open_btn:before{
    content: '';
    width: 10px;
    height: 10px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    right: 10px;
    top: 8px;
    transform: rotate(135deg);
}

header .open_text:before {
display:none;
}

.gnav__menu__item2{
	margin: 10px auto 0;
	width: 95%;
	position: relative;
	display: flex;
	justify-content: space-between;
}

    .ft_list1 li a,
	.ft_list1 li{
        font-size: 1.4rem;
    }

.three-btn.contact-listBtn.three-btn03 .btnArea_c {
    width: 48%;
}
	
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 768px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */




/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (max-width: 591px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.pc2, .pcTel {
	display: none;
}

.sp2 {
	display: block;
}

.spTel  {
	display: inline;
}


/* フッター
----------------------------------------------------------- */

.sp nav {
	margin: 0 auto;
}


footer .under{
	flex-direction:column;
	padding-top: 16px;
}


footer .under p{
	margin-top: 8px;
}

.ft_list3{
	flex-wrap:wrap;
	max-width:300px;
	width:100%;
	margin:0 auto;
}

	footer .center .right{
		margin:8px auto 0;
	}

.ft_list3 li{
	width:48%;
	text-align:center;
	margin-top:8px;
}


.three-btn.contact-listBtn.three-btn03 .btnArea_c {
    width: 100%;
}
	
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* max-width: 591px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */



