@charset "UTF-8";

.fadein {
	opacity: 0;
	transition: 1s;
  }
.fadein.is-show {opacity: 1;}

.fadein_up {
  opacity: 0;
  transform: translate(0, 60px);
  transition: 1s;
}
.fadein_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}


html {
    font-family: 'Noto Sans JP', "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 62.5%;
	font-weight:500;
    -webkit-text-size-adjust: 100%;
}
body{overflow-x:hidden;}

#footer{
	position:relative;
	z-index:1;
}
#wrapper {
    width: 100%;
    color: #222;
    font-size:1.6rem;
    line-height: 1.8;
    letter-spacing: .9px;
    word-break: break-all;
    margin: 0 auto;
    padding: 0;
	overflow:hidden;
}
sup {
    font-size: 70%;
	font-weight:500;
    vertical-align: top;
    position: relative;
    top: -0.1em;
}

.min{
    font-size:80%;
    line-height: 1.4;
    letter-spacing:0;
}

strong{font-weight:600;}
.block{display:block;}
.indent{
	padding-left:1em;
	text-indent:-1em;
}
.mt10{margin-top:10px;}
.sp_only{display:none;}

br.br991{display:none;}
br.br767{display:none;}
br.br480{display:none;}
br.br399{display:none;}
br.br991-767{display:none;}

@media screen and (max-width:1280px) {
br.br1280-992{display:none;}
}

@media screen and (max-width:991px) {
br.br{display:none;}
br.br991{display:inline;}
br.br991-767{display:inline;}
br.br1280-992{display:inline;}
}

@media screen and (max-width:767px) {

.pc_only{display:none;}
.sp_only{display:block;}

br.br767{display:inline;}
br.br767-non{display:none;}

br.br991-767{display:none;}

}
@media screen and (max-width:480px) {

br.br480{display:inline;}
br.br480-non{display:none;}

}

@media screen and (max-width:399px) {

br.br399{display:inline;}
br.br399-non{display:none;}

}

/******************** header ヘッダー********************/
#wrapper{
    margin:0;
    padding:0;
}
#header{
    position:relative;
    max-width:100%;
    margin:0 auto;
    top:0;
    padding:0;
    z-index:10;
    background:#fff;
    box-shadow:0 4px 6px rgba(0,0,0,0.2);
}
#header.is_fixed {
    position: fixed;
    top: 0;
    left: 0;
    right:0;
    width:100%;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
    z-index:10;
}
#header div.inner{
    position:relative;
	display:flex;
	align-items:center;
    justify-content:space-between;
    max-width:1500px;
	height:90px;
    padding:0 20px;
    margin:0 auto;
}

#header div.logo{
    width:300px;
    transition:0.3s ease;
}
#header div.logo > a{
    display:block;
    transition:0.3s ease;
}
#header div.logo > a:hover{
    opacity:0.75;
    -ms-filter:"alpha(opacity=75)";
}
#header div.logo > a img{
    display:inline-block;
    vertical-align: bottom;
    -webkit-backface-visibility: hidden;
}


#header div.info{
	display:flex;
	align-items:center;
}
#header div.info div + div{margin-left:15px;}

#header div.info div.nintei_logo{
	margin-right:120px;
	margin-left:-120px;
}
#header div.info div.nintei_logo img{width:70px;}

#header div.btn a{
	display:block;
	color:#fff;
	text-decoration:none;
	font-size:1.4rem;
	font-weight:500;
	line-height:1;
	border-radius:4px;
	background:#83BC29;
	transition:0.3s ease;
}
#header div.btn a:hover{opacity:.75;}

#header div.btn a span{
	position:relative;
	display:inline-block;
	padding:16px 16px 17px 42px;
}
#header div.btn a span::before{
	position:absolute;
	display:inline-block;
	content:"";
	left:15px;
	top:50%;
	transform:translateY(-50%);
	width:16px;
	height:100%;
	background:url(../img/mail_icon.png) center/contain no-repeat;
}

#header a.tel{
	font-size:1.6rem;
	line-height:1;
	font-weight:600;
	color:#345DAA;
	text-decoration:none;
	pointer-events: none;
}
#header a.tel span{
	font-size:3rem;
	margin-left:5px;
}
#header a.tel + p.min{
	font-size:1.4rem;
	line-height:1;
	text-align:right;
	padding-right:2px;
}

#header a.siwa_bnr02{
	display:flex;
	justify-content:center;
	align-items:center;
	width:170px;
	height:70px;
	color:#fff;
	font-size:18px;
	line-height:1.3;
	text-align:center;
	font-weight:600;
	border-radius:50%;
	background:#EE9832;
	transition:0.3s ease;
}
#header a.siwa_bnr02:hover{opacity:.7;}

/**
#header span.siwa-mes{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	right:200px;
	font-size:14px;
	font-weight:600;
}
**/

@media screen and (max-width:1380px) {

/**	
#header span.siwa-mes{
	top:5px;
	transform:translateY(0);
	font-size:12px;
}
**/

}


@media screen and (max-width:1280px) {  

#header div.info div + div{margin-left:10px;}	
#header div.info div.nintei_logo{
	margin-right:0;
	margin-left:0;
}
#header div.info div.nintei_logo img{width:50px;}
#header div.inner div.point{display:none;}

}

@media screen and (min-width:992px) {

#header.is_fixed{transition:0.5s ease-out;}

}

@media screen and (max-width:991px) {

body.hidden{
    overflow:hidden;
    height:100%;
}    

#header{
    height:70px;
    background:#fff;
}

#header div.inner{
    align-items:center;
    padding:0;
    height:70px;
}

#header div.logo{
	width:225px;
	margin:0 auto 0 10px;
}

#header div.info{
	position:relative;
	margin:0 70px 0 0;
}
#header div.info div img.nintei_logo{margin-right:0;}

#header div.info a.tel{font-size:1.2rem;}
#header div.info a.tel span{font-size:2.4rem;}
#header div.info p.min{font-size:1.2rem;}

#header span.siwa-mes{display:none;}
#header a.siwa_bnr02{display:none;}

nav#nav ul.menu li a.siwa_bnr-sp,
nav#nav ul.menu li.current a.siwa_bnr-sp{
	text-align:center;
	max-width:100%;
	display:block;
	transition:0.3s ease;
	margin-left:10px;
	background:none;
	padding:0;
	margin:20px auto 0;
}
nav#nav ul.menu li a.siwa_bnr-sp::after{display:none;}
nav#nav ul.menu li a.siwa_bnr-sp:hover{opacity:.7;}

}


@media screen and (max-width:767px) {

#header div.inner div.btn{display:none;}

}


@media screen and (max-width:599px) {

#header div.logo{width:175px;}

#header div.info{
	display:flex;
	justify-content:space-between;
	width:130px;
}	
#header div.info div + div{margin-left:10px;}
#header div.info div.btn{display:block;}

