@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
@import url("https://use.typekit.net/kag6wil.css");

/* CSS Document */
.cf {clear:both; width:100%;}
body.page_service.page_kusamura section { padding-bottom:120px; }
.d-center { text-align:center; }

.aligncenter{
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.alignright{
	float: right;
	margin-left: 1.5em;
}
.alignleft{
	float: left;
	margin-right: 1.5em;
}
.ir_bottom {
	letter-spacing: 0em !important;
}

@media screen and (max-width: 767px) {
	.alignright{
		max-width: 50%;
		float: right;
		margin-left: 1.5em;
	}
	.alignleft{
		max-width: 50%;
		float: left;
		margin-right: 1.5em;
	}
body.page_service.page_kusamura section {
padding: 7.5% 0 15%;
}
}

*{ margin:0; padding:0; box-sizing:border-box; word-break:break-all;}
div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;}
ul,ol{ list-style:none;}
html,body {
margin:0 auto;
padding:0;
font-family: "Helvetica Neue", "Helvetica Arial", "ヒラギノ角ゴ Pro W3", "Meiryo", "游ゴシック", sans-serif;
font-size:14px;
/*font-weight: 500;*/
text-align:left;
color:#333;
min-width:1080px;
}
@media screen and (max-width:767px){
html,body{ font-size:3vw; min-width:240px; max-width:767px;}
}

