@charset "UTF-8";

:root {
	--text-color: #333333;
	/*--accent-color:#004F9F;*/
	--blue-color:#004F9F;
	--accent-color:#504f4a;
	--bg-color:#FDFBF7;
	--bt-color:#BFAD81;
	/*--gr-bg-color:#f9f6f0;*/
	--gr-bg-color:#f1ede6;
	--footer-color:#333333;
	--gr-color:#545454;
	--grad-color:linear-gradient(153deg, rgba(0,79,159,1) 0%, rgba(94,85,211,1) 100%);
	--default-font:16px;
	--default-family: "Noto Sans JP", serif;
	--h-family:"Noto Serif JP", serif;
	--num-family:"Oswald", serif;
}
@media screen and (max-width:767px) {
	:root {
		--default-font:14px;
	}
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,form,input,button,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

/***************************************
ベース
***************************************/
body {
	font-size:var(--default-font);
	font-family:var(--default-family);
	font-weight: 400;
	text-align: justify;
	-webkit-text-size-adjust: 100%;
	color: var(--text-color);
	overflow-x: hidden;
}
@media screen and (max-width:767px) {
	body {
	}
}

h1, h2, h3, h4, h5, h6 {
}
a {
	color: var(--accent-color);
	word-break: break-all;
	text-decoration: none;
}

a:hover {
	color: var(--accent-color);
	text-decoration:underline;
}
strong{
	font-weight: 700;
}

img {
	width: 100%;
	vertical-align: middle;
}

small{
	font-size: 0.9rem;
}
p small{
	line-height: 1.4em;
    display: inline-block;
	font-weight: normal;
}

.sp_only {
	display: none;
}
.pc_only {
	display: block;
}

a[href^="tel:"]{
	color: var(--text-color);
}
@media screen and (max-width:767px) {
	p small{
		font-size: 12px;
	}
	.sp_only {
		display: inline-block;
	}
	br.sp_only {
		display: inline;
	}
	.pc_only {
		display: none!important;
	}
}


/* common
---------------------------------------------------------------------------- */
/* -- color --*/
.red {color:red;}
.white{color:white;}

/* -- text font  --*/
.bold{font-weight:bold;}.tc { text-align: center; }.tl { text-align: left; }.tr { text-align: right; }.tdu { text-decoration: underline; }
.lh10 { line-height: 1em; }.lh15 { line-height: 1.5em; }.lh2 { line-height: 2em; }.lh3 { line-height: 3em; }
.vm { vertical-align: middle; }.vt { vertical-align: top; }
.fs08 { font-size: 0.8em; }.fs09 { font-size: 0.9em; }.fs1 { font-size: 1em; }.fs11 { font-size: 1.1em; }.fs12 { font-size: 1.2em; }.fs13 { font-size: 1.3em; }
.ltxt{font-size: 150%;}.mtxt{font-size: 125%;}.mstxt{font-size: 110%;}.stxt{font-size: 90%;}.sstxt{font-size: 80%;}.bn { border:none; }.bbn { border-bottom: none; }
.marker{background: linear-gradient(transparent 60%, #FCE800 60%);}

/* -- width  --*/
.w500{width:500px; margin: 0 auto;}.w510{width:510px; margin: 0 auto;}.w520{width:520px; margin: 0 auto;}.w530{width:530px; margin: 0 auto;}.w540{width:540px; margin: 0 auto;}.w550{width:550px; margin: 0 auto;}.w560{width:560px; margin: 0 auto;}.w570{width:570px; margin: 0 auto;}.w580{width:580px; margin: 0 auto;}.w590{width:590px; margin: 0 auto;}
.w600{width:600px; margin: 0 auto;}.w610{width:610px; margin: 0 auto;}.w620{width:620px; margin: 0 auto;}.w630{width:630px; margin: 0 auto;}.w640{width:640px; margin: 0 auto;}.w650{width:650px; margin: 0 auto;}.w660{width:660px; margin: 0 auto;}.w670{width:670px; margin: 0 auto;}.w680{width:680px; margin: 0 auto;}.w690{width:690px; margin: 0 auto;}
.w700{width:700px; margin: 0 auto;}.w710{width:710px; margin: 0 auto;}.w720{width:720px; margin: 0 auto;}.w730{width:730px; margin: 0 auto;}.w740{width:740px; margin: 0 auto;}.w750{width:750px; margin: 0 auto;}.w760{width:760px; margin: 0 auto;}.w770{width:770px; margin: 0 auto;}.w780{width:780px; margin: 0 auto;}.w790{width:790px; margin: 0 auto;}
.w800{width:800px; margin: 0 auto;}.w810{width:810px; margin: 0 auto;}.w820{width:820px; margin: 0 auto;}.w830{width:830px; margin: 0 auto;}.w840{width:840px; margin: 0 auto;}.w850{width:850px; margin: 0 auto;}.w860{width:860px; margin: 0 auto;}.w870{width:870px; margin: 0 auto;}.w880{width:880px; margin: 0 auto;}.w890{width:890px; margin: 0 auto;}
.w900{width:900px; margin: 0 auto;}.w910{width:910px; margin: 0 auto;}.w920{width:920px; margin: 0 auto;}.w930{width:930px; margin: 0 auto;}.w940{width:940px; margin: 0 auto;}.w950{width:950px; margin: 0 auto;}.w960{width:960px; margin: 0 auto;}.w970{width:970px; margin: 0 auto;}.w980{width:980px; margin: 0 auto;}.w990{width:990px; margin: 0 auto;}
.w1000{width:1000px; margin: 0 auto;}.w1010{width:1010px; margin: 0 auto;}.w1020{width:1020px; margin: 0 auto;}.w1030{width:1030px; margin: 0 auto;}.w1040{width:1040px; margin: 0 auto;}.w1050{width:1050px; margin: 0 auto;}.w1060{width:1060px; margin: 0 auto;}.w1070{width:1070px; margin: 0 auto;}.w1080{width:1080px; margin: 0 auto;}.w1090{width:1090px; margin: 0 auto;}
.w1100{width:1100px; margin: 0 auto;}.w1110{width:1110px; margin: 0 auto;}.w1120{width:1120px; margin: 0 auto;}.w1130{width:1130px; margin: 0 auto;}.w1140{width:1140px; margin: 0 auto;}.w1150{width:1150px; margin: 0 auto;}.w1160{width:1160px; margin: 0 auto;}.w1170{width:1170px; margin: 0 auto;}.w1180{width:1180px; margin: 0 auto;}.w1190{width:1190px; margin: 0 auto;}
.w1200{width:1200px; margin: 0 auto;}.w1210{width:1210px; margin: 0 auto;}.w1220{width:1220px; margin: 0 auto;}.w1230{width:1230px; margin: 0 auto;}.w1240{width:1240px; margin: 0 auto;}.w1250{width:1250px; margin: 0 auto;}.w1260{width:1260px; margin: 0 auto;}.w1270{width:1270px; margin: 0 auto;}.w1280{width:1280px; margin: 0 auto;}.w1290{width:1290px; margin: 0 auto;}
.w1300{width:1300px; margin: 0 auto;}.w1310{width:1310px; margin: 0 auto;}.w1320{width:1320px; margin: 0 auto;}.w1330{width:1330px; margin: 0 auto;}.w1340{width:1340px; margin: 0 auto;}.w1350{width:1350px; margin: 0 auto;}.w1360{width:1360px; margin: 0 auto;}.w1370{width:1370px; margin: 0 auto;}.w1380{width:1380px; margin: 0 auto;}.w1390{width:1390px; margin: 0 auto;}
.w1400{width:1400px; margin: 0 auto;}
.w100{width:100%;}.w99{width:99%;}.w98{width:98%;}.w97{width:97%;}.w96{width:96%;}.w95{width:95%;}.w94{width:94%;}.w93{width:93%;}.w92{width:92%;}.w91{width:91%;}.w90{width:90%;}
.w89{width:89%;}.w88{width:88%;}.w87{width:87%;}.w86{width:86%;}.w85{width:85%;}.w84{width:84%;}.w83{width:83%;}.w82{width:82%;}.w81{width:81%;}.w80{width:80%;}
.w79{width:79%;}.w78{width:78%;}.w77{width:77%;}.w76{width:76%;}.w75{width:75%;}.w74{width:74%;}.w73{width:73%;}.w72{width:72%;}.w71{width:71%;}.w70{width:70%;}
.w69{width:69%;}.w68{width:68%;}.w67{width:67%;}.w66{width:66%;}.w65{width:65%;}.w64{width:64%;}.w63{width:63%;}.w62{width:62%;}.w61{width:61%;}.w60{width:60%;}
.w59{width:59%;}.w58{width:58%;}.w57{width:57%;}.w56{width:56%;}.w55{width:55%;}.w54{width:54%;}.w53{width:53%;}.w52{width:52%;}.w51{width:51%;}.w50{width:50%;}
.w49{width:49%;}.w48{width:48%;}.w47{width:47%;}.w46{width:46%;}.w45{width:45%;}.w44{width:44%;}.w43{width:43%;}.w42{width:42%;}.w41{width:41%;}.w40{width:40%;}
.w39{width:39%;}.w38{width:38%;}.w37{width:37%;}.w36{width:36%;}.w35{width:35%;}.w34{width:34%;}.w33{width:33%;}.w32{width:32%;}.w31{width:31%;}.w30{width:30%;}
.w29{width:29%;}.w28{width:28%;}.w27{width:27%;}.w26{width:26%;}.w25{width:25%;}.w24{width:24%;}.w23{width:23%;}.w22{width:22%;}.w21{width:21%;}.w20{width:20%;}
.w19{width:19%;}.w18{width:18%;}.w17{width:17%;}.w16{width:16%;}.w15{width:15%;}.w14{width:14%;}.w13{width:13%;}.w12{width:12%;}.w11{width:11%;}.w10{width:10%;}
.w9{width:9%;}.w8{width:8%;}.w7{width:7%;}.w6{width:6%;}.w5{width:5%;}.w4{width:4%;}.w3{width:3%;}.w2{width:2%;}.w1{width:1%;}

/* -- layout  --*/
.fl {float:left;}.fr {float:right;}
.dc {display:block; text-align:center;}.ma {margin-left: auto; margin-right: auto;}
.flex {display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:-moz-flex;display:flex;}
.jc_sb {-webkit-box-pack:justify;-moz-box-pack:justify;-webkit-flex-pack:justify;-moz-flex-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;-moz-justify-content:space-between;justify-content:space-between;}
.jc_sa {-webkit-flex-pack:distribute;-moz-flex-pack:distribute;-ms-flex-pack:distribute;-webkit-justify-content:space-around;-moz-justify-content:space-around;justify-content:space-around;}
.jc_ce {-webkit-box-pack:center;-moz-box-pack:center;-webkit-flex-pack:center;-moz-flex-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;}
.fl_wp {-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}
.ai_ce{-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;}
.fd_cl{flex-direction: column;}.fd_cr{flex-direction: column-reverse;}.grid{display: grid;}
.grid3f-40{grid-template-columns: repeat(3, 1fr);column-gap: 40px;row-gap: 40px;}.grid3f-30{grid-template-columns: repeat(3, 1fr);column-gap: 30px;row-gap: 30px;}
.grid4f-20{grid-template-columns: repeat(4, 1fr);column-gap: 20px;row-gap: 20px;}.grid4f-30{grid-template-columns: repeat(4, 1fr);column-gap: 30px;row-gap: 30px;}
.fw7{font-weight: 700;}
.fw9{font-weight: 900;}

/* -- margin  --*/
.mb0{margin-bottom:0px !important;}.mb5{margin-bottom:5px !important;}.mb10{margin-bottom:10px !important;}.mb15{margin-bottom:15px !important;}
.mb20{margin-bottom:20px !important;}.mb25{margin-bottom:25px !important;}.mb30{margin-bottom:30px !important;}.mb35{margin-bottom:35px !important;}
.mb40{margin-bottom:40px !important;}.mb45{margin-bottom:45px !important;}.mb50{margin-bottom:50px !important;}.mb55{margin-bottom:55px !important;}
.mb60{margin-bottom:60px !important;}.mb65{margin-bottom:65px !important;}.mb70{margin-bottom:70px !important;}.mb75{margin-bottom:75px !important;}
.mb80{margin-bottom:80px !important;}.mb85{margin-bottom:85px !important;}.mb90{margin-bottom:90px !important;}.mb95{margin-bottom:95px !important;}.mb100{margin-bottom:100px !important;}
/* -- clearfix  --*/
.cf:before, .cf:after {content:' '; display:table;}.cf:after {clear:both;}


@media screen and (max-width: 767px) {
body .pc {display: none;}
body .sp {display: block;}

.w500,.w510,.w520,.w530,.w540,.w550,.w560,.w570,.w580,.w590,.w600,.w610,.w620,.w630,.w640,.w650,.w660,.w670,.w680,.w690,.w700,.w710,.w720,.w730,.w740,.w750,.w760,.w770,.w780,.w790,.w800,.w810,.w820,.w830,.w840,.w850,.w860,.w870,.w880,.w890,.w900,.w910,.w920,.w930,.w940,.w950,.w960,.w970,.w980,.w990,.w1000,.w1010,.w1020,.w1030,.w1040,.w1050,.w1060,.w1070,.w1080,.w1090,.w1100,.w1110,.w1120,.w1130,.w1140,.w1150,.w1160,.w1170,.w1180,.w1190,.w1200,.w1210,.w1220,.w1230,.w1240,.w1250,.w1260,.w1270,.w1280,.w1290,.w1300,.w1310,.w1320,.w1330,.w1340,.w1350,.w1360,.w1370,.w1380,.w1390,.w1400{width: 100%;}
.w99s{width:99%;}.w98s{width:98%;}.w97s{width:97%;}.w96s{width:96%;}.w95s{width:95%;}.w94s{width:94%;}.w93s{width:93%;}.w92s{width:92%;}.w91s{width:91%;}.w90s{width:90%;}
.w89s{width:89%;}.w88s{width:88%;}.w87s{width:87%;}.w86s{width:86%;}.w85s{width:85%;}.w84s{width:84%;}.w83s{width:83%;}.w82s{width:82%;}.w81s{width:81%;}.w80s{width:80%;}
.w79s{width:79%;}.w78s{width:78%;}.w77s{width:77%;}.w76s{width:76%;}.w75s{width:75%;}.w74s{width:74%;}.w73s{width:73%;}.w72s{width:72%;}.w71s{width:71%;}.w70s{width:70%;}
.w69s{width:69%;}.w68s{width:68%;}.w67s{width:67%;}.w66s{width:66%;}.w65s{width:65%;}.w64s{width:64%;}.w63s{width:63%;}.w62s{width:62%;}.w61s{width:61%;}.w60s{width:60%;}
.w59s{width:59%;}.w58s{width:58%;}.w57s{width:57%;}.w56s{width:56%;}.w55s{width:55%;}.w54s{width:54%;}.w53s{width:53%;}.w52s{width:52%;}.w51s{width:51%;}.w50s{width:50%;}
.w49s{width:49%;}.w48s{width:48%;}.w47s{width:47%;}.w46s{width:46%;}.w45s{width:45%;}.w44s{width:44%;}.w43s{width:43%;}.w42s{width:42%;}.w41s{width:41%;}.w40s{width:40%;}
.w39s{width:39%;}.w38s{width:38%;}.w37s{width:37%;}.w36s{width:36%;}.w35s{width:35%;}.w34s{width:34%;}.w33s{width:33%;}.w32s{width:32%;}.w31s{width:31%;}.w30s{width:30%;}
.w29s{width:29%;}.w28s{width:28%;}.w27s{width:27%;}.w26s{width:26%;}.w25s{width:25%;}.w24s{width:24%;}.w23s{width:23%;}.w22s{width:22%;}.w21s{width:21%;}.w20s{width:20%;}
.w19s{width:19%;}.w18s{width:18%;}.w17s{width:17%;}.w16s{width:16%;}.w15s{width:15%;}.w14s{width:14%;}.w13s{width:13%;}.w12s{width:12%;}.w11s{width:11%;}.w10s{width:10%;}
.w9s{width:9%;}.w8s{width:8%;}.w7s{width:7%;}.w6s{width:6%;}.w5s{width:5%;}.w4s{width:4%;}.w3s{width:3%;}.w2s{width:2%;}.w1s{width:1%;}
.w100s{width:100%;}

.flexsp {display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:-moz-flex;display:flex;}
.jc_sbsp {-webkit-box-pack:justify;-moz-box-pack:justify;-webkit-flex-pack:justify;-moz-flex-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;-moz-justify-content:space-between;justify-content:space-between;}
.jc_sasp {-webkit-flex-pack:distribute;-moz-flex-pack:distribute;-ms-flex-pack:distribute;-webkit-justify-content:space-around;-moz-justify-content:space-around;justify-content:space-around;}
.jc_cesp {-webkit-box-pack:center;-moz-box-pack:center;-webkit-flex-pack:center;-moz-flex-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;}
.fl_wpsp {-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}
.ai_cesp {-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;}
.fd_clsp{flex-direction: column;}.fd_crsp{flex-direction: column-reverse;}.grid{display: grid;}
.prl5p {padding: 0 5%;box-sizing: border-box;}
.fs20p{font-size: 18px;}.fs25p{font-size: 20px;}.fs28p{font-size: 22px;}.fs30p{font-size: 24px;}.fs35p{font-size: 28px;}.fs40p{font-size: 32px;}.fs50p{font-size: 38px;}.fs60p{font-size: 58px;}
	.tls {text-align:left;}
/* -- margin  --*/
.mb0s{margin-bottom:0px !important;}.mb5s{margin-bottom:5px !important;}.mb10s{margin-bottom:10px !important;}.mb15s{margin-bottom:15px !important;}
.mb20s{margin-bottom:20px !important;}.mb25s{margin-bottom:25px !important;}.mb30s{margin-bottom:30px !important;}.mb35s{margin-bottom:35px !important;}
.mb40s{margin-bottom:40px !important;}.mb45s{margin-bottom:45px !important;}.mb50s{margin-bottom:50px !important;}.mb55s{margin-bottom:55px !important;}
.mb60s{margin-bottom:60px !important;}.mb65s{margin-bottom:65px !important;}.mb70s{margin-bottom:70px !important;}.mb75s{margin-bottom:75px !important;}
.mb80s{margin-bottom:80px !important;}.mb85s{margin-bottom:85px !important;}.mb90s{margin-bottom:90px !important;}.mb95s{margin-bottom:95px !important;}.mb100s{margin-bottom:100px !important;}
	.plr5{padding-left:5%;padding-right:5%;}
}


/*------------ヘッダー-（ナビゲーション・ロゴ）----------------*/

header {
	position: fixed;
	width: 100%;
	top: 0;
  	left: 0;
	background: transparent;
	transition: 0.5s;
	z-index: 100;
	height: 100px;
	display: flex;
	align-items: center;
	background:var(--bg-color);
}
.header-inner{
	display: flex;
	width: 90%;
	/*max-width: 1160px;*/
	margin: auto;
	justify-content: space-between;
}
header .logo{
	width: 30%;
	display: flex;
	align-items: center;
}
header h1 a {
	width: 50px;
	height: 53px;
	background: url(./common/img/logo.svg) no-repeat center center/100%;
	text-indent: -9999px;
	display: block;
}
header div.lead{
	color: var(--accent-color);
	font-weight: 700;
	margin-left: 1em;
}

header nav {
	display: flex;
	justify-content: space-between;
	width: 40%;
	align-items: center;
	z-index: 10;
	position: relative;
	height: 60px;
}
header nav ul{
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
}
header nav ul.header-nav-list{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header nav ul li{
	width: 100%;
}
header nav ul a {
	text-decoration: none;
	font-size: 14px;
	display: inline-block;
	padding: 5px 20px;
	color: var(--text-color);
}
header nav ul li.toggle{
	position: relative;
}
header nav ul li.toggle > a::after{
	content: "";
	width: 8px;
	height: 8px;
	margin-left: 0.5em;
	display: inline-block;
	border-top: solid 1px var(--text-color);
	border-right: solid 1px var(--text-color);
	transform: rotate(135deg);
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;	
	top: -4px;
	position: relative;
}
header nav ul li.toggle.active a::after{
	transform: rotate(-45deg);
	top: 2px;
}
header nav ul li > ul.sub{
	position: absolute;
	left: 0;
	top: 2em;
	display: none;
	width: 12em;
	z-index: 3;
	background: rgba(255 255 255/0.8);
	padding: 10px 20px;
	border-radius: 10px;
}
header nav ul li > ul.sub li{
	padding: 10px 0;
}
header nav ul li > ul.sub li a{
}

#nav_toggle{
	display: none;
}
@media screen and (min-width:1059px) {
	header nav ul a.active,
	header nav ul a:hover{
		background: var(--point-color);
		text-decoration: none;
		font-weight: 700;
	}
}


/*ナビゲーション*/
@media screen and (max-width:1280px) {
	.header-inner{
		/*width: 50%;*/
		width: 98%;
	}
}
@media screen and (max-width:1024px) {
	#top-head {
		position: fixed;
		display: flex!important;
		z-index: 100;
		height: 60px;
		width: 100%;
	}
	.header-info, .header-nav-list a span {
		display: none;
	}
	.header-inner {
		width: 100%;
		padding: 10px;
		z-index: 100;
		position: absolute;
		right: 0;
		justify-content: space-between;
	}
	header .logo {
		width: 76%;
		z-index: 100;
	}
	header .logo a:hover{
		text-decoration: none;
	}
	header h1 a{
		width: 36px;
		height: 38px;
	}
	header a.head-logo span{
		margin-left: 0.5em;
	}
	.header-nav {
		width: 100%;
		margin: 0 auto;
		padding-top: 60px;
		background: var(--bg-color);
	}
	header nav ul.header-nav-list {
		display: block;
	}
	header nav ul.header-nav-list {
		width: 90%;
		margin: auto;
		height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
		padding-top: 10%;
	}

	header nav{
		display: none;
		position: fixed;
		top:0px;
		width: 100%;
		left: 0;
		height: 100%;
	}
	.header-nav > ul > li a {
		display: block;
		text-align:left;
		padding: 20px 10px;
		font-size: 18px;
		font-weight: 500;
		letter-spacing: 0.05em;
	}
	.header-nav > ul > li a:active,
	.header-nav > ul > li a:hover{
		color: var(--text-color);
		text-decoration: none;
	}
	header nav ul li.toggle > a::after{
		content: "";
		width: 8px;
		height: 8px;
		margin-left: 0.5em;
		display: inline-block;
		border-top: solid 1px var(--text-color);
		border-right: solid 1px var(--text-color);
		transform: rotate(135deg);
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
		top: -4px;
        position: relative;
	}
	header nav ul li.toggle.active a::after{
		transform: rotate(-45deg);
		top: 2px;
	}
	header nav ul li > ul.sub{
		position: relative;
		left: auto;
		top: auto;
		width: 100%;
		background: transparent;
		padding: 0px 5px 10px 20px;
		border-radius: 0px
	}
	header nav ul li > ul.sub li a{
		border: none;
		color: var(--text-color);
		font-size: 16px;
		padding: 0px 0;
	}

    /*開閉ボタン*/
	#nav_toggle{
		display: block;
		width: 24px;
		height: 16px;
		position: relative;
		z-index: 100;
		top: 9px;
	}
	#nav_toggle div {
		position: relative;
	}
	#nav_toggle span{
		display: block;
		height: 1px;
		background: var(--accent-color);
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
	}
	#nav_toggle span:nth-child(1){
		top:0px;
	}
	#nav_toggle span:nth-child(2){
		top:8px;
	}
	#nav_toggle span:nth-child(3){
		top:16px;
	}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle span{
	}
	.open #nav_toggle span:nth-child(1) {
		top: 12px;
	   -webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.open #nav_toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav_toggle span:nth-child(3) {
		top: 12px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
}
@media screen and (max-width:767px) {
	header nav {
		display: none;
		position: fixed;
		top: 0px;
		width: 100%;
		height: 100%;
		left: 0;
	}
	header .logo {
		width: 80%;
	}
}