#header div.info div.btn a.mail{
	width:30px;
	height:30px;
	margin-top:0;
	border-radius:0;
	text-indent: 100%;
	white-space: nowrap;
	overflow:hidden;
	background:url(../img/mail_icon_sp.png) center/30px no-repeat;
}
#header div.info a.tel{
	display:block;
	width:30px;
	height:31px;
	text-indent: 100%;
	white-space: nowrap;
	overflow:hidden;
	background:url(../img/tel_icon_sp.png) center/30px no-repeat;
	pointer-events: all;
}

#header div.info p.min{display:none;}


}

@media screen and (max-width:399px) {

#header div.logo{width:150px;}	

}	


/******************** header ヘッダー　ここまで********************/



/********************グローバルメニュー　ここから********************/
#mobile-head{display:none;}
nav#nav {
    position:relative;
    max-width:1920px;
	margin:0 auto;
	transition: 0.3s ease;
	background:#345DAA;
}
nav#nav ul.menu {
	display:flex;
    justify-content:center;
	align-items: center;
	max-width:1280px;
	margin:0 auto;
	padding:0;
	max-height:56px;
}
nav#nav ul.menu li{
	position:relative;
	display:flex;
	flex-grow: 1;
	margin:0;
	padding:0;
	z-index:10;
}
nav#nav ul.menu li:last-child{display:none;}

nav#nav ul.menu li::before{
	position:absolute;
	content:"";
	left:50%;
	transform:translateX(-50%);
	bottom:0;
	width: 0;
	height:3px;
	transition:0.2s ease-out;
	background:#fff;	
}

nav#nav ul.menu li a{
	position: relative;
	display:flex;
	justify-content: center;
	align-items:center;
	width:100%;
	height:56px;
    font-weight:bold;
	font-size: 1.8rem;
	font-weight:600;
	line-height: 1.2;
	color: #fff;
	text-align:center;
	text-decoration: none;
	margin: 0 auto;
	padding:0 .5em;
	transition: 0.3s ease;
	box-sizing:border-box;
}
nav#nav ul.menu li:hover a,
nav#nav ul.menu li.current a{color:#fff;}
nav#nav ul.menu li:hover::before,
nav#nav ul.menu li.current::before{width:50px;}

nav#nav ul.menu li a span{
	display:block;
	width:100%;
}


@media screen and (max-width:991px) {

/* navigation SP */
#mobile-head{display:inline;}
#navigation{display:none;}
#nav-toggle {
	display: none;
	position: relative;
	width: 40px;
	height: 40px;
	cursor: pointer;
	z-index: 0;
	box-sizing: border-box;
	transition:0.3s ease;
}
#nav-toggle div {
	position: relative;
	width:40px;
	height:40px;
	top:0;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 4px;
	border-radius: 4px;
	width: 36px;
	background:#345DAA;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {top: 6px;}
#nav-toggle span:nth-child(2) {top: 18px;}
#nav-toggle span:nth-child(3) {top: 30px;}

#navigation {
	display:block;
	margin-top: 0;
}
#mobile-head {
	width: 40px;
	height: 40px;
	z-index: 0;
	position: absolute;
	right: 15px;
	top: 15px;
	transition:0.3s ease;
}

nav#nav {
	position: absolute;
	top:70px;
	right:0;
	background:rgba(0,0,0,0.5);
	width: 0;
	min-height:100vh;    
	max-width:100%;
	-webkit-transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
	display: block;
	margin-top:-2px;
}
nav#nav::before{
	position:absolute;
	content:"";
	display:inline-block;
	width:0;
	top:0;
	right:0;
	height:100vh;
	-webkit-transition: .1s ease-in-out;
	-moz-transition: .1s ease-in-out;
	transition: .1s ease-in-out;
	background:#fff;
}
nav#nav::-webkit-scrollbar {display: none;}

nav#nav ul.menu {
	display:block;
	position:relative;
	margin:0 0 0 auto;
	width:360px;
	height:100vh;
	max-height:initial;
	padding-bottom:100px;
	overflow-y: scroll;
	overflow-x:hidden;
	-webkit-overflow-scrolling: touch;
	padding-top:0;
	box-sizing:content-box;
}
nav#nav ul.menu li{
	position:relative;
	display:block;
	padding:0;
    background:#345DAA;
}
nav#nav ul.menu li::before{display:none;}
nav#nav ul.menu li + li {border-top:1px solid #fff;}

nav#nav ul.menu li > a{
	display:block;
	height:auto;
	color:#fff;
	font-size: 1.6rem;
    line-height:1;
	text-align:left;
	margin: 0 0 0 auto;
	padding:20px 15px;
}

nav#nav ul.menu li > a::after {
	position: absolute;
	content: "";
	display:inline-block;
	top: 50%;
	right: 15px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
  }


nav#nav ul.menu li:hover > a,
nav#nav ul.menu li.current > a{
	color:#fff;
	background:#345DAA;
}

nav#nav ul.menu li div.btn{padding:20px;}
nav#nav ul.menu li:last-child{
	display:block;
	background:none;
}
nav#nav ul.menu li:last-child div.btn a.mail{
	font-size:1.6rem;
	color:#fff;
	padding:10px 10px 11px;
}
nav#nav ul.menu li:last-child div.btn a.mail span{
	display:table;
	width:auto;
}
nav#nav ul.menu li:last-child a.tel{
	display:block;
	height:auto;
	font-size:2rem;
	line-height:1;
	font-weight:600;
	color:#345DAA;
	text-decoration:none;
	pointer-events: none;
	text-align:center;	
}
nav#nav ul.menu li:last-child a.tel span{
	position:relative;
	top:2px;
	display:inline-block;
	width:calc(100% - 50px);
	font-size:4rem;
	margin-left:5px;
}
nav#nav ul.menu li:last-child a.tel + p.min{
	text-align:center;
	padding-right:0;
	margin-top:10px;
}


#nav-toggle {display: block;}	

.open #nav-toggle span:nth-child(1) {
	left: 2px;
	top: 18px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
.open #nav-toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
.open #nav-toggle span:nth-child(3) {
	left: 2px;
	top: 18px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.open nav#nav {width:100vw;}
.open nav#nav::before{width:360px;}


}

@media screen and (max-width:480px) {

nav#nav ul.menu li:last-child a.tel{pointer-events:all;}	

}

@media screen and (max-width:399px) {

nav#nav ul.menu {width:320px;}
.open nav#nav::before{width:320px;}


nav#nav ul.menu li div.btn{padding:15px;}
nav#nav ul.menu li:last-child a.tel{font-size:1.8rem;}
nav#nav ul.menu li:last-child a.tel span{
	font-size:3.6rem;
	margin-left:0;
}


}

/********************グローバルメニュー　ここまで********************/


/*メイン*/
div.mv_wrap{
	position:relative;
	z-index:0;
}
div.main{
	position:relative;
	width:100%;
	max-width:1920px;
	height:min(56.25vw,1080px);
	margin:0 auto;
	overflow:hidden;
}
div.main div{position:relative;}
div.main video{
	width:100%;
	height:100%;
}
div.mv_wrap h1{
	position:absolute;
	top:50%;
	transform:translate(-50%,-50%);
	left:50%;
	width:100%;
	color:#163A7E;
	font-size:clamp(18px,3.28vw,4.2rem);
	font-weight:600;
	text-shadow:3px 3px 6px rgba(255,255,255,0.8),-3px 3px 6px rgba(255,255,255,0.8),3px -3px 6px rgba(255,255,255,0.8),-3px -3px 6px rgba(255,255,255,0.8);
	line-height:1.5;
	text-align:center;
}

