@charset "utf-8";
html{
	scroll-behavior: smooth;
}
/* レイアウトのためのCSS */
body{
    overflow-x: hidden;
	font-family:"M PLUS Rounded 1c",-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", 'Kosugi Maru',Verdana, Meiryo, sans-serif;
	font-weight:bold;
	color: #333;
	font-size:1rem;
	line-height:1.85;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%; 
	word-wrap: break-word;
    letter-spacing: 0.05em;
}
body.top{
	background:url(../images/top/back_pc.png) repeat-y center top;
	background-size:100% auto;
}
@media screen and (max-width:480px) {
body.top{
	background:url(../images/top/back_sp.png) no-repeat center 60px;
	background-size:100% auto;
}
}
b, strong, .bold{
	font-family: "M PLUS Rounded 1c",-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
}
body.appear{
    background:#f0f0f0;
}
.wf-roundedmplus1c { font-family: "M PLUS Rounded 1c"; }

ul{
	margin:0;
	padding: 0;
	list-style: none;
}

a{
	color:#006EBD;
	text-decoration: none;
    outline: none;
	transform:.3s;
}
a:hover{
	opacity:0.7;
	text-decoration:underline;
}
img{
    width:100%;
    height: auto;
}

*{
    box-sizing: border-box
}
p{
	font-size:18px;
	line-height:1.8;
	color:#222;
	font-weight:normal;
	padding-bottom:20px;
}
@media screen and (max-width:768px) {
p{
	font-size:16px;
}
}

/* font-family */

.header-utility li:last-child a,
.company-info li dl,
.header-area dl,
#news article time,
#page-top span{
    font-family: "Noto Sans JP",'Lato', sans-serif;
}

/* area */
.inner{
    width:100%;
    margin:0 auto;
}


/* container */
#container{
	display:block;
	margin:auto;
	width:70%;
}
@media screen and (max-width:768px) {
#container{
	width:80%;
}
}


/* heading */
h2{
    text-align: center;
    margin: 30px auto 30px auto;
    font-size: 20px;
	display:block;
    line-height: 1.5;
	background:url(../images/icon-l.png) left center, url(../images/icon-r.png) right center;
	background-repeat:no-repeat, no-repeat;
	background-size:50px auto, 50px auto;
	font-family: "M PLUS Rounded 1c";
	letter-spacing:0.1em;
}
h2.w1{
	max-width:230px;
}
h2.w2{
	max-width:260px;
}
h2.w3{
	max-width:290px;
}
/* header */
#header{
    width:100%;
	display:block;
	margin:auto;
}
#header .header-logo{
    max-width:800px;
	display:block;
	margin:auto;
	margin-bottom:-10px;
}
#header h1 img{
    width:100%;
	height:auto;
	padding:50px 0 15px 0px;
}
#header h1{
	margin:0;
	padding:0px;
	display:flex;
}
#header h1 .logo_pc{
	display:block;
}
#header h1 .logo_sp{
	display:none;
}
#header .btnarea{
	max-width:600px;
	display:block;
	margin:auto;
	margin-top:-150px;
}
#header .btnarea ul{
	display:flex;
	justify-content:space-around;
}
#header .btnarea li{
	padding:20px;
}
@media screen and (max-width:480px) {
#header h1 .logo_pc{
	display:none;
}
#header h1 .logo_sp{
	display:block;
}
#header h1 img{
	padding:15px 0 15px 0px;
}
h2{
    font-size: 18px;
}
#header{
	background:url(../images/top/header_back_sp.gif) repeat-x left top;
}
#header .header-logo{
    max-width:180px;
	display:block;
	margin:auto;
	margin-bottom:-10px;
	margin-left:10px;
}
#header h1 span img{
	min-width:120px;
	padding:0px 0 0px 0px;
	margin-left:10px;
	margin-top:20px;
}
#header .header-inner{
	height:85vh;
}
#header .btnarea{
	max-width:300px;
	display:block;
	margin:auto;
	margin-top:370px;
}
#header .btnarea ul{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
#header .btnarea li{
	padding:10px 20px;
}
}
@media screen and (max-width:380px) {
#header .btnarea{
	margin-top:330px;
}
#header h1 span img{
	width:120px;
}
}


/* mainimg */
.inner-a{
	max-width:1000px;
	height:auto;
	display:block;
	margin:auto;
	padding:50px 0;
}
.inner-n{
	max-width:1300px;
	height:auto;
	display:block;
	margin:auto;
	padding:0px 0;
}
@media screen and (max-width:1300px) {
.inner-a{
	padding:40px 20px;
}
.inner-n{
	padding:0px 20px;
}
}
@media screen and (max-width:768px) {
.inner-a{
	padding:30px 20px;
}
}