/*------------フッター-----------------*/
footer {
	background: var(--footer-color) url(./common/img/pattern.png);
	background-size: 100px;
	padding: 60px 0 30px 0;
	position: relative;
	z-index: 10;
}
footer .inner .flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	color:white;
}
footer .inner img.logo{
	width: 78px;
	font-size: 82px;
	margin-bottom: 10px;
}
footer .inner .info{
	width: 32%;
	line-height: 1.8em;
}
footer .inner .info p{
	font-size: 14px;
	line-height: 1.5em;
}
footer .inner .info p strong{
	font-size: 16px;
}
footer .inner ul{
	width: 20%;
}
footer .inner ul li{
	margin-bottom: 10px;
}
footer .inner ul li a{
	color: white;
}
footer .inner ul li:first-child{
	font-weight: 700;
}

div.copy{
	width: 100%;
	text-align: center;
	padding-top: 30px;
	color: white;
	font-size: 14px;
}
@media screen and (max-width:767px) {
	footer{
		padding: 20px 0;
	}
	footer .inner .info{
		width: 100%;
		display: flex;
		margin-bottom: 10px;
	}
	footer .inner img.logo{
		width: 50px;
		font-size: 54px;
		margin-right: 0.2em;
	}
	div.copy{
		width: 100%;
		text-align: center;
		font-size: 11px;
	}
	footer .inner ul{
		width: 48%;
	}
	footer .inner ul li{
		margin-bottom: 5px;
	}
}