/*img*/
img{ border-style:none; vertical-align:bottom; padding:0; line-height:0em; max-width:100%; height:auto;}
figure{margin:0 auto; text-align:center;}
figure.img img{ padding:10px; background:#fff; box-shadow:rgba(0, 0, 0, 0.2) 0 0 5px 2px;}

/*youtube*/
.youtube{ position:relative; width:100%; padding-top:56.25% !important;}
.youtube iframe{ position: absolute; top:0; right:0; width:100% !important; height:100% !important;}

/*txt*/
p{ line-height:1.75em; margin:0 0 1em; padding:0;}
p:last-child{ margin:0;}
strong{ font-weight:bold;}
.bold { font-weight:bold;}
.normal{ font-weight:normal;}
.under_line{ text-decoration:underline;}
.line_through{ text-decoration:line-through;}

.garamond{ font-family: adobe-garamond-pro, serif;}
.gothic{ font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;}
.mincho{ font-family: 'Noto Serif JP', serif;}
.white{ color:#fff;}
.black{ color:#333;}
.gy{ color:#aaa;}
.red{ color:#c83232;}
.blue{ color:#326496;}

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

/*link*/
a{ color:inherit; text-decoration:none;}
a:hover{}
.opa{ transition: all 0.3s ease;}
.opa:hover{ opacity: 0.7;}

/*ヘッダー*/
#header{ background: #fff; position: fixed; left: 0; right: 0; top: 0; margin: auto; z-index: 99;}
#header dl{ display: table; table-layout: fixed; width: 1080px; margin: 0 auto;}
#header dl dt{ display: table-cell; vertical-align: middle; width: 190px;}
#header dl dd{ display: table-cell; vertical-align: middle; text-align: right; letter-spacing: -1em;}
#header dl dd .h_contact{ display: inline-block; vertical-align: middle; letter-spacing: 0; width: 180px; text-align: center; margin-left: 70px;}
#header dl dd .h_contact a{ display: block; font-size: 14px; line-height: 1em; padding: 0.75em 1em 1em; border-radius: 3em; border: 2px solid #714FB3; background: #fff; color: #714FB3; transition: 0.3s;}
#header dl dd .h_contact a:hover{ background: #714FB3; color: #fff;}
@media screen and (max-width:767px){
#header dl{ width:100%; padding:2.5vw 5%;}
#header dl dt{ width:40%;}
#header dl dd .h_contact{ width:auto; margin:0 5% 0 0;}
#header dl dd .h_contact a{ font-size:3vw; padding:0.75em 1.5em 1em;}
}
#header dl dd ul.h_nav{ display: inline-block; letter-spacing: -1em; text-align: right;}
#header dl dd ul.h_nav li{ display: inline-block; vertical-align: middle; letter-spacing: 0; font-weight: bold; color: #535353; margin-left: 40px; position: relative;}
#header dl dd ul.h_nav li{ line-height: 90px;}
#header dl dd ul.h_nav li a{ display: block; padding: 0 10px; position: relative; transition: 0.3s; cursor: pointer;}
#header dl dd ul.h_nav li a:after{ content: ""; width: 0; height: 2px; background: #6d6d6d; position: absolute; left: 0; right: 0; bottom: calc(50% - 1em); margin: auto; transition: 0.3s;}
#header dl dd ul.h_nav li:hover a{ color: #6d6d6d;}
#header dl dd ul.h_nav li:hover a:after{ width: 100%;}
#header ul.h_nav .h_nav_service_list *{ line-height: 1em;}
#header ul.h_nav .h_nav_service_list{ display: none; width: 400px; position: absolute; left: 50%; transform: translateX(-50%); background: rgba(16,88,126,0.9); padding: 10px 20px; z-index: 101;}
#header ul.h_nav .h_nav_service_list .h_nav_service_list_in{ color: #fff; text-align: left; border-bottom: 1px solid #6198b5; padding: 15px 10px;}
#header ul.h_nav .h_nav_service_list .h_nav_service_list_in:last-child{ border-bottom: none;}
#header ul.h_nav .h_nav_service_list .h_nav_service_list_in p{ line-height: 1em; margin: 0 auto;}
#header ul.h_nav .h_nav_service_list ul{ display: block; letter-spacing: -1em; margin: 10px auto -5px; text-align: left;}
#header ul.h_nav .h_nav_service_list ul li{ display: inline-block; vertical-align: middle; letter-spacing: 0; width: 50%; margin: 10px auto; color: #fff; font-weight: normal;}
#header ul.h_nav .h_nav_service_list a{ padding: 0; color: #fff !important;}
#header ul.h_nav .h_nav_service_list a span{ display: inline-block; vertical-align: middle; margin-left: 5px;}
#header ul.h_nav .h_nav_service_list a span img{ width: 13px; position: relative; top: -3px;}
#header ul.h_nav .h_nav_service_list a:after{ display: none;}
#header ul.h_nav .h_nav_service_list a:hover{ text-decoration: underline;}
@media screen and (max-width:767px){
#header dl dd ul.h_nav{ display:none; position:fixed; left:0; right:0; top:13vw; width:100%; height:calc(100% - 13vw); text-align:center; background:#EFF2F4; padding:5%; overflow-x:hidden; overflow-y:scroll; -webkit-overflow-scrolling:touch; z-index:-1;}
#header dl dd ul.h_nav li{ display:block; color:#fff; margin:0;}
#header dl dd ul.h_nav li{ line-height:1em; font-size:3.75vw; border-bottom:1px solid #000; text-align: left;}
#header dl dd ul.h_nav li a{ padding:5% 2.5%; color:#000;}
#header dl dd ul.h_nav li:hover a{ color:#555;}
#header dl dd ul.h_nav li a:after{ display:none;}
#header ul.h_nav .h_nav_service_list{ display:block !important; opacity:1.0 !important; width:100%; position:static; transform: translateX(0); background:none; padding: 0; margin:0 0 5%;}
#header ul.h_nav .h_nav_service_list .h_nav_service_list_in{ padding:5% 0; margin:0 2.5%;}
#header ul.h_nav .h_nav_service_list .h_nav_service_list_in:last-child{ padding-bottom:1.25%;}
#header ul.h_nav .h_nav_service_list .h_nav_service_list_in p{ line-height:1em; margin:0 auto;}
#header ul.h_nav .h_nav_service_list ul{ width:100%; display:flex; justify-content:space-between; flex-direction:row; flex-wrap:nowrap; margin:5% auto 1.25%;}
#header ul.h_nav .h_nav_service_list ul li{ width:auto; padding:0; margin:0; border:none;}
#header ul.h_nav .h_nav_service_list .h_nav_service_list_in:last-child ul{ justify-content:flex-start;}
#header ul.h_nav .h_nav_service_list .h_nav_service_list_in:last-child ul li{ width:40%;}
#header ul.h_nav .h_nav_service_list ul li a{ font-size:3.25vw}
#header ul.h_nav .h_nav_service_list a span{ margin-left:1.75vw;}
#header ul.h_nav .h_nav_service_list a span img{ width:3.25vw; top:-0.5vw;}
}
@media screen and (max-width:767px){
#smp_nav_btn{ display:inline-block; vertical-align:middle; width:5vw; height:7.5vw;transition:0.3s; cursor:pointer; position:relative;}
#smp_nav_btn span{ display:block; height:4px; width:7.5vw; background:#714FB3; position:absolute; left:0; right:0; top:0; bottom:0; margin:auto; transition:0.3s;}
#smp_nav_btn span:before{ content: ""; display:block; height:4px; width:7.5vw; background:#714FB3; position:absolute; bottom:2.5vw; transition:0.3s;}
#smp_nav_btn span:after{ content: ""; display:block; height:4px; width:7.5vw; background:#714FB3; position:absolute; top:2.5vw; transition:0.3s;}
#smp_nav_btn.active{ border-color:#fff;}
#smp_nav_btn.active span{ background:rgba(242,96,3,0);}
#smp_nav_btn.active span:before{ bottom:0; transform: rotate(45deg);}
#smp_nav_btn.active span:after{ top:0; transform: rotate(-45deg);}
}
@media print, screen and (min-width:768px){
#smp_nav_btn{ display:none !important;}
#header dl dd ul.h_nav{ display:inline-block !important; opacity: 1.0 !important; height: auto !important;}
}

/*pagetop*/
#pagetop{ margin-top: 90px; text-align: center; font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;}
#pagetop a{ display: inline-block; font-size: 18px; line-height: 1em; padding: 0.75em 3em 1em; border-radius: 3em; background: #714FB3; color: #fff;}
@media screen and (max-width:767px){
#pagetop{ margin-top:7.5%;}
#pagetop a{ font-size:3.5vw;}
}

/*フッター*/
#footer{ background: #666; color: #fff; margin-top: 80px; padding: 80px 0 0; font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;}
@media screen and (max-width:767px){
#footer{ margin-top:10%; padding:10% 0 0;}
}
/*
#footer #f_nav01{ letter-spacing: -1em; margin-bottom: 120px; text-align: center;}
#footer #f_nav01 .f_nav01_box{ display: inline-block; vertical-align: top; letter-spacing: 0; margin: 0 50px; text-align: left;}
#footer #f_nav01 dl dt{ color: #714FB3; font-weight: 500; margin-bottom: 1em;}
#footer #f_nav01 dl dd{ padding-left: 0.5em;}
#footer #f_nav01 dl dd ul li{ padding-left: 0.75em; margin-bottom: 1.5em; position: relative;}
#footer #f_nav01 dl dd ul li:before{ content: "-"; position: absolute; left: 0; top: 0; color: #714FB3;}
#footer #f_nav01 dl dd ul li a:hover{ text-decoration: underline;}
@media screen and (max-width:767px){
#footer #f_nav01{ margin:0 5% 5%;}
#footer #f_nav01 .f_nav01_box{ width:100%; margin:0 0 5%;}
#footer #f_nav01 dl dt{ font-size:4vw; border-bottom:1px solid #714FB3; padding:0 1.5em 1em; margin-bottom:0; position:relative; cursor:pointer;}
#footer #f_nav01 dl dt:after{ content: ""; width:4.2vw; height:2.55vw; background:url("../images/f_nav_arrow.png") center center no-repeat; background-size:cover; position:absolute; right:6vw; top:calc(50% - 1.3vw); transition:0.3s;}
#footer #f_nav01 dl dt.active:after{ transform:rotateX(180deg);}
#footer #f_nav01 dl dd{ display:none; padding:10%; border-bottom:1px solid #714FB3;}
#footer #f_nav01 dl dd ul li{ font-size:3.5vw; margin-bottom:10%;}
#footer #f_nav01 dl dd ul li:last-child{ margin-bottom:0;}
}
*/
#footer #f_nav01{ max-width: 1080px; margin:0 auto 120px; text-align: center;}
#footer #f_nav01 a:hover{ text-decoration: underline;}
#footer #f_nav01 ul{ display: flex; justify-content: space-between; align-items: flex-start;}
#footer #f_nav01 ul li{ font-size: 15px; margin: 0 auto; text-align: left;}
#footer #f_nav01 ul li a{ display: inline-block; color: #d1bdff; font-weight: bold;}
#footer #f_nav01 .f_nav_list{ margin: 1em 0 0 1em;}
#footer #f_nav01 .f_nav_list ul{ display: block;}
#footer #f_nav01 .f_nav_list ul li{ font-size: 14px; margin: 0.5em auto 0;}
#footer #f_nav01 .f_nav_list ul li:before{ content: "・";}
#footer #f_nav01 .f_nav_list a{ color: #fff; font-weight: normal;}
#footer #f_nav01 .f_nav_list p{ font-size: 16px; font-weight: bold; padding-left: 0.75em; line-height: 1em; margin: 0; position: relative;}
#footer #f_nav01 .f_nav_list p:before{ content: "-"; position: absolute; left: 0; top: 0; color: #714FB3;}
#footer #f_nav01 .f_nav_list a span{ display: inline-block; vertical-align: middle; margin-left: 5px; line-height: 0;}
#footer #f_nav01 .f_nav_list a span img{ width: 13px; line-height: 0; position: relative; top: -3px;}
#footer #f_nav01 .f_nav_list_in{ margin-bottom: 2em;}
#footer #f_nav01 .f_nav_list_in:last-child{ margin-bottom: 0;}
#footer #f_nav01 .f_nav_list_in ul li{ margin-left: 1em;}
#footer #f_nav01 .f_nav_list ul a{ cursor: pointer;}
@media screen and (max-width:767px){
#footer #f_nav01{margin:0 5% 5%; text-align:left;}
#footer #f_nav01 ul{ display:block;}
#footer #f_nav01 ul li{ font-size:3.75vw;}
#footer #f_nav01 ul li a{ display:block; padding:5% 2.5%; border-bottom:2px solid #714FB3;}
#footer #f_nav01 ul li a.toggle{ text-decoration:none !important; position:relative; cursor:pointer;}
#footer #f_nav01 ul li a.toggle:after{ content: ""; width:4.2vw; height:2.55vw; background:url("../images/f_nav_arrow.png") center center no-repeat; background-size:cover; position:absolute; right:6vw; top:calc(50% - 1.3vw); transition:0.3s;}
#footer #f_nav01 ul li a.toggle.active:after{ transform:rotateX(180deg);}
#footer #f_nav01 .f_nav_list{ display:none; margin:0; padding:0 2.5% 5%; border-bottom:2px solid #714FB3;}
#footer #f_nav01 .f_nav_list ul{ width:100%; display:flex; justify-content:space-between; flex-direction:row; flex-wrap:nowrap; margin:5% auto 1.25%;}
#footer #f_nav01 .f_nav_list ul li{ width:auto; padding:0; margin:0; border:none; font-size:3.25vw;}
#footer #f_nav01 .f_nav_list ul li:before{ content: ""; display:none;}
#footer #f_nav01 .f_nav_list ul.retail{ justify-content:flex-start;}
#footer #f_nav01 .f_nav_list ul.retail li{ width:40%;}
#footer #f_nav01 .f_nav_list ul.company{ flex-wrap:wrap; justify-content:flex-start; margin: 3.75% auto 0;}
#footer #f_nav01 .f_nav_list ul.company li{ width:33.33%; text-align:center; margin:1.25% 0;}
#footer #f_nav01 .f_nav_list a{ padding:0; border:none;}
#footer #f_nav01 .f_nav_list p{ font-size:3.75vw; padding-left:0;}
#footer #f_nav01 .f_nav_list p:before{ display:none;}
#footer #f_nav01 .f_nav_list a span{ margin-left:1.75vw;}
#footer #f_nav01 .f_nav_list a span img{ width:3.25vw; top:-0.5vw;}
#footer #f_nav01 .f_nav_list_in{ border-bottom:1px solid #fff; padding:5% 0; margin-bottom: 0;}
#footer #f_nav01 .f_nav_list_in:last-child{ border:none; padding-bottom: 0;}
#footer #f_nav01 .f_nav_list_in ul li{ margin:0;}
}
#footer #f_nav02{ text-align: center; margin-bottom: 20px;}
#footer #f_nav02 ul{ letter-spacing: -1em;}
#footer #f_nav02 ul li{ display: inline-block; vertical-align: middle; letter-spacing: 0; font-size: 14px;}
#footer #f_nav02 ul li:after{ content: "|"; margin: 0 1.5em;}
#footer #f_nav02 ul li:first-child:before{ content: "|"; margin: 0 1.5em;}
#footer #f_nav02 ul li a:hover{ text-decoration: underline;}
p.copyright{ text-align:center; margin:0; padding:1em; background:#333; color:#fff; font-size:12px; letter-spacing:0.1em;}
@media screen and (max-width:767px){
#footer #f_nav02{ margin-bottom:5%;}
#footer #f_nav02 ul li{ font-size:2.75vw;}
p.copyright{ font-size:2.25vw; letter-spacing:0.05em;}
}



@media print, screen and (min-width:768px){
.smp{ display:none !important;}
}
@media screen and (max-width:767px){
.pc{ display:none !important;}
}