/* gnavi */
#g-nav ul {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

#g-nav.panelactive ul li{
    position: relative;
    width:30%;
    text-align: center;
    white-space: nowrap;
}
#g-nav .sns-icon{
	display:flex;
	justify-content:center;
	padding-top:0px;
	}
#g-nav .sns-icon img{
	width:30px;
	height:auto;
}
#g-nav .logo-sp-icon{
	display:flex;
	justify-content:center;
	padding-top:0px;
	margin-top:-10px;
	}
#g-nav .logo-sp-icon img{
	width:90px;
	height:auto;
}
#g-nav .shop-s img{
	width:14px;
	height:15px;
	display:inline-block;
	margin-left:10px;
}
#g-nav li a{
    padding: 20px 20px;
}
@media screen and (max-width:960px) {
#g-nav.panelactive ul li{
    width:48%;
    }
}
@media screen and (max-width:767px) {
#g-nav.panelactive ul li{
    width:100%;
	white-space: nowrap;
    }
}

/*  pc navi */
#pc-nav-list.toppage{
	display:none;
	}
#pc-nav-list{
	max-width:100%;
	display:block;	
	margin:50px auto auto auto;
}
#pc-nav-list ul{
	display:flex;
	justify-content:center;
	width:100%;
	padding:0px 0 0px 0;
}
#pc-nav-list li{
	list-style-type:none;
	padding:0px 20px 0px 20px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-left:1px solid #333;
	line-height:1.0;
	margin-bottom:20px;
	white-space: nowrap;
	}
#pc-nav-list li a:link,
#pc-nav-list li a:visited{
	display:block;
	color:#000;
	text-decoration:none;
	padding:0px 0px 0px 0px;
	line-height:1.2;
	text-align:center;
	font-weight:bold;
	font-size:18px;
	font-family: "M PLUS Rounded 1c";
	transition: transform .3s ease-in-out;
	}
#pc-nav-list li a:hover{
	color:#0081CC;
	opacity:1.0;
}
#pc-nav-list .shop img{
	width:14px;
	height:15px;
	display:inline-block;
	margin-left:10px;
}
#pc-nav-list li i{
	padding-left:5px;
}
#pc-nav-list li:first-child{
	border-left:0px;
}

@media screen and (max-width:1300px) {
#pc-nav-list ul{
	flex-wrap:wrap;
	}
}
@media screen and (max-width:968px) {
#pc-nav-list ul{
	padding:20px 0 30px 0;
}
#pc-nav-list li a:link,
#pc-nav-list li a:visited{
	font-size:16px;
}
#pc-nav-list{
	padding-top:10px;
}
}
@media screen and (max-width:767px) {
#pc-nav-list{
	display:none;
}
}

/* slider */
.slider{
    position: absolute;
    top:0px;
    right:0px;
    width:100%;
    overflow: hidden;
}

@media screen and (max-width:1130px) {
.slider{
    width:100%;
    }
    
}

@media screen and (max-width:940px) {
.slider{
    width: 100%;
    right: 0%;
}
}
@media screen and (max-width:768px) {
.slider{
    top:50px;
}
}
.slider-item{
}


/* box-top */
#box-top{
}
@media screen and (max-width:768px) {
#box-top.inner-a{
	padding-bottom:30px;
}
}


/* boxconts 共通部分 */
.boxconts .youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.boxconts .youtube iframe {
  width: 100%;
  height: 100%;
}

.box1{
	display:flex;
	justify-content:center;
}
.box1 figure,
.box1 .box-txt{
	width:50%;
	padding:0 20px;
}
@media screen and (max-width:768px) {
.box1{
	flex-wrap:wrap;
}
.box1 figure,
.box1 .box-txt{
	width:100%;
	padding:0 0px;
}
.box1 figure{
	margin-bottom:15px;
}
}




/* newsbox */
.newsbox{
	background-color:#eee;
	padding:20px 40px;
	margin:0 20px;
}
.newsbox dl{
	display:flex;
	padding:15px 0px;
	font-size:18px;
}
.newsbox dt{
	width:20%;
	padding-right:30px;
}
.newsbox dd{
	width:80%;
}
@media screen and (max-width:768px) {
.newsbox{
	background-color:#eee;
	padding:20px;
	margin:0 0px;
}
.newsbox dl{
	flex-wrap:wrap;
	font-size:16px;
}
.newsbox dt{
	width:100%;
	padding-right:0px;
}
.newsbox dd{
	width:100%;
}
}