/*------------共通-----------------*/

.contents{
	padding-top: 100px;
	overflow-x: hidden;
}
#top .contents{
	background: var(--bg-color);
}

/*セクション*/
section {
	padding:60px 0;
	position: relative;
}
.inner{
	width: 100%;
	margin: 0 auto;
	max-width: 1160px;
	z-index: 1;
	position: relative;
}
@media screen and (max-width:1159px) {
	.inner{
		padding: 0px 20px;
	}
}
@media screen and (max-width:1024px) {
	.contents{
		padding-top: 60px;
	}
	section{
		padding:30px 0;
	}
	.inner{
		padding: 0 20px;
	}
}


/*セクション-中身*/
section p{
	line-height: 1.7em;
}
.second .title-head{
	padding: 80px 0;
}
.second .title-head.company{
	background: url(./common/img/company-head.jpg) no-repeat center center/cover;
}
.second .title-head.metal{
	background: url(./common/img/jigyo-metal-head.jpg) no-repeat center center/cover;
}
.second .title-head.heating{
	background: url(./common/img/jigyo-heating-head.jpg) no-repeat center center/cover;
}
.second .title-head.develop{
	background: url(./common/img/jigyo-develop-head.jpg) no-repeat center center/cover;
}
.second .title-head.tsuyomi{
	background: url(./common/img/company-tsuyomi-head.jpg) no-repeat center center/cover;
}
.second .title-head.contact{
	background: url(./common/img/contact-head.jpg) no-repeat center center/cover;
}
.second h2 {
	font-size: 45px;
	color: white;
	text-align: left;
	position: relative;
	font-family: var(--h-family);
}
.second h2 small{
	font-size: 24px;
	display: block;
	padding-bottom: 10px;
}
.second section h3{
	font-size: 36px;
	font-weight: 500;
	margin-bottom: 30px;
	position: relative;
	font-family: var(--h-family);
	color: var(--accent-color);
}
.second section h3.center{
	text-align: center;
}
.second section h3 small{
	font-size: 30px;
	display: inline-block;
	line-height: 1.4em;
}
.second section h3 span{
	position: relative;
	font-size: 24px;
	padding-top: 20px;
	display: block;
	margin-top: 20px;
}
.second section h3 span::before{
	content: "";
	display: block;
	width: 50px;
	height: 1px;
	background: var(--accent-color);
	position: absolute;
	left: 50%;
	top: 0%;
	transform: translateX(-50%);
}
.second section h4{
	background: var(--bt-color);
	color: white;
	font-family: var(--h-family);
	font-size: 24px;
	padding: 15px;
	margin-bottom: 30px;
	font-weight: 500;
}
.second section h5{
	font-size: 22px;
	padding-bottom: 10px;
	font-weight: 500;
	font-family: var(--h-family);
}

.flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
@media screen and (max-width:767px) {
	.second .title-head{
		padding: 40px 0;
	}
	.second h2 {
		font-size: 36px;
	}
	.second h2 small{
		font-size: 18px;
		padding-bottom: 0;
	}
	.second section h3{
		margin-bottom: 20px;
		font-size: 28px;
	}

	.second section h3.top{
		margin-top: 40px;
	}
	.second section h3 small{
		font-size: 18px;
		margin-top: 5px;
	}
	.second section h3 span{
		font-size: 16px;
		padding-top: 10px;
		margin-top: 10px;
	}
	.second section h4{
		font-size: 20px;
		margin-top: 20px;
		margin-bottom: 20px;
	}
	.second section h5{
		font-size: 18px;
	}
}

/*汎用ボタン*/
#inq{
	padding: 0;
}
div.button{
	padding: 50px 0;
	text-align: center;
	border-top: 1px solid #CCCCCC;
}
div.link-button{
	padding: 30px 0 0 0;
	text-align: center;
}
.second div.button{
	border:none
}
a.bt{
	display: inline-block;
	color: var(--accent-color);
	/*background: var(--accent-color);*/
	background: white;
	border:1px solid var(--accent-color);
	text-align: center;
	padding: 15px 10px;
	min-width: 300px;
	border-radius: 60px;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	font-size:var(--default-font);
	font-weight: 700;
	letter-spacing: 0.05em;
}
a.bt:hover{
	opacity: 0.7;
	text-decoration: none;
}
/*a.bt:hover{
	text-decoration: none;
	background:var(--blue-color);
	background-color: var(--blue-color);
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}*/
a.form-button{
	display: inline-block;
	background: var(--bt-color) url(./common/img/form-ic.svg) no-repeat 30px center/45px;
	color: white;
	text-align: left;
	padding: 10px 10px 10px 30px;
	position: relative;
	text-align: center;
	min-width: 424px;
	border-radius: 60px;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
a.form-button strong{
	font-size: 24px;
	font-weight: 700;
}
a.form-button:hover{
	text-decoration: none;
	background: url(./common/img/form-ic.svg) no-repeat 30px center/45px,var(--blue-color);
	background-color: var(--blue-color);
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

@media screen and (max-width:767px) {
	div.link-button{
		padding: 20px;
	}
	div.button{
		padding:20px 0;
	}
	.bt-center{
		padding-top: 20px;
	}
	a.bt{
		min-width: 80%;
	}
	a.form-button{
		min-width: 100%;
		background-size: 30px;
	}
	a.form-button strong{
		font-size: 18px;
	}
}

/***************************************
メインビジュアル
***************************************/
.mv {
	background: url(./common/img/fv-movie.webp) no-repeat center center/cover;
	margin: auto;
	padding-top: calc(986 / 2500 * 100%);
	position: relative;
}
.mv .inner{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
	height: 100%;
	display: flex;
	align-items: center;
}
.mv .mv-lead h2{
	font-family: var(--h-family);
	font-size: 55px;
	padding-top: 30px;
	color: white;
}
.mv .mv-lead h2 small{
	display: block;
	font-size: 24px;
	padding-top: 10px;
}
@media screen and (max-width:1024px) {
	.mv .mv-lead h2 br.sp_only{
		display: inline;
	}
	.mv .mv-lead h2{
		font-size: 30px;
	}
	.mv .mv-lead h2 small{
		font-size: 16px;
	}
}
@media screen and (max-width:767px) {
	.mv {
		padding-top: calc(886 / 750 * 100%);
	}
	.mv .mv-lead h2{
		font-size: 30px;
		text-align: center;
	}
	.mv .mv-lead h2 small{
		font-size: 16px;
		text-align: center;
	}
}
#top section h2{
	font-size: 30px;
	color: var(--accent-color);
	font-weight: 500;
	padding-bottom: 20px;
	font-family: var(--h-family);
}

#news{
	padding: 25px 0;
	background: white;
}
#news time{
	display: inline-block;
	margin-right: 1em;
}
#news a{
	color: var(--text-color);
	text-decoration: underline;
}
@media screen and (max-width:767px) {
	#news time{
		display: block;
	}
}