div.mv_wrap div.inner{
	display:none;
	position:absolute;
	bottom:60px;
	left:0;
	right:0;
	margin:0 auto;
	padding:0 20px;
	z-index:52;
}
div.mv_wrap div.inner.add{display:block;}

div.mv_wrap p.title{
	color:#163A7E;
	font-size:clamp(16px,3.28vw,4.2rem);
	font-weight:600;
	line-height:1.3;
	text-align:center;
	text-shadow:3px 3px 6px rgba(255,255,255,0.8),-3px 3px 6px rgba(255,255,255,0.8),3px -3px 6px rgba(255,255,255,0.8),-3px -3px 6px rgba(255,255,255,0.8);
}

div.mv_wrap span.space{margin-left:0.5em;}

@media screen and (min-width:1600px) {

div.mv_wrap p.title,
div.mv_wrap h1{font-size:5.6rem;}

}


@media screen and (max-width:991px) {

div.mv_wrap div.inner{bottom:40px;}	
div.mv_wrap p.title,
div.mv_wrap h1{font-size:min(3.63vw,3.6rem);}

}

@media screen and (max-width:480px) {

div.mv_wrap div.inner{bottom:30px;}	
div.mv_wrap p.title,
div.mv_wrap h1{
	font-size:1.8rem;
	font-feature-settings:"palt";
	letter-spacing:0.25pt;
	text-shadow:1px 1px 3px rgba(255,255,255,0.8),-1px 1px 3px rgba(255,255,255,0.8),1px -1px 3px rgba(255,255,255,0.8),-1px -1px 3px rgba(255,255,255,0.8);
}

div.mv_wrap span.space{
	display:block;
	margin-left:0;
}

}


/*コンテンツエリア*/
div.area{
	position:relative;
	padding:0 20px;
	margin:0 auto;
}

div.mv_wrap + div.area{margin-top:-8px;}

div.area div.content{
	max-width:1280px;
	margin:0 auto;
}

div.area a.btn{
	position:relative;
	color:#fff;
	display:block;
	max-width:200px;
	font-size:1.4rem;
	letter-spacing:0;
	text-align:center;
	line-height:1;
	font-weight:500;
	padding:12px 0 13px;
	background:#345DAA;
	border-radius:32px;
	margin-top:40px;
	transition:0.3s ease;
}

div.area a.btn::after{
	position:absolute;
	content:"";
	display:inline-block;
	right:20px;
	top:50%;
	transform:translateY(-50%) rotate(-45deg);
	width:6px;
	height:6px;
	border:1px solid transparent;
	border-right:1px solid #fff;
	border-bottom:1px solid #fff;
	transition:0.3s ease;
}

div.area a.btn:hover{opacity:0.75;}
div.area a.btn:hover::after{right:16px;}


@media screen and (max-width:599px) {

div.area a.btn{margin-top:20px;}

}


@media screen and (max-width:399px) {

/* btn ボタン */
div.area a.btn span::after{
    width:6px;
    height:6px;
}

}



/* area01 */
div.area01{margin-top:-40px;}
div.area01 div.flex{
	position:relative;
	display:flex;
	justify-content:space-between;
	align-items:center;
	max-width:1200px;
	padding:40px 40px 0;
	background:#fff;
}
div.area01 div.flex::before{
	position:absolute;
	content:"";
	top:0;
	left:0;
	width:100%;
	height:50px;
	box-shadow:0 0 6px rgba(0,0,0,0.2);
	z-index:-1;
}

div.area01 div.flex div.txt{width:300px;}
div.area01 div.flex div.img{width:300px;}
div.area01 div.flex div.com_logo{
	width:calc(100% - 640px);
	text-align:center;
}

div.area01 h2{
	font-size:2.6rem;
	font-weight:600;
	line-height:1.2;
}

div.area01 a.btn{
	padding:18px 0 19px;
	background:#83BC29;
	margin-top:15px;
}
div.area01 a.btn::after{
	width:8px;
	height:8px;
}


/* area02-04 */
div.area02 div.content,
div.area04 div.content{
	position:relative;
	padding:100px 0;
}
div.area figure.image{
	display:block;
	max-width:990px;
	margin:40px calc(50% - ( 50vw - 100px )) 0 auto;
}

div.area div.heading{
	position:relative;
	display:flex;
	align-items:flex-end;
	padding-bottom:20px;
}
div.area div.heading::before{
	position:absolute;
	content:"";
	display:inline-block;
	bottom:0;
	left:0;
	width:40px;
	height:1px;
	background:#345DAA;
}
div.area div.heading h2{
	color:#345DAA;
	font-size:2.8rem;
	line-height:1;
	font-weight:900;
}

div.area div.heading span{
	display:inline-block;
	color:#222;
	font-size:1.4rem;
	line-height:1;
	font-weight:600;
	margin-left:20px;
}

div.area div.heading + div.txt{
	font-size:1.8rem;
	line-height:2;
	margin-top:30px;
}