#guidebook{
	position:relative;
}
#guidebook .icon-b-3{
	position:absolute;
	right:-280px;
	bottom:0px;
}
#guidebook .icon-b-3 img{
	width:280px;
	height:auto;
}
#guidebook .icon-b-4{
	position:absolute;
	left:-150px;
	bottom:-100px;
}
#guidebook .icon-b-4 img{
	width:280px;
	height:auto;
}
#guidebook h3{
	color:#E85382;
	font-size:28px;
	padding-bottom:30px;
	background:url(../images/icon01.png) no-repeat left top;
	background-size:120px auto;
	padding-left:150px;
}
@media screen and (max-width:1300px) {
#guidebook .icon-b-3{
	position:absolute;
	right:-180px;
	bottom:0px;
}
#guidebook .icon-b-3 img{
	width:230px;
	height:auto;
}
#guidebook .icon-b-4{
	position:absolute;
	left:-100px;
	bottom:-100px;
}
#guidebook .icon-b-4 img{
	width:220px;
	height:auto;
}
}
@media screen and (max-width:1000px) {
#guidebook .icon-b-3{
	position:absolute;
	right:-140px;
	bottom:-140px;
}
#guidebook .icon-b-3 img{
	width:230px;
	height:auto;
}
#guidebook .icon-b-4{
	position:absolute;
	left:-100px;
	bottom:-50px;
}
#guidebook .icon-b-4 img{
	width:180px;
	height:auto;
}
}
@media screen and (max-width:960px) {
#guidebook h3{
	color:#E85382;
	font-size:20px;
	padding-bottom:30px;
	background:url(../images/icon01.png) no-repeat left top;
	background-size:80px auto;
	padding-left:110px;
}
#guidebook h3 br{
	display:none;
}
}
@media screen and (max-width:768px) {
#guidebook h3{
	color:#E85382;
	font-size:18px;
	padding-bottom:30px;
	background:url(../images/icon01.png) no-repeat left top;
	background-size:60px auto;
	padding-left:0px;
	padding-top:65px;
	margin-top:-15px;
}
#guidebook{
	padding-bottom:160px;
}
#guidebook .icon-b-3{
	position:absolute;
	right:-20px;
	bottom:-40px;
}
#guidebook .icon-b-3 img{
	width:200px;
	height:auto;
}
#guidebook .icon-b-4{
	position:absolute;
	left:-30px;
	bottom:380px;
}
#guidebook .icon-b-4 img{
	width:120px;
	height:auto;
}
}


#ukeirekigyou h4{
	font-size:24px;
	margin:0;
	padding:0;
	line-height:1.2;
	padding-bottom:15px;
}
#ukeirekigyou h4 span{
	display:block;
	font-size:16px;
	padding-top:15px;
}
#ukeirekigyou .box1{
	padding-bottom:40px;
}
@media screen and (max-width:768px) {
#ukeirekigyou h4{
	font-size:20px;
}
}



#contact{
	position:relative;
}
#contact .icon-b-5{
	position:absolute;
	left:-240px;
	bottom:0px;
}
#contact .icon-b-5 img{
	width:240px;
	height:auto;
}
#contact h3{
	text-align:center;
	font-size:20px;
	padding-bottom:10px;
}
#contact p{
	text-align:center;
	line-height:1.4;
	font-weight:bold;
	padding-bottom:15px;
}
#contact p.add{
	font-size:14px;
}
#contact p.tel{
	font-size:26px;
}
#contact p.tel span{
	font-size:16px;
	display:block;
}
@media screen and (max-width:1300px) {
#contact .icon-b-5{
	position:absolute;
	left:-30px;
	bottom:0px;
}
#contact .icon-b-5 img{
	width:200px;
	height:auto;
}
}
@media screen and (max-width:1000px) {
#contact .icon-b-5{
	position:absolute;
	left:-40px;
	bottom:0px;
}
#contact .icon-b-5 img{
	width:150px;
	height:auto;
}
}
@media screen and (max-width:768px) {
#contact h3{
	font-size:18px;
}
#contact .icon-b-5{
	position:absolute;
	left:-20px;
	bottom:-120px;
}
#contact .icon-b-5 img{
	width:120px;
	height:auto;
}
}