#merit .flex{
	display: flex;
	justify-content: center;
	padding: 0px 0;
	flex-wrap: wrap;
	position: relative;
}
#merit .flex .block{
	width: 33.3%;
	position: relative;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
#merit .flex .block:nth-of-type(2){
	flex-direction: column-reverse;
}
#merit .flex .block .box-img,
#merit .flex .block .box-txt{
	height: 300px;
	width: 100%;
}
#merit .flex .block .box-img.box1{
	background: url(./common/img/top-tsuyomi1.jpg) no-repeat center center/cover;
}
#merit .flex .block .box-img.box2{
	background: url(./common/img/top-tsuyomi2.jpg) no-repeat center center/cover;
}
#merit .flex .block .box-img.box3{
	background: url(./common/img/top-tsuyomi3.jpg) no-repeat center center/cover;
}
#merit .flex .block .box-txt{
	background: var(--gr-bg-color);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
#merit .flex .block .box-txt h3{
	font-size: 32px;
	position: relative;
	padding-bottom: 10px;
	margin-bottom: 20px;
	font-family: var(--h-family);
}
#merit .flex .block .box-txt h3::after{
	content: "";
	display: block;
	width: 30px;
	height: 1px;
	background: var(--text-color);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
#merit .flex .block .box-txt p{
	text-align: center;
}
#merit .flex .block:nth-of-type(3) .box-txt{
	background: var(--gr-bg-color);
}
#merit .flex .block:nth-of-type(3) .box-txt h3::after{
	background: var(--text-color);
}

@media screen and (max-width:1024px) {
	#merit .inner{
		padding: 0;
	}
	#merit h2{
		padding-left: 20px;
	}
	#merit .flex .block{
		width: 100%;
	}
	#merit .flex .block:nth-of-type(2){
		flex-direction: row-reverse;
	}
	#merit .flex .block .box-img{
		height: auto;
		width: 50%;
	}
	#merit .flex .block .box-txt{
		height: auto;
		width: 50%;
		padding: 15px 0px;
		line-height: 1.4em;
		min-height: 180px;
	}
	#merit .flex .block .box-txt h3{
		font-size: 18px;
		margin-bottom: 10px;
	}
}

#service{

}
#service ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#service ul li{
	width: 50%;
	position: relative;
	padding: 40px 70px 80px;
}
#service ul li h3{
	font-size: 19px;
	font-weight: 700;
	padding-bottom: 20px;
}
#service ul li p{
	line-height: 1.5em;
}
#service ul li img{
	position: absolute;
	width: 187px;
	height: 187px;
}
#service ul li:nth-of-type(1) {
	border-right: 1px solid var(--accent-color);
	border-bottom: 1px solid var(--accent-color);
	padding-right: 220px;
}
#service ul li:nth-of-type(2) {
	border-left: 1px solid var(--accent-color);
	border-bottom: 1px solid var(--accent-color);
	padding-left: 220px;
}
#service ul li:nth-of-type(3) {
	border-right: 1px solid var(--accent-color);
	border-top: 1px solid var(--accent-color);
	padding-right: 220px;
}
#service ul li:nth-of-type(4) {
	border-left: 1px solid var(--accent-color);
	border-top: 1px solid var(--accent-color);
	padding-left: 220px;
}
#service ul li:nth-of-type(1) img{
	border-radius: 100% 0 0 0;
	right: 0;
	bottom: 0;
}
#service ul li:nth-of-type(2) img{
	border-radius: 0 100% 0 0;
	left: 0;
	bottom: 0;
}
#service ul li:nth-of-type(3) img{
	border-radius: 0 0 0 100%;
	right: 0;
	top: 0;
}
#service ul li:nth-of-type(4) img{
	border-radius: 0 0 100% 0;
	left: 0;
	top: 0;
}
#service ul li a.more{
	display: flex;
	align-items: center;
	margin: 20px 0 0 0;
	color: var(--accent-color);
	font-weight: 700;
	font-size: 14px;
	position: absolute;
	bottom: 30px;
	left: 70px;
}
#service ul li a.more.nolink{
	pointer-events: none;
	opacity: 0.5;
	display: none;
}
#service ul li:nth-of-type(2) a.more,
#service ul li:nth-of-type(4) a.more{
	left: 220px;
}
#service ul li a.more::after{
	content: "";
	margin-left: 0.4em;
	display: inline-block;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--bt-color) url(./common/img/arrow.svg) no-repeat center center/40%;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
#service ul li a.more:hover{
	text-decoration: none;
}
#service ul li a.more:hover::after{
	margin-left: 0.8em;
}