div.area div.txt p span.line{border-bottom:1px solid #222;}


/* area03 */
div.area03{background:#F7F7F7;}
div.area03 div.flex{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	padding:100px 0;
}
div.area03 div.flex > div{width:calc((100% - 80px)/2);}
div.area03 div.flex ul{
	background:#fff;
	padding:20px 40px;
	margin-top:40px;
	border-radius:20px;
}
div.area03 div.flex > div a.btn{
	max-width:220px;
	margin:40px auto 0;
}

div.area03 div.flex ul li{
	display:flex;
	justify-content:space-between;
	padding:20px 0;
}
div.area03 div.flex ul li + li{border-top:1px solid #ccc;}
div.area03 div.flex ul span{
	display:inline-block;
	color:#345DAA;
	width:100px;
}
div.area03 div.flex ul a{
	display:inline-block;
	width:calc(100% - 120px);
	color:#111;
	text-decoration:underline;
}
div.area03 div.flex ul a:hover{text-decoration:none;}




/* フッター上　問い合わせ */
div.response{background:#F7F7F7;}
div.response div.content{
	max-width:1280px;
	padding:60px 0;
}
div.response div.flex{
	display:flex;
	justify-content:center;
	align-items:center;
}
div.response div.info{
	width:420px;
	margin-left:100px;
}
div.response div.heading::before{background:#83BC29;}
div.response div.heading h2{color:#83BC29;}

div.response div.heading + p{margin-top:30px;}

div.response a.btn{
	max-width:initial;
	border-radius:4px;
	background:#83BC29;
}
div.response a.btn span{
	position:relative;
	display:inline-block;
	font-size:1.8rem;
	padding:16px 20px 17px 50px;
}
div.response a.btn span::before{
	position:absolute;
	content:"";
	display:inline-block;
	width:30px;
	height:100%;
	left:0;
	top:50%;
	transform:translateY(-50%);
	background:url(../img/mail_icon.png) center / contain no-repeat;
}
div.response a.btn::after{
	width:12px;
	height:12px;
}

div.response div.flex a.tel{
	display:table;
	color:#111;
	font-size:2.4rem;
	line-height:1;
	font-weight:600;
	text-decoration:none;
	pointer-events: none;
	margin:0 auto;
}
div.response a.tel span{
	font-size:4.2rem;
	margin-left:10px;
}
div.response a.tel + p.min{
	font-size:1.6rem;
	line-height:1;
	text-align:center;
	margin-top:10px;
}
div.response p.min + a.btn{margin-top:20px;}





/*フッター*/
footer{border-top:1px solid #ccc;}
footer div.content{
	max-width:1280px;
	padding:40px 20px 80px;
	margin:0 auto;
}
footer p#copyright{
	max-width:1280px;
	text-align:right;
	line-height:1;
	margin:20px auto 0;
}

footer div.f_nav{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	margin:40px auto 0;
}

footer div.f_nav div{width:calc((100% - 120px)/4);}
footer div.f_nav div > a,
footer div.f_nav div > span.second{
	position:relative;
	display:block;
	font-size:1.6rem;
	line-height:1.3;
	font-weight:500;
	color:#333;
	padding:20px 20px 20px 15px;
	border-bottom:1px solid #222;
	text-decoration:none;
	transition:0.3s ease;
}
footer div.f_nav div > a::after{
	position:absolute;
	content:"";
	top:50%;
	right:15px;
	width:8px;
	height:8px;
	transform:translateY(-50%) rotate(-45deg);
	border:1px solid transparent;
	border-right:1px solid #222;
	border-bottom:1px solid #222;
	transition:0.2s ease-out;
}
footer div.f_nav div > a::before{
	position:absolute;
	content:"";
	display:inline-block;
	left:0;
	top:0;
	width:0px;
	height:100%;
	background:#f2f7ff;
	transition:0.2s ease-out;
	z-index:-1;
}
footer div.f_nav div > a:hover{color:#345DAA;}
footer div.f_nav div > a:hover::before{width:100%;}
footer div.f_nav div > a:hover::after{right:20px;}

footer div.f_nav div ul{margin:25px auto;}
footer div.f_nav div ul li{
	position:relative;
	padding-left:30px;
	line-height:1.3;
}
footer div.f_nav div ul li + li{margin-top:15px;}
footer div.f_nav div ul li::before{
	position:absolute;
	content:"";
	top:50%;
	transform:translateY(-50%);
	left:0;
	display:inline-block;
	width:10px;
	height:1px;
	background:#222;
}
footer div.f_nav div ul li a{
	color:#222;
	font-size:1.6rem;
}
footer div.f_nav div ul li a:hover{
	color:#345DAA;
	text-decoration:underline;
}


footer div.f_info{
	display:flex;
	justify-content:flex-start;
	align-items:center;
	flex-wrap:wrap;
	margin:0 auto;
}
footer div.f_info div + div{margin-left:40px;}

footer div.f_info a.logo,
footer div.f_info a.solcomlogo{
	display:inline-block;
	max-width:300px;
	transition:0.3s ease;
}
footer div.f_info a.solcomlogo{max-width:215px;}
footer div.f_info a.logo:hover,
footer div.f_info a.solcomlogo:hover{opacity:0.45;}

footer p.f-heading{
	position:relative;
	color:#345DAA;
	font-size:1.6rem;
	line-height:1;
	font-weight:600;
	text-align:center;
	padding:0;
	margin-top:30px;
}
footer p.f-heading::before {
	position: absolute;
	content: "";
	display: none;
	bottom: 0;
	left: 50%;
	transform:translateX(-50%);
	width: 40px;
	height: 1px;
	background: #345DAA;
}

footer div.f-bnr-links{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin:15px auto 0;
}
footer div.f-bnr-links a{
	width:calc((100% - 30px)/3);
	transition:0.3s ease;
}
footer div.f-bnr-links a:nth-child(n + 4){margin-top:15px;}
footer div.f-bnr-links a img{
	display:inline-block;
	width:100%;
}
footer div.f-bnr-links a:hover{
	opacity:0.7;
	box-shadow:0 0 3px rgba(0,0,0,0.1);
}

@media screen and (max-width:1112px) {

/* フッター上　問い合わせ */
div.response div.txt{width:calc(100% - 460px);}
div.response div.info{
	width:420px;
	margin-left:40px;
}	


}

@media screen and (max-width:991px) {



/* area01 */
div.area01{margin-top:-20px;}
div.area01 div.flex::before{height:30px;}
div.area01 div.flex{flex-wrap:wrap;}

div.area01 div.flex div.txt{width:300px;}
div.area01 div.flex div.img{width:calc(100% - 340px);}
div.area01 div.flex div.com_logo{display:none;}


div.area01 h2{font-size:2.4rem;}


div.area figure.image{margin:60px auto 0;}

/* area03 */
div.area03 div.flex > div{width:calc((100% - 40px)/2);}


	
/* フッター上　問い合わせ */
div.response div.txt{width:calc(100% - 400px);}
div.response div.info{
	width:380px;
	margin-left:20px;
}	

footer div.f_nav div{width:calc((100% - 40px)/2);}


}


@media screen and (max-width:767px) {

/* area01 */
div.area01 div.flex{flex-wrap:wrap;}

div.area01 div.flex div.img,
div.area01 div.flex div.txt{width:100%;}
div.area01 div.flex div.img{margin-top:20px;}

div.area01 div.flex div.txt{
	display:flex;
	justify-content:space-between;
	align-items:center;
}

div.area01 h2{font-size:2.4rem;}
div.area01 a.btn{
	width:200px;
	padding:18px 0 19px;
	margin-top:0;
}

div.area01 + div.area02{margin-top:0;}

/* area02-04 */
div.area02 div.content,
div.area04 div.content{padding:80px 0;}


/* area03 */
div.area03 div.flex{padding:80px 0;}
div.area03 div.flex > div{width:100%;}
div.area03 div.flex > div + div{margin-top:40px;}
div.area03 div.flex > div a.btn{margin-top:20px;}


/* フッター上　問い合わせ */
div.response div.flex{flex-wrap:wrap;}
div.response div.txt{width:100%;}
div.response div.info{margin:40px auto 0;}

/*フッター*/	
footer div.f_info div{margin:0 auto;}
footer div.f_info div + div{margin:20px auto 0;}

footer div.content{padding-top:80px;}
footer div.f-bnr-links a{width:calc((100% - 15px)/2);}
footer div.f-bnr-links a:nth-child(n + 4){margin-top:0;}
footer div.f-bnr-links a:nth-child(n + 3){margin-top:15px;}

}


@media screen and (max-width:599px) {

/* area01 */
div.area01{margin-top:-10px;}
div.area01 div.flex{padding:20px 20px 0;}
div.area01 div.flex::before{height:20px;}
div.area01 div.flex div.txt{display:block;}
div.area01 h2{font-size:2.4rem;}
div.area01 a.btn{
	padding:12px 0 13px;
	margin-top:15px;
}
div.area01 a.btn::after{
	width:6px;
	height:6px;
}



div.area figure.image{margin-top:30px;}

/* area02-04 */
div.area02 div.content,
div.area04 div.content{padding:60px 0;}

div.area div.heading::before{width:30px;}
div.area div.heading h2{font-size:2.4rem;}
div.area div.heading span{margin-left:10px;}
div.area div.heading + div.txt{
	font-size:1.6rem;
	margin-top:15px;
}


/* area03 */
div.area03 div.flex{padding:60px 0;}

div.area03 div.flex ul{
	padding:10px 20px;
	margin-top:25px;
}
div.area03 div.flex > div a.btn{margin-top:20px;}

div.area03 div.flex ul li{flex-wrap:wrap;}
div.area03 div.flex ul a{width:100%;}


footer div.f_nav div{width:calc((100% - 20px)/2);}
footer div.f_nav div > a,
footer div.f_nav div > span.second{
	font-size:1.4rem;
	padding:20px 20px 20px 10px;
}
footer div.f_nav div > a::after{
	right:10px;
	width:6px;
	height:6px;
}
footer div.f_nav div ul{margin:20px auto 30px;}
footer div.f_nav div ul li a{font-size:1.4rem;}
footer div.f_nav div > a:hover::after{right:15px;}

}


@media screen and (max-width:480px) {


/* area03 */
div.area03 div.flex ul{padding:0 20px;}


/* フッター上　問い合わせ */
div.response a.btn span{
	font-size:1.6rem;
	padding:12px 20px 13px 30px;
}
div.response a.btn span::before{width:20px;}
div.response a.btn::after{
	width:8px;
	height:8px;
}

div.response div.flex a.tel{font-size:2rem;}
div.response a.tel span{font-size:3.6rem;}
div.response a.tel + p.min{font-size:1.4rem;}
div.response p.min + a.btn{margin-top:10px;}


/*フッター*/
footer div.content{padding-top:60px;}

footer div.f_info{display:table;}
footer div.f_info div + div{margin:10px auto 0;}

footer div.f_info p{
	font-size:1.2rem;
	text-align:center;
}

footer div.f_nav{margin-top:20px;}
footer div.f_nav div{width:100%;}
footer div.f_nav div > a,
footer div.f_nav div > span.second{font-size:1.6rem;}
footer div.f_nav div ul li a{font-size:1.6rem;}

footer p#copyright{
	font-size:1.2rem;
	text-align:center;
	margin-top:40px;
}

footer div.f-bnr-links a{width:calc((100% - 5px)/2);}
footer div.f-bnr-links a:nth-child(n + 3){margin-top:5px;}

}


/**********************

下層ページ

**********************/

div.area.col{
	padding:100px 20px;
	background:#F7FDFF;
}
div.area.col + div.area.col::before{
	position:absolute;
	content:"";
	display:inline-block;
	width:20px;
	height:20px;
	left:50%;
	transform:translateX(-50%);
	top:-10px;
	background:#345DAA;
	border-radius:10px;
}
div.area.image{margin-top:100px;}
div.area.image + div.area.image{margin-bottom:100px;}

div.title{
	position:relative;
	max-width:1280px;
	padding:80px 20px;
	margin:0 auto;
	text-align:center;
}
div.title span.en{
	color:#345DAA;
	font-size:1.8rem;
	font-weight:600;
	line-height:1;
}
div.title h1{
	font-size:3.2rem;
	line-height:1;
	font-weight:600;
	padding-top:5px;
}

/* パンくず */
#pan{
	position:absolute;
	top:15px;
	right:20px;
}
#pan span{font-size:1.4rem;}
#pan a{color:#69c;}

/*会社案内*/
div.column{
	display:flex;
	justify-content:space-between;	
}
div.column div.left{width:280px;}
div.column div.right{width:calc(100% - 280px);}

div.column h2{
	font-size:2.4rem;
	line-height:1;
	font-weight:600;
}
div.column span.en{
	display:inline-block;
	font-size:1.8rem;
	color:#345DAA;
	line-height:1;
	letter-spacing:0.25pt;
	padding-top:10px;
}

div.column div.left img{
	display:block;
	max-width:200px;
	margin:20px auto 0;
}

div.col div.list,
div.col div.category{
	padding:80px;
	background:#fff;
	border-radius:20px;
}

div.col div.list{position:relative;}

div.col div.list div{
	display:flex;
	justify-content:flex-start;
	font-size:1.8rem;
}
div.col div.list div + div{
	padding-top:30px;
	margin-top:30px;
	border-top:1px solid #efefef;
}
div.col div.list div span{
	display:inline-block;
	width:200px;
}
div.col div.list div p{width:calc(100% - 200px);}
div.col div.list div p a{
	color:#69c;
	text-decoration:underline;
}
div.col div.list div p a:hover{text-decoration:none;}

div.col div.list div.image{
	position:absolute;
	right:80px;
	bottom:80px;
	border-top:none;
	padding-top:0;
	width:150px;
	padding-left:60px;
	background:#fff;
}


/* 事業案内 */
div.col div.right h3{
	font-size:1.6rem;
	font-weight:600;
	line-height:1;
	padding:15px;
	border-top:1px solid #222;
	border-bottom:1px solid #222;
}
div.col h3 + ul.dot{margin-top:20px;}
div.col ul.dot + h3{margin-top:40px;}

div.col ul.dot li{
	display:inline-block;
	font-size:1.6rem;
	margin-right:15px;
}
div.right ul.dot li:first-letter {color:#345DAA;}

div.map{
	position:relative;
	margin:40px auto 0;
	width:100%;
	height:0;
	padding-top:55%;
}
div.map iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}


/* news */
div.news_wrap{
	padding:40px;
	background:#fff;
	border-radius:20px;
}
div.area h3 + ul.news{
	padding:0;
	margin:0;
}
div.area h3 + ul.news{margin-top:20px;}

div.area ul.news li{
	display:flex;
	justify-content:space-between;
}
div.area ul.news li + li{
	border-top:1px solid #efefef;
	margin-top:20px;
	padding-top:20px;
}
div.area ul.news span{
	display:inline-block;
	color:#345DAA;
	width:100px;
}
div.area ul.news a{
	display:inline-block;
	width:calc(100% - 120px);
	color:#111;
	text-decoration:underline;
}
div.area ul.news a:hover{text-decoration:none;}

div.area h3.year_h3.sp{display:none;}
div.area ul.year_li.sp{display:none;}

div.area ul.year_li{
	width:calc(100% - 40px);
	margin-top:15px;
	padding:0;
	border-top:1px dashed #111;
}
div.area ul.year_li li{border-bottom:1px dashed #111;}
div.area ul.year_li a{
	position:relative;
	display:block;
	color:#111;
	text-decoration:none;
	padding:10px 0 10px 20px;
	transition:0.3s ease;
}
div.area ul.year_li a::before{
	position:absolute;
	content:"";
	display:inline-block;
	top:50%;
	transform:translateY(-50%);
	left:2px;
	border:5px solid transparent;
	border-left:5px solid #111;
	transition:0.3s ease;
}
div.area ul.year_li a:hover{background:#fff;}
div.area ul.year_li a:hover::before{left:6px;}

div.area div.page_navigation{position: relative;}
div.area div.page_navigation a{
	color: #fff;
	display: block;
	width: 200px;
	font-size: 1.4rem;
	letter-spacing: 0;
	text-align: center;
	line-height: 1;
	font-weight: 500;
	padding: 12px 0 13px;
	background: #345DAA;
	margin:40px auto 0;
	border-radius: 32px;
	transition: 0.3s ease;
  }
div.area div.page_navigation a:hover{opacity:0.7;}
div.nav-next{display:none;}

/* 新着情報・商品topics シングルページ */
div.newspos{
	padding:40px;
	background:#fff;
	border-radius:20px;
}

div.newspos div.heading_h2{
	width:100%;
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:0 0 20px;
	margin:0 auto 20px;
	border-bottom:1px solid #efefef;
}

div.newspos h2{
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 600;
  }
div.newspos span.date{
	color:#345DAA;	
	font-size:1.6rem;
	line-height:1;
	font-weight:600;
  }  

div.newspos p{
	font-size:1.6rem;
	line-height:2;
}
div.newspos p + p{margin-top:1em;}


div.column div.right a.more_btn{
	position: relative;
	color: #fff;
	display: block;
	max-width: 280px;
	font-size: 1.4rem;
	letter-spacing: 0;
	text-align: center;
	line-height: 1;
	font-weight: 500;
	padding: 12px 0 13px;
	background: #345DAA;
	border-radius: 32px;
	margin:40px 0 0 auto;
	transition: 0.3s ease;
}
div.column div.right a.more_btn span{
	position:relative;
	display:inline-block;
	padding-left:23px;
}

div.column div.right a.more_btn span::before{
	position:absolute;
	content:"";
	display:inline-block;
	left:0;
	top:50%;
	transform:translateY(-50%);
	width:15px;
}

div.column div.right a.more_btn.topics span::before{
	height:17.2px;
	background:url(../img/topics_i.png) center/contain no-repeat;
}
div.column div.right a.more_btn.info span::before{
	height:15px;
	background:url(../img/info_i.png) center/contain no-repeat;
}

div.column div.right a.more_btn::after{
	position:absolute;
	content:"";
	display:inline-block;
	right:20px;
	top:50%;
	transform:translateY(-50%) rotate(-45deg);
	width:6px;
	height:6px;
	border:1px solid transparent;
	border-right:1px solid #fff;
	border-bottom:1px solid #fff;
	transition:0.3s ease;
}

div.column div.right a.more_btn:hover{opacity:0.75;}
div.column div.right a.more_btn:hover::after{right:16px;}


@media screen and (max-width:1112px) {

div.col div.list div.image{
	right:40px;
	bottom:40px;
	width:120px;
	padding-left:20px;
}

}

@media screen and (max-width:991px) {

/* パンくず */
#pan{
	top:10px;
	right:10px;
}
#pan span{font-size:1.2rem;}

/*会社案内*/
div.column{flex-wrap:wrap;}
div.column div.left,
div.column div.right{width:100%;}	
div.column div.right{margin-top:40px;}

div.col div.list div.image{
	right:80px;
	bottom:80px;
	width:120px;
	padding-left:20px;
}

div.area ul.year_li.pc{display:none;}
div.area h3.year_h3.sp{
	display:block;
	margin-top:40px;
}
div.area ul.year_li.sp{
	display:block;
	width:auto;
	border-top:0;
	margin-top:0;
}

}


@media screen and (max-width:767px) {

/**********************
下層ページ
**********************/
div.area.info{padding:80px 20px;}
div.area.image{margin-top:80px;}
div.title{padding:60px 20px;}
div.title h1{font-size:2.8rem;}

/*会社案内*/	
div.column h2{font-size:2rem;}
div.column span.en{font-size:1.6rem;}
div.col div.list,
div.col div.category{padding:40px;}

div.col div.list div.image{
	position:relative;
	right:auto;
	bottom:auto;
	width:250px;
	padding-top:40px;
	margin:0 auto;
}

/* 新着情報・商品topics シングルページ */
div.newspos div.heading_h2{
	flex-direction: column-reverse;
	align-items:flex-start;
	padding-bottom:10px;
	margin-bottom:10px;
}

div.newspos h2{
	font-size: 2rem;
	margin-top:5px;
}
div.newspos span.date{font-size:1.4rem;}  


}


@media screen and (max-width:599px) {

/**********************
下層ページ
**********************/
div.area.col{padding:60px 20px;}
div.area.col + div.area.col::before{
	width:12px;
	height:12px;
	top:-6px;
}
div.area.image{margin-top:60px;}


div.title{padding:40px 20px;}
div.title h1{font-size:2.4rem;}


/*会社案内*/	
div.column div.right{margin-top:20px;}
div.col div.list,
div.col div.category{padding:25px 20px;}

div.col div.list div{
	display:block;
	font-size:1.6rem;
}
div.col div.list div + div{
	padding-top:10px;
	margin-top:10px;
}
div.col div.list div span,
div.col div.list div p{width:auto;}
div.col div.list div span{
	color:#345DAA;
	font-weight:600;
}


/* 事業案内 */
div.col div.right h3{font-size:1.4rem;}
div.col ul.dot li{font-size:1.4rem;}
div.col h3 + ul.dot{margin-top:10px;}
div.col ul.dot + h3{margin-top:20px;}
div.map{margin-top:20px;}

/* news */
div.area div.news_wrap{padding:25px 20px 40px;}
div.col ul.news li{flex-wrap:wrap;}
div.col ul.news a{width:100%;}

/* 新着情報・商品topics シングルページ */
div.newspos{padding:25px 20px;}


}

@media screen and (max-width:480px) {

div.column div.left img{max-width:100px;}	

div.col div.list div.image{
	width:150px;
}

div.column div.right a.more_btn{
	margin:40px auto 0;
}


}




/* 大枠 */
div.form_wrap{
	padding:80px;
	margin:0 auto;
	border-radius:4px;
	background:#fff;
}

div.form_wrap div.box + div.box{margin-top:60px;}
div.form_wrap div.box{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
}
div.form_wrap div.box > div{width:calc(100% - 280px);}
div.form_wrap div.box > div:first-child{width:200px;}


/* 項目名 */
div.form_wrap p.heading{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#345DAA;
  font-size:1.6rem;
  font-weight:600;
  padding:0;
  margin:0;
}
div.form_wrap p.heading span{
  display:inline-block;
  color:#fff;
  font-size:12px;
  line-height:1;
  padding:6px;
  background:#ff470b;
  border-radius:4px;
}


/* 郵便番号　住所 */
div.form_wrap div.flex_column{
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	flex-wrap:wrap;
}
div.form_wrap div.flex_column.address div:first-child{position:relative;}
div.form_wrap div.flex_column.address div:first-child::before{
  position:absolute;
  content:"〒";
  display:inline-block;
  top:8px;
  left:-30px;
  color:#222;
  font-weight:600;
}
div.form_wrap div.flex_column.address > div{
  width:150px;
  margin-left:40px;
}
div.form_wrap div.flex_column.address > div + div{margin-left:20px;}
div.form_wrap div.flex_column.address > div:last-child{
  width:100%;
  margin:20px auto 0;
}

div.form_wrap div.select_wrap {
  display:inline-block;
  position: relative;
}
div.form_wrap div.select_wrap::before{
    position:absolute;
    content:"";
    display:inline-block;
    right:15px;
    top:22px;
    border:8px solid transparent;
    border-top:8px solid #222;
    z-index:1;
}


/* 承認チェックボタン */
div.check_area{
  padding:15px;
  margin:40px auto;
  border:1px solid #ccc;
  text-align:center;
}
div.check_area span{
  font-size:1.4rem;
  font-weight:500;
  line-height: 1.5;
}


/* フォーム input */
div.form_wrap input[type="text"],
div.form_wrap input[type="email"],
div.form_wrap input[type="tel"],
div.form_wrap select,
div.form_wrap textarea {
  font-size:1.6rem;
  display: inline-block;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 4px;
  padding: 12px;
  width:100%;
  max-width:100%;
  vertical-align: middle;
  border: none;
  color: #222;
  background: #F7F7F7;
  border:1px solid #efefef;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/* テキストエリア */
div.form_wrap textarea {height:280px;}

/* radioボタン */
div.form_wrap input[type="hidden"] + span,
div.form_wrap input[type="checkbox"] + span{
	position: relative;
	padding: 0 0 0 40px;
	text-align:left;
	margin: 0;
}
div.form_wrap input[type="radio"],
div.form_wrap input[type="checkbox"]{
    display: none;
    margin: 0;
}
div.form_wrap input[type="radio"] + span{
	position: relative;
	display: inline-block;
  	color:#222;
	margin: 0 10px 0 0;
	padding:0 0 0 35px;
	cursor: pointer;
}
div.form_wrap input[type="radio"] + span::before{
	border: 1px solid #ccc;
	border-radius: 30px;
}

div.form_wrap input[type="radio"] + span::before,
div.form_wrap input[type="hidden"] + span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    width: 25px;
    height: 25px;
    margin-top: -12px;
    background: #FFF;
}
div.form_wrap input[type="radio"]:checked + span::after{
	content: "";
	position: absolute;
	top: 50%;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
}
div.form_wrap input[type="radio"]:checked + span::after{
	left: 5px;
	width: 15px;
	height: 15px;
	margin-top: -7px;
	background: #222;
	border-radius: 22px;
}


/* チェックボックス */
div.form_wrap input[type="checkbox"] + span{display:inline-block;}
div.form_wrap input[type="checkbox"] + span::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	width: 24px;
	height: 24px;
	margin-top: -13px;
  border-radius:4px;
	background: #FFF;
}
div.form_wrap input[type="checkbox"] + span::before {border: 1px solid #ccc;}
div.form_wrap input[type="checkbox"]:checked + span::after {
	content: "";
	position: absolute;
	top: 50%;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
}
div.form_wrap input[type="checkbox"]:checked + span::after {
	left: 5px;
	width: 14px;
	height: 8px;
	margin-top: -7px;
	border-left: 3px solid #8dbd2c;
	border-bottom: 3px solid #8dbd2c;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

div.form_wrap input[type="submit"]{
  position: relative;
  display: block;
  width:280px;
  max-width:100%;
  color:#fff;
  font-size:18px;
  font-weight:600;
  line-height:1;
  text-align: center;
  text-decoration: none;
  margin: 0 auto;
  padding:20px;
  border-radius: 4px;
  background: #8DBD2C;
  transition: 0.3s ease;
  border:none;
  cursor:pointer;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}
div.form_wrap input[type="submit"]:hover{opacity:0.7;}

div.form_wrap .wpcf7-not-valid-tip{font-size:1.4rem;}

@media screen and (max-width:991px) {

/* 大枠 */
div.form_wrap{padding:40px;}

div.form_wrap div.box > div,
div.form_wrap div.box > div:first-child{width:100%;}
div.form_wrap div.box > div + div{margin-top:20px;}

div.form_wrap div.box + div.box{
  padding-top:40px;
  margin-top:40px;
  border-top:1px solid #efefef;
}

/* 項目名 */
div.form_wrap p.heading{justify-content:flex-start;}
div.form_wrap p.heading span{margin-left:20px;}


}


@media screen and (max-width:767px) {


}


@media screen and (max-width:599px) {


/* 郵便番号　住所 */
div.form_wrap div.select_wrap::before{
	top:24px;
    border:6px solid transparent;
    border-top:6px solid #222;
}


}


@media screen and (max-width:480px) {

/* 大枠 */
div.form_wrap{padding:20px;}
div.form_wrap div.box + div.box{
  padding-top:0;
  margin-top:30px;
  border-top:none;
}
div.form_wrap div.box > div + div{margin-top:10px;}

/* 項目名 */
div.form_wrap p.heading{font-size:1.6rem;}
div.form_wrap p.heading span{margin-left:10px;}

/* 郵便番号　住所 */
div.form_wrap div.flex_column.address div:first-child::before{left:-25px;}
div.form_wrap div.flex_column.address > div{
  width:120px;
  margin-left:25px;
}
/* テキストエリア */
div.form_wrap textarea {height:180px;}

/* 承認チェックボタン */
div.check_area{
  padding:10px;
  margin-bottom:20px;
}
div.check_area span{font-size:12px;}

/* チェックボックス */
div.form_wrap input[type="checkbox"] + span::before{margin-top: -10px;}
div.form_wrap input[type="checkbox"]:checked + span::after {margin-top: -4px;}

div.form_wrap .wpcf7-not-valid-tip{
	font-size:1.3rem;
	letter-spacing:0;
}

}
/* 取扱商品例 */

div.item_wrap{
	width:1000px;
	max-width:100%;
	padding:min(7.8125vw,60px);
	border-radius:20px;
	background:#fff;
	margin:0 auto;
	box-sizing:border-box;
}


div.item_wrap div.heading_h2{
	width:100%;
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:0 0 20px;
	margin:0 auto;
	border-bottom:1px solid #efefef;
}

div.item_wrap h2{
	color:#345DAA;
	font-size:min(5vw,2.4rem);
	line-height: 1.5;
	font-weight: 600;
}

div.item_wrap div.item_info{
	padding:20px;
	border-radius:10px;
	margin:min(5.208vw,40px) auto 0;
	background:#f7f7f7;
	border:1px solid #e0e0e0;
}

div.item_wrap div.item_info p{
	font-size:1.6rem;
	font-weight:500;
	line-height:1.5;
	padding-left:1em;
	text-indent:-1em;
}
div.item_wrap div.item_info p + p{
	margin-top:5px;
	padding-top:5px;
	border-top:1px dashed #e0e0e0;
}

div.img_wrap{
	display:flex;
	justify-content:flex-start;
	flex-wrap:wrap;
	margin:0 auto;
}
div.img_wrap > div{
	width:calc((100% - 40px)/2);
	margin:min(5.208vw,40px) 40px 0 0;
}
div.img_wrap > div:nth-child(2n){margin-right:0;}

div.img_wrap > div img{
	display:block;
	max-width:100%;
	margin:0 auto;
}

div.item_wrap div.inner{
	margin:20px auto 0;	
}

div.item_wrap.archive h2.item_cat-type{
	color:#111;
	font-size:2rem;
	padding:10px 5px;
	border-top:1px solid #111;
	border-bottom:1px solid #111;
}
div.item_wrap.archive div.pagenation + h2{margin-top:60px;}
div.item_wrap.archive ul.dot + h2{margin-top:45px;}
div.item_wrap.archive h2 + ul.dot{margin-top:15px;}

div.item_wrap.archive h2 + p.products-headline{margin-top:15px;}

div.item_wrap.archive p.products-headline{
	font-size:1.8rem;
	font-weight:600;
	font-feature-settings:"palt";
}
div.item_wrap.archive ul.dot + p.products-headline{margin-top:30px;}
div.item_wrap.archive p.products-headline + ul.dot{margin-top:5px;}

div.item_wrap.archive ul.dot li{
	position:relative;
	padding:0;
	margin:0 15px 0 0;
}
div.item_wrap.archive ul.dot li:first-letter {color:#345DAA;}
div.item_wrap.archive ul.dot li a{
	display:inline-block;
	color:#111;
	font-size:1.6rem;
	font-weight:500;
}
div.item_wrap.archive ul.dot li a:hover{text-decoration:underline;}

div.item_wrap.archive ul.dot.block li{display:block; margin-right:0;}
div.item_wrap.archive ul.dot.block li + li{margin-top:5px;}

div.item_wrap.archive div.pagenation {
	width: 728px;
	max-width:100%;
	margin: 30px auto 0;
	padding: 0;
	text-align: center;
  }

div.item_wrap.archive div.pagenation a{color:#369;}
div.item_wrap.archive div.pagenation span{color:#111;}
div.item_wrap.archive div.pagenation a:hover{text-decoration:none;}


@media screen and (max-width:768px) {

div.img_wrap > div{
	width:calc((100% - 20px)/2);
	margin:20px 20px 0 0;
}	

}

@media screen and (max-width:480px) {

div.img_wrap > div{
	width:100%;
	margin:20px auto 0;
}

div.item_wrap.archive p.products-headline{font-size:1.6rem;}

}

/**********
私たちの強み
**********/
div.area.top_line{border-top:1px solid #e0e0e0;}
div.out-strength_wrap{
	width:1000px;
	max-width:100%;
	margin:0 auto;
	padding:100px 0;
}
div.out-strength_wrap div.inner{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	flex-direction:row-reverse;
}

div.out-strength_wrap div.inner + div.inner{margin-top:100px;}
div.out-strength_wrap div.inner div.txt{
	position:relative;
	width:calc(100% - 460px);
}
div.out-strength_wrap div.inner div.img{
	width:400px;
	max-width:100%;
}
div.out-strength_wrap div.inner.reverse{flex-direction:row;}


div.out-strength_wrap span.number{
	position:absolute;
	top:-63px;
	display:inline-block;
	color:#fff;
	font-size:48px;
	line-height:1;
	font-weight:500;
	text-shadow:1px 1px #345DAA,-1px 1px #345DAA,
    -1px -1px #345DAA,1px -1px #345DAA,
	1px 0px #345DAA,0px 1px #345DAA,
	-1px 0px #345DAA,0px -1px #345DAA;
}
div.out-strength_wrap span.label{
	display:inline-block;
	color:#fff;
	font-size:16px;
	line-height:1;
	letter-spacing:0.25pt;
	padding:8px 16px;
	background:#345DAA;
	border-radius:0 18px 0 0;
}

div.out-strength_wrap h2{
	font-size:min(3.125vw,32px);
	font-weight:600;
	line-height:1.5;
	letter-spacing:.25pt;
	margin-top:10px;
}

div.out-strength_wrap h2 + p{
	font-size:16px;
	line-height:2;
	letter-spacing:0.25pt;
	margin-top:10px;
}

@media screen and (max-width:1024px){

div.out-strength_wrap div.inner div.txt{width:calc(100% - 330px);}
div.out-strength_wrap div.inner div.img{width:300px;}	

}

@media screen and (max-width:767px){

div.out-strength_wrap div.inner,
div.out-strength_wrap div.inner.reverse{flex-direction:column;}

div.out-strength_wrap div.inner div.txt{width:100%;}
div.out-strength_wrap div.inner div.img{
	margin:30px auto 0;
	width:480px;
}
div.out-strength_wrap span.label{
	position:relative;
	left:-20px;
}
div.out-strength_wrap h2{font-size:min(5vw,32px);}

}
@media screen and (max-width:480px){
div.out-strength_wrap div.inner div.img{
	width:360px;
	margin-top:20px;
}
div.out-strength_wrap span.number{top:-58px;}
div.out-strength_wrap span.label{
	font-size:12px;
	padding:10px 20px;
	border-radius:0 15px 0 0;
}
div.out-strength_wrap h2{
	font-size:min(6.153vw,24px);
	letter-spacing:0;
	margin-top:10px;
}

}


/* 求人情報 */
table.recruit-table{
	width:1000px;
	margin:0 auto;
	background:#fff;
	border:1px solid #ccc;
	border-collapse:collapse;
	max-width:100%;
	box-sizing:border-box;
}

table.recruit-table tr td{padding:15px;}
table.recruit-table tr td:nth-child(1){
	color:#fff;
	background:#345DAA;
}
table.recruit-table tr + tr td{border-top:1px solid #ccc;}

@media screen and (max-width:480px){

table.recruit-table,
table.recruit-table tr,
table.recruit-table tr td{
	display:block;
	width:100%;
	box-sizing:border-box;
}

table.recruit-table tr td{padding:10px;}

}

/* 事業内容 service */
div.service_wrap h2{
	color:#345DAA;
	font-size: 2.2rem;
}
div.service_wrap div.service-box{
	padding:clamp(30px,5.045vw,50px) clamp(15px,5.045vw,50px);
	background:#fff;
	border-radius:20px;
}
div.service_wrap div.right h3.h3-type01{
  font-size: clamp(2.4rem,3.645vw,2.8rem);
  line-height: 1.6;
  padding:0;
  border:none;
}
div.service_wrap div.right p{
	line-height:2;
	margin-top:1em;
}

div.service_wrap div.thum-box{
	display:flex;
	justify-content:flex-start;
	flex-wrap:wrap;
	margin:1em auto 0;
}
div.service_wrap div.thum-box div{
	width:calc((100% - 30px)/3);
	margin-right:15px;
	border-radius:8px;
	overflow:hidden;
}
div.service_wrap div.thum-box div:nth-child(3n){margin-right:0;}
div.service_wrap div.thum-box div img{width:100%;}


br.br768{display:none;}


@media screen and (max-width:768px){

br.br768{display:inline;}
br.br768-non{display:none;}	

}


@media screen and (max-width:480px){

div.service_wrap div.thum-box{flex-direction:column;}
div.service_wrap div.thum-box div{
	width:100%;
	margin-right:auto;
}
div.service_wrap div.thum-box div:nth-child(n +2){margin-top:15px;}

}