#news{
	position:relative;
}
#news .icon-b-1{
	position:absolute;
	left:-250px;
	bottom:-200px;
}
#news .icon-b-1 img{
	width:250px;
	height:auto;
}
@media screen and (max-width:1300px) {
#news .icon-b-1{
	position:absolute;
	left:-150px;
	bottom:-200px;
}
#news .icon-b-1 img{
	width:200px;
	height:auto;
}
}
@media screen and (max-width:1000px) {
#news .icon-b-1{
	position:absolute;
	left:-120px;
	bottom:-160px;
}
#news .icon-b-1 img{
	width:160px;
	height:auto;
}
}
@media screen and (max-width:760px) {
#news{
	padding-bottom:100px;
}
#news .icon-b-1{
	position:absolute;
	left:-30px;
	bottom:-40px;
}
#news .icon-b-1 img{
	width:120px;
	height:auto;
}
}

#expert{
	position:relative;
}
#expert .icon-b-2{
	position:absolute;
	right:-280px;
	top:100px;
}
#expert .icon-b-2 img{
	width:280px;
	height:auto;
}
@media screen and (max-width:1300px) {
#expert .icon-b-2{
	position:absolute;
	right:-150px;
	top:300px;
}
#expert .icon-b-2 img{
	width:230px;
	height:auto;
}
}
@media screen and (max-width:1000px) {
#expert .icon-b-2{
	position:absolute;
	right:-130px;
	top:auto;
	bottom:-120px;
}
#expert .icon-b-2 img{
	width:160px;
	height:auto;
}
}
@media screen and (max-width:760px) {
#expert{
	padding-bottom:100px;
}
#expert .icon-b-2{
	position:absolute;
	right:-30px;
	top:auto;
	bottom:-50px;
}
#expert .icon-b-2 img{
	width:130px;
	height:auto;
}
}




/* footer */
#footer{
	padding:40px 20px 20px 20px;
	margin-top:50px;
	background-color:#EEEFEF;
}
#footer h3{
	max-width:1000px;
	margin:auto;
	margin-bottom:15px;
	line-height:1.5;
	background-color:#393636;
	border-radius:30px;
	text-align:center;
	color:#fff;
	font-size:26px;
	font-weight:bold;
	letter-spacing:0.1em;
	padding:0 10px;
}
#footer p{
	margin:0;
	padding:0;
	letter-spacing:0.1em;
	line-height:1.6;
}
.f_wrap{
	display:flex;
	justify-content:center;
	align-items:center;
}
#footer p.f_name{
	text-align:center;
	color:#393636;
	font-size:20px;
	font-weight:bold;
	padding:0 10px;
}
#footer p.f_tel{
	text-align:center;
	color:#393636;
	font-size:30px;
	font-weight:bold;
	padding:0 10px;
}
#footer p.f_time{
	text-align:center;
	color:#393636;
	font-size:16px;
	font-weight:normal;
}
#footer p.f_logo{
	width:80px;
	height:auto;
	display:block;
	margin:auto;
	margin-top:15px;
}
#footer p.copylight{
	text-align:center;
	font-size:14px;
	padding:40px 0px;
	font-weight:bold;
}
#footer a:link,
#footer a:visited{
	color:#393636;
}
/*  pc navi footer */
#pc-nav-list-footer{
	max-width:100%;
	display:block;	
	margin:auto;
}
#pc-nav-list-footer ul{
	display:flex;
	justify-content:center;
	width:100%;
	padding:0px 0 0px 0;
}
#pc-nav-list-footer li{
	list-style-type:none;
	padding:0px 20px 0px 20px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-left:1px solid #333;
	line-height:1.0;
	margin-bottom:20px;
	white-space: nowrap;
	}
#pc-nav-list-footer li a:link,
#pc-nav-list-footer li a:visited{
	display:block;
	color:#000;
	text-decoration:none;
	padding:0px 0px 0px 0px;
	line-height:1.2;
	text-align:center;
	font-weight:bold;
	font-size:18px;
	font-family: "M PLUS Rounded 1c";
	transition: transform .3s ease-in-out;
	}
#pc-nav-list-footer li a:hover{
	color:#0081CC;
	opacity:1.0;
}
#pc-nav-list-footer .shop img{
	width:14px;
	height:15px;
	display:inline-block;
	margin-left:10px;
}
#pc-nav-list-footer li i{
	padding-left:5px;
}
#pc-nav-list-footer li:first-child{
	border-left:0px;
}
body{
	display:flex;
	flex-direction:column;
	min-height:100vh;
}

@media screen and (max-width:768px) {
.f_wrap{
	flex-wrap:wrap;
}
}
@media screen and (max-width:480px) {
#footer p.f_time{
	text-align:left;
	font-weight:bold;
	font-size:14px;
	padding-top:15px;
	padding-bottom:10px;
}
#footer p.f_time span{
	display:block;
}
#footer p.f_name{
	font-size:18px;
}
#footer p.f_tel{
	font-size:26px;

}
}