@media screen and (max-width:1024px) {
	#service ul li{
		padding: 20px 20px 80px 20px;
	}
	#service ul li:nth-of-type(1) {
		padding-right:60px;
	}
	#service ul li:nth-of-type(2) {
		padding-left: 80px;
	}
	#service ul li:nth-of-type(3) {
		padding-right: 60px;
	}
	#service ul li:nth-of-type(4) {
		padding-left: 80px;
	}
	#service ul li a.more{
		left: 20px;
	}
	#service ul li:nth-of-type(2) a.more,
	#service ul li:nth-of-type(4) a.more{
		left: 80px;
	}

	#service ul li img{
		width: 80px;
		height: 80px;
	}
}
@media screen and (max-width:767px) {
	#service ul li{
		width: 100%;
		padding: 20px!important;
		border: 1px solid var(--accent-color);
		margin-bottom: 10px;
	}
	#service ul li p{
		padding-right: 30px;
	}
	#service ul li img{
		width: 100px;
		height: 100px;
	}
	#service ul li a.more{
		position: relative;
		left: auto!important;
		bottom: auto;
		margin-top: 20px;
	}
	#service ul li:nth-of-type(1) img,
	#service ul li:nth-of-type(2) img,
	#service ul li:nth-of-type(3) img,
	#service ul li:nth-of-type(4) img{
		border-radius: 100% 0 0 0;
		right: 0;
		bottom: 0;
		left: auto;
		top: auto;
	}
}

#message .inner{
	background: url(./common/img/message.jpg) no-repeat left top/cover;
	padding: 0px;
	display: flex;
	flex-direction:row-reverse;
	position: relative;
}
#message .inner .message{
	/*background: var(--accent-color);
	color: white;*/
	background: var(--gr-bg-color);
	padding: 30px;
	width: 55%;
}
#message .inner .message h3{
	font-size: 30px;
	padding-bottom: 20px;
	font-family: var(--h-family);
}
#message .inner .message p.lead{
	font-size: 18px;
	font-weight: 700;
	padding-bottom: 20px;
}
#message .inner .message p.sign{
	font-weight: 700;
	padding-top: 10px;
}
@media screen and (max-width:1024px) {
	#message .inner{
		background: none;
		padding: 0;
		display:flex;
	}
	#message .inner .message{
		width:60%;
		padding: 20px;
	}
	#message .inner .message h3{
		font-size: 24px;
	}
	#message .inner .message p.lead{
		font-size: 16px;
	}
	#message .inner .message p.lead br{
		display: none;
	}
	#message img.sp_only{
		display: block;
		object-fit: cover;
		width: 40%;
	}
}
@media screen and (max-width:767px) {
	#message .inner{
		display: block;
	}
	#message .inner .message{
		width:100%;
	}
	#message img.sp_only{
		width: 100%;
	}
}

ul.case li{
	margin: 0 10px;
	background: white;
	border-radius: 10px;
	height: 100%;
}
ul.case li div.exp{
	padding: 20px;
	min-height: 184px;
}
ul.case li h3{
	font-size: 18px;
	font-family: var(--h-family);
	font-weight: 700;
	padding-bottom: 10px;
	margin-bottom: 0!important;
}
.slick-prev, .slick-next{
	background: white;
	border: 1px solid var(--accent-color);
	width: 50px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	z-index: 10;
}
.slick-prev::before,
.slick-next::before{
	content: "";
	background: url(./common/img/arrow_gr.svg) no-repeat center center/100%;
	width: 20px;
	height: 20px;
	opacity: 1;
}
.slick-prev::before{
	transform: scaleX(-1);
}
.slick-prev:hover,
.slick-prev:active,
.slick-next:hover,
.slick-next:active,
.slick-prev:focus,
.slick-next:focus{
	opacity: 1;
	background: var(--bt-color);
}
.slick-prev:hover,
.slick-next:hover{
	opacity: 0.7;
}

@media screen and (max-width:1159px) {
	ul.case {
		padding: 0 10px;
	}
	.slick-prev{
		left: -10px;
	}
	.slick-next{
		right: -10px;
	}
}
@media screen and (max-width:767px) {
	.slick-prev, .slick-next{
		width: 30px;
		height: 30px;
	}
	.slick-prev{
		left: -10px;
	}
	.slick-next{
		right: -10px;
	}
	.slick-prev::before,
	.slick-next::before{
		width: 16px;
		height: 16px;
	}
}

/*第２階層*/
.breadcrumb{
	padding: 20px 0;
}
.breadcrumb a{
	color: var(--text-color);
}
.breadcrumb span{
	display: inline-block;
	margin-left: 1em;
}
.breadcrumb a:before,
.breadcrumb span:before{
	content: ">";
	display: inline-block;
	margin-right: 1em;
}
.breadcrumb a:before{
	margin-left: 1em;
}
.breadcrumb a:first-child:before{
	display: none;
}

.second .contents{
	background: var(--bg-color);
}
.second section p.lead{
	text-align: center;
	font-size: 20px;
	padding-bottom: 1.5em;
	line-height: 1.8em;
}
.second section p.lead.big{
	font-size: 30px;
}
#company section{
	padding-bottom: 0;
}
section.company-name .inner,
section.mission .inner,
section.profile .inner{
	border-top: 1px solid #BCBCBC;
	padding-top:80px;
}

.name-img{
	display: flex;
	justify-content:center;
	align-items: center;
	margin-bottom: 60px;
	flex-wrap: wrap;
}
.name-img .circle{
	width: 332px;
	height: 332px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	font-size: 30px;
	font-family: var(--h-family);
	background:var(--blue-color);
	border-radius: 50%;
}
.name-img .circle strong{
	display: inline-block;
	position: relative;
}
.name-img .circle strong::after{
	content: "";
	display: block;
	width: 1em;
	height: 3px;
	background: white;
	position: absolute;
	bottom: -4px;
	left: 0;
}
.name-img .plus{
	padding: 0 30px;
	font-size: 100px;
	color: var(--accent-color);
}

#company table{
	margin: 40px auto 80px auto;
	max-width: 868px;
	border-top :1px solid #BCBCBC;
}
#company table th,
#company table td{
	border-bottom: 1px solid #BCBCBC;
	padding: 30px;
}
#company table th{
	font-weight: 700;
}


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

}
@media screen and (max-width:900px) {
	section.company-name .inner,
	section.mission .inner,
	section.profile .inner{
		padding-top:40px;
	}
	.second section p.lead{
		font-size: 18px;
	}
	.name-img{
		margin-bottom: 30px;
		flex-direction: column;
	}
	.name-img .circle{
		width: 210px;
		height: 210px;
		font-size: 20px;
	}
	.name-img .plus{
		padding:10px 0;
		margin-top: -5px;
		font-size: 40px;
		line-height: 1em;
	}
	.second section p.lead.big{
		font-size: 24px;
	}
	#company table{
		margin-bottom: 20px;
	}
	#company table th,
	#company table td{
		padding: 15px 0;
	}
	#company table th{
		padding-right: 1em;
		width: 9em;
	}
}

/*事業紹介*/
.intro .flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
}
.intro .flex > div{
	width: 60%;
}
.intro .flex > div p{
	padding-bottom: 1em;
}
.intro .flex > img{
	width: 30%;
}

ul.flex{

}
ul.flex li{
	width: 24%;
	background: var(--gr-bg-color);
	padding: 20px;
}
ul.flex li h4{
	padding: 0;
	margin-bottom: 10px;
	margin-top: 0;
	background: none;
	color: var(--text-color);
}
ul.flex li p{
	line-height: 1.5em;
}
ul.flex li.all{
	background: white;
	width: 100%;
	color: var(--text-color);
	margin-top: 20px;
}
.service-info .flex > div{
	width: 49%;
	margin-bottom: 50px;
}
.service-info .flex > div img{
	margin-bottom: 10px;
}
.service-info .gr-box{
	background: var(--gr-bg-color);
	padding: 30px;
	margin-top: 40px;
	text-align:left;
}
.service-info .gr-box span{
	display: inline-block;
	background: white;
	padding: 2px 15px;
	margin-right: 0.6em;
	margin-bottom: 10px;
	border-radius: 10px;
	font-size: 18px;
}
@media screen and (max-width:1024px) {
	.intro .flex{
		align-items: flex-start;
	}
}
@media screen and (max-width:767px) {
	.intro .flex > div{
		width: 100%;
	}
	.intro .flex > img{
		width: 80%;
		display: block;
		margin: 10px auto;
	}
	ul.flex li{
		width: 49%;
		margin-bottom: 10px;
		padding:15px;
	}
	ul.flex li.all{
		margin-top: 10px;
	}
	ul.flex li h4{
		font-size: 18px;
	}
	.service-info .flex > div{
		width: 100%;
		margin-bottom: 30px;
	}
	.service-info .gr-box{
		margin-top: 20px;
	}
	.service-info .gr-box span{
		font-size: 16px;
	}
}
p.sublead{
	padding: 40px 0 20px 0;
	font-size: 18px;
}
ul.flow{
	margin: 40px auto;
}
ul.flow li.flex{
	align-items: stretch;
	background: var(--gr-bg-color);
	margin-bottom: 60px;
	position: relative;
	flex-wrap: wrap;
}
ul.flow li.flex::after{
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -50px;
	background: url(./common/img/under_arrow.svg) no-repeat center center/100%;
}
ul.flow li:last-child.flex::after{
	display: none;
}
ul.flow li.flex div.numbox{
	position: relative;
	width: 20%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
}
ul.flow li.flex div.numbox span.num{
	position: absolute;
	top: -40px;
	left: 30px;
	font-family:var(--num-family);
	font-size: 60px;
	font-weight: 400;
	color: var(--accent-color);
	font-style: italic;
}
ul.flow li.flex div.numbox div.title{
	text-align: center;
	font-family: var(--h-family);
	font-weight: 500;
	font-size: 24px;
	margin-top: -20px;
}
ul.flow li.flex div.numbox span.type{
	display:inline-block;
	padding: 5px 10px 8px 10px;
	line-height: 1em;
	background: var(--bt-color);
	color: white;
	font-size: 20px;
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
}
ul.flow li.flex div.flow-list{
	width: 80%;
	display: flex;
	justify-content:space-around;
	align-items: flex-start;
	padding: 20px;
}
ul.flow li.flex div.flow-list > div{
	text-align: center;
	padding: 20px 0 0 0;
	width: 33%;
}
ul.flow li.flex:nth-of-type(1) div.flow-list > div{
	width: 25%;
}
ul.flow li.flex:nth-of-type(2) div.flow-list > div,
ul.flow li.flex:nth-of-type(8) div.flow-list > div{
	width: 25%;
}
ul.flow li.flex div.flow-list > div p{
	line-height: 1.4em;
}
ul.flow li.flex div.flow-list > div > img{
	width: 92px;
	height: 92px;
	object-fit: contain;
	margin: 0 auto 10px auto;
	display: block;

}
@media screen and (max-width:1024px) {
	ul.flow li.flex div.numbox{
		padding: 20px 0;
	}
	ul.flow li.flex div.numbox div.title{
		font-size: 20px;
	}
}
@media screen and (max-width:767px) {
	p.sublead{
		padding: 20px 0 20px 0;
		font-size: 16px;
	}
	ul.flow li.flex div.numbox,
	ul.flow li.flex div.flow-list{
		width: 100%;
	}
	ul.flow li.flex div.numbox span.num{
		font-size: 50px;
		top: -50px;
		left: 10px;
	}
	ul.flow li.flex div.numbox {
		justify-content: space-between;
		align-items: center;
		padding: 20px;
	}
	ul.flow li.flex div.numbox div.title{
		font-size: 20px;
		text-align: left;
		margin-top: 0;
	}
	ul.flow li.flex div.numbox div.title br{
		display: none;
	}
	ul.flow li.flex div.numbox span.type{
		font-size: 14px;
		padding: 5px;
		position: relative;
		bottom:auto;
		left: auto;
		transform: none;
	}
	ul.flow li.flex div.flow-list{
		justify-content: space-between;
		flex-wrap: wrap;
	}
	ul.flow li.flex div.flow-list > div{
		padding: 0 0 20px 0;
		width: 50%!important;
	}
	ul.flow li.flex div.flow-list > div > img{
		margin: 0 auto 10px auto;
	}
}

.second #case{
	background: var(--gr-bg-color);
}

/*強み*/
.theme .flex{
	flex-wrap: wrap;
}
.theme .flex.reverse{
	flex-direction: row-reverse;
}
.theme .flex > div{
	width: 50%;
}
.theme .flex > div.txt{
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 30px;
	background: var(--gr-bg-color);
}
.theme .flex > div.txt div.count{
	display: flex;
	align-items: center;
	padding-bottom: 10px;
}
.theme .flex > div.txt span.num{
	font-family: var(--num-family);
	font-size: 50px;
	font-style: italic;
	color: var(--accent-color);
	line-height: 1em;
	margin-top: -10px;
}
.theme .flex > div.txt span.type{
	display:inline-block;
	padding: 8px 20px;
	line-height: 1em;
	background: var(--bt-color);
	color: white;
	font-size: 20px;
	font-family: var(--h-family);
	margin-left: 1.5em;
}
.theme .flex > div.txt h3{
	margin-bottom: 0;
	padding-bottom: 20px;
}
.theme .flex > div.txt p{
	padding-bottom: 1em;
}
.theme .flex > div.img{
	position: relative;
}
.theme .flex > div.img img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
@media screen and (max-width:1054px) {
	.theme .flex > div.txt p br.pc_only{
		display: none;
	}
	.second .theme .flex > div.txt h3{
		font-size: 28px;
	}
	.second .theme .flex > div.txt h3 br.sp_only{
		display: inline;
	}
}
@media screen and (max-width:767px) {
	.theme .flex > div{
		width: 100%;
	}
	.theme .flex > div.img img{
		height: 100%;
	}
	.theme .flex > div.txt{
		padding: 30px 20px 10px 20px;
	}
	.theme .flex > div.txt span.num{
		font-size: 50px;
	}
	.theme .flex > div.txt span.type{
		font-size: 16px;
		padding: 3px 20px 5px 20px;
	}
}

.company-flow{
	padding-top: 100px;
}
.flow-box{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	background: var(--gr-bg-color);
	padding: 40px;
	margin-bottom: 50px;
	position: relative;
}
.flow-box::after{
	content: "";
	width:0;
	height:0;
	border-style:solid;
	border-width: 30px 25px 0 25px;
	border-color: var(--gr-bg-color) transparent transparent transparent;
	position: absolute;
	bottom: -30px;
	left: 50%;
	transform: translateX(-50%);
}
.flow-box.flow3::after{
	display: none;
}
.flow-box.flow2{
	flex-direction: row-reverse;
}
.flow-box div.txt{
	width: 64%;
}
.flow-box div.txt p{
	padding-bottom: 1em;
}
.flow-box div.img{
	width: 36%;
}
.flow-box div.img img{
	display: block;
	margin: auto;
	max-width: 360px;
}

.flow-box.flow2 div.img img{
	max-width: 280px;
}
.flow-box.flow3 div.img img{
	max-width: 220px;
}

@media screen and (max-width:1024px) {
	.flow-box div.img img {
		width: 80%;
	}
	.flow-box{
		margin-bottom: 40px;
		padding: 30px 20px;
	}
	.flow-box div.txt p br.pc_only{
		display: none;
	}
}
@media screen and (max-width:767px) {
	.company-flow{
		padding-top: 60px;
	}
	.flow-box div.img,
	.flow-box div.txt{
		width: 100%;
	}
	.flow-box div.img img,
	.flow-box.flow2 div.img img{
		width: 100%;
	}
	.flow-box{
		margin-bottom: 40px;
		padding: 30px 20px;
	}
	.flow-box.flow3{
		margin-bottom: 20px;
	}
}


.wpform .sec01 form dl {
    width: 800px;
    padding:0 0 10px;
    margin: 0 auto 30px;
}

.wpform .sec01 form dl.last{
    margin: 0 auto 30px;
}

.wpform .sec01 form dl.flex dt {
    font-weight:bold;
    width:30%;
    padding-top:0.3em;
}

.wpform .sec01 form dt em {
    padding-left: 0.5em;
}

.wpform .sec01 form dl.flex dd {
    width:70%;
}

.wpform .sec01 form dl.flex dd.rtitle{
    flex-wrap: wrap;
}

.wpform .sec01 form em {
    color:#C00;
}

.wpform .sec01 form dd input {
    width: 430px;
    height:35px;
    font-size:1.2em;
    color:#333;
    padding-left: 0.5em;
	    border: solid 1px #999;
}

.wpform .sec01 form dd input[type=radio]  {
    width: 15px;
    height:15px;;
    color:#333;
    padding-left: 0.5em;
        margin: 6px 5px 0;
}

:placeholder-shown {
    color: #ccc; }

::-webkit-input-placeholder {
    color: #ccc; }

:-moz-placeholder {
    color: #ccc; opacity: 1; }

::-moz-placeholder {
    color: #ccc; opacity: 1; }

:-ms-input-placeholder {
    color: #ccc; }



.wpform .check_css {
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: 0 0 0 1.6em;
  vertical-align: middle;
  cursor: pointer;
}

.wpform .check_css:nth-child(1),
.wpform .check_css:nth-child(2) {
    margin-bottom: 0.5em;
}

.wpform .mr2 {
    margin-right:2em;
}

.wpform #text { width:480px;
padding: 0.5em;
background: #efefef;
font-size:80%;}

.wpform .check_css:hover:after {
  border-color: #0171bd;
}
.wpform .check_css:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-radius: 6px;
  content: '';
}
.wpform .check_css:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #0171bd;
  border-bottom: 3px solid #0171bd;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.wpform input[type=checkbox]:checked + .check_css:before {
  opacity: 1;
}
.wpform .sec01 textarea {
    width: 78%;
    height: 200px;
    
    font-size: 1.2em;
}
.wpform .desc {
    color:#0131F7;
}

.wpform .sec01 span.ERR {
    font-weight: bold;
    color:#F00;
}

.wpform .sec01 input.confirm {
background:#1F4F9E;
  border-radius:40px;
    border: none;
    cursor: pointer;
    display: block;
    height: 70px;
    text-align:center;
    font-size:125%;
    color:#fff;
    width: 400px;
    margin: 0 auto 20px;
}


.wpform .sec01 input.confirm[disabled] {
  background-color: #ccc;
  cursor: not-allowed; /* ã‚¯ãƒªãƒƒã‚¯ä¸å¯ã®ã‚«ãƒ¼ã‚½ãƒ«ã‚’è¡¨ç¤º */
}

.wpform .sec01 input.confirm:hover {
    filter: alpha( opacity=70 );
    opacity:0.7;

}

.wpform .sec01 input.reset {
    background-color: #CCCCCC;
    border: none;
    cursor: pointer;
    display: block;
    height: 30px;
    text-align:center;
    font-size:110%;
    color:#fff;
    width: 170px;
    margin: 0 auto;
}

.wpform .sec01 input.confirm:hover {
    filter: alpha( opacity=70 );
    opacity:0.7;

}

.submit {width:1000px; margin:0 auto;}

.wpform .sec01 .pp a {text-decoration: underline;}
.wpform .sec01 .pp a:hover {text-decoration: none;}

.wpform .sec01 input#submit {
background:#1F4F9E;
  border-radius:40px;
    border: none;
    cursor: pointer;
    display: block;
    height: 70px;
    text-align:center;
    font-size:125%;
    color:#fff;
    width: 400px;
    margin: 0 auto;
}

.wpform .sec01 input#submit:hover {
    filter: alpha( opacity=70 );
    opacity:0.7;
}
.wpform .sec01 input#back{
    background-color: #CCCCCC;
    border: none;
    cursor: pointer;
    display: block;
    height: 40px;
    text-align:center;
    color:#fff;
    width: 200px;
    margin: 0 auto 20px;
    border-radius: 40px;
font-size: 95%;
}

.wpform .sec01 input#back:hover {
    filter: alpha( opacity=70 );
    opacity:0.7;

}


.wpform .sec01 .privacy {
    background-color: #f5f5f5;
    height: 200px;
    overflow-y: scroll;
    padding: 30px 40px;
    margin-bottom: 40px;
    box-sizing: border-box;
}

.wpform .sec01 .privacy dl{
    width: 100%;
}

.wpform .sec01 .privacy dl dt {
    font-weight: bold;
    margin: 0 0 8px 0;
}

.wpform .sec01 .privacy dl dd {
    font-size: 90%;
}

.wpform #contents .privacy {
     height: 260px;
     overflow-y: scroll;
     border: none;
     background-color: #F8F8F8;
     font-size: 14px;
     padding: 25px 40px;
     margin-bottom: 40px;
     border-bottom: 10px solid #F8F8F8;
     border-top: 10px solid #F8F8F8;
}

.wpform #contents .privacy dl dd {
    line-height: 2;
}

body.page-child .wpform #contents .privacy,
body.page-child .wpform #contents .doi{
	display:none;
}

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

.wpform .mean-container header #gnav #logo a {
    display: none;
}
.wpform .is-animation.mean-container header #gnav #logo a {
    display: block;
}

.wpform .sec01 {
    padding: 100px 20px;
}

.wpform .sec01 form {padding:0 1em;}
.wpform .sec01 form dl,
.wpform .sec01 form dt,
.wpform .sec01 form dd,
.wpform .sec01 form dd input {width:100%;}
.wpform .sec01 form dd input {padding-left:0;}

.wpform .sec01 form dl.flex dt,
.wpform .sec01 form dl.flex dd{
  width: 100%;
}

.wpform .sec01 textarea {width: 100%;}

.wpform .btn_wrap {padding-left: 0;width: 100%;}

.wpform .btn_wrap input.reset {float:none; width:100%; height:40px; margin-right:0;}
.wpform .btn_wrap input.confirm{float:none; width:100%; margin-bottom:0.5em;}

.wpform .sec01 input#submit{float:none; width:100%; margin-bottom:0.5em;}
.wpform .sec01 input#back {float:none; width:100%; height:40px;}
.wpform .sec01 .privacy{padding: 30px 20px;}
.wpform .submit {width:100%;}

.wpform input[type="submit"],
.wpform input[type="reset"],
.wpform input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
.wpform input[type="submit"]::-webkit-search-decoration,
.wpform input[type="reset"]::-webkit-search-decoration,
.wpform input[type="button"]::-webkit-search-decoration {
  display: none;
}
.wpform input[type="submit"]::focus,
.wpform input[type="reset"]::focus,
.wpform input[type="button"]::focus {
  outline-offset: -2px;
}

.wpform #contents .sec05 .privacy {
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px;
    border-bottom: 15px solid #F8F8F8;
    border-top: 15px solid #F8F8F8;
}


	}


