@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@300;400;500;600;700;900&display=swap');
/*
Theme Name:strong-ltd
*/

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17

*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
*{box-sizing: border-box;}
body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

ul,ol {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#222222;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#fff;
    color:#222222; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
img{
	vertical-align:bottom;
	max-width: 100%;
}

input::placeholder {color:#999999}

/************** layout base ********************/

.clearfix{
overflow:hidden;
}
.clear:after{
	content:"";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}


a{
 color: #000;
	text-decoration:none;
}
a:hover{
}


sup {
	line-height: 100%;
	font-size:10px;
	vertical-align: 0.4em;
}
sub{
	line-height: 100%;
	font-size:10px;
	vertical-align: -0.1em;
}

.txtLeft{
text-align:left;
}
.txtRight{
text-align:right;
}
.txtCenter{
text-align:center;
}
.fw{font-weight:bold !important;}
.f10{ font-size:10px !important;}
.f11{ font-size:11px !important;}
.f12{ font-size:12px !important;}
.f13{ font-size:13px !important;}
.f14{ font-size:14px !important;}
.f15{ font-size:15px !important;}
.f16{ font-size:16px !important;}
.f17{ font-size:17px !important;}
.f18{ font-size:18px !important;}

.txtRed{ color:#e60012;}
.note{ color:#666666; font-size:12px;}

.fLeft{ float:left;}
.fRight{ float:right;}
.fNon{
	float:none !important;
}

.mTop0{ margin-top:0 !important;}
.mTop5{ margin-top:5px !important;}
.mTop10{ margin-top:10px !important;}
.mTop15{ margin-top:15px !important;}
.mTop20{ margin-top:20px !important;}
.mTop25{ margin-top:25px !important;}
.mTop30{ margin-top:30px !important;}
.mTop35{ margin-top:35px !important;}
.mTop40{ margin-top:40px !important;}
.mTop45{ margin-top:45px !important;}
.mTop50{ margin-top:50px !important;}

.mBtm0{ margin-bottom:0 !important;}
.mBtm5{ margin-bottom:5px !important;}
.mBtm10{ margin-bottom:10px !important;}
.mBtm15{ margin-bottom:15px !important;}
.mBtm20{ margin-bottom:20px !important;}
.mBtm25{ margin-bottom:25px !important;}
.mBtm30{ margin-bottom:30px !important;}
.mBtm35{ margin-bottom:35px !important;}
.mBtm40{ margin-bottom:40px !important;}
.mBtm45{ margin-bottom:45px !important;}
.mBtm50{ margin-bottom:50px !important;}
.mBtm60{ margin-bottom:60px !important;}

.pTop0{ padding-top:0 !important;}
.pTop5{ padding-top:5px !important;}
.pTop10{ padding-top:10px !important;}
.pTop15{ padding-top:15px !important;}
.pTop20{ padding-top:20px !important;}
.pTop25{ padding-top:25px !important;}
.pTop30{ padding-top:30px !important;}
.pTop35{ padding-top:35px !important;}
.pTop40{ padding-top:40px !important;}
.pTop45{ padding-top:45px !important;}
.pTop50{ padding-top:50px !important;}

.pBtm0{ padding-bottom:0 !important;}
.pBtm5{ padding-bottom:5px !important;}
.pBtm10{ padding-bottom:10px !important;}
.pBtm15{ padding-bottom:15px !important;}
.pBtm20{ padding-bottom:20px !important;}
.pBtm25{ padding-bottom:25px !important;}
.pBtm30{ padding-bottom:30px !important;}
.pBtm35{ padding-bottom:35px !important;}
.pBtm40{ padding-bottom:40px !important;}
.pBtm45{ padding-bottom:45px !important;}
.pBtm50{ padding-bottom:50px !important;}
.pBtm60{ padding-bottom:60px !important;}




.inner{
 width: 96%;
 max-width: 1000px;
 margin: 0 auto;
}
.flex{display: flex;
flex-flow: row wrap;}
.flexCenter {  justify-content: center;}
.flexLeft {  justify-content: left;}
.flexRight {  justify-content: right;}
.flexEnd {  justify-content: flex-end;}
.flexRowReverse {  flex-flow: row-reverse;}
.alignItemsC {  align-items: center;}
.alignItemsSt {  align-items: flex-start;}
.alignItemsEnd {  align-items: flex-end;}

@media screen and (min-width: 769px) {
  .spOnly{ display:none;}
  .pcflex{		
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  }
 .pcflex.half >*{
  width: 48%;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {
  .pcOnly{ display:none;}
 .pcflex.half >* + *{margin-top: 20px;
 }
}/*spOnly*/

/************** layout base ********************/
body{
  position: relative;
  background:#f7f7f7;
  text-align:center;
  font-family: 'Noto Sans JP',"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  line-height:1.2;
  font-weight: 400;
  box-sizing: border-box;
}
.fontG{
  font-family: 'Noto Sans JP',"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}
.fontMin{
 font-family:"Noto Serif JP", "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" ,  "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" ,Garamond , "Times New Roman" , serif;
}

div,p,dl{
  text-align:left;
}
p,dt,dd,li,td,th{
  color:#000000;
  font-size:14px;
  line-height:1.5;
}
h1,h2,h3,h4,h5,h6{
  color:#000000;
  font-size:16px;
  font-weight: 700;
  line-height: 1.2;
 text-align: left;
}
h1{
 font-size: 36px;
}
h2{
 font-size: 22px;
}

@media screen and (max-width: 768px) {
	body{
		font-family: Roboto, “Droid Sans”, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","游ゴシック", YuGothic,  'Noto Sans JP', "メイリオ", Meiryo, sans-serif;	
-webkit-text-size-adjust: 100%;
	}
img{
	height: auto;}

p,dt,dd,li,td,th{
font-size:14px;
line-height:1.5;
}
 h1{
 font-size: 30px;
}
h2{
 font-size: 20px;
}
}/*-sp end-*/

/*色
========================================== */
:root {
  --bk: #000;
  --wh: #fff;
  --red: #c10110;
  --blue: #00326c;
  --LBlue: #07a787;
 --gray:#707070;
  --LGray: #f7f7f7;
 --green:#2a7b1b;
 --grd:linear-gradient(rgb(0, 50, 108) 0%, rgb(247, 247, 247) 100%);
}
/*文字色
========================================== */
.red{ color: var(--red) !important;}
.blue{  color: var(--blue) !important;}
.LBlue{  color: var(--LBlue) !important;}
.green{  color: var(--green) !important;}
.bk {  color: var(--bk) !important;}
.white {  color: #fff !important;}

/*--bg--*/
.bgGray{
	background: #f5f5f5;
}
.bgW{
	background: #fff;
}
.bgBlue{background: var(--blue);}
.bgGreen{background: var(--green);}


/*------------------ list style----------------*/
.numberList{
	padding:0 0 0 18px;	
}
.numberList li{
	list-style:decimal outside;
	padding:0 0 5px 0;
}

.discList{
	padding:0 0 0 18px;
}
.discList li{
	list-style:disc outside;
	padding:0 0 2px 0;
}

.indentList li{
	padding-left:1em;
	text-indent:-1em;
}
.indentList li + li{
	margin-top: 5px;
}
.indentTxt{
 padding-left: 1em;
 text-indent: -1em;
}

#mainWrap{
 width: calc(100% - 43px*2);
 max-width: 975px;
 margin: 0 auto;
}
#top #mainWrap{
 max-width: 1000px;
}
@media screen and (max-width: 768px) {
#mainWrap{
 width: auto;
}
}/*-SP only-*/
/*****************  head ***********************/
header{
  position: relative;
 z-index: 100;
}
@media screen and (min-width: 769px) {
 header{
  width: 23.5%;
  max-width:228px;
  padding-top: 36px;
  background-color: #00326c;
  background: url("../images/bg_gnavi02.svg") no-repeat left -103px bottom 20px #00326c;
 
 }
 #mainWrap main{
  width: 69%;
  max-width: 670px;
  padding-top: 36px;
 }
 #top header{
  width: 22.8%;
 }
 #top #mainWrap main{
  width: 73.9%;
  max-width: 739px;
  padding-top: 0px;
 } 
}/*-PC only-*/

#logoArea{
 background: #fff;
 box-shadow: 0 0 3px 0px rgba(0,0,0,.16);
 padding: 8px 0 0;
 height: 165px;
}
@media screen and (min-width: 769px) {
#logoArea{
 margin: 0 -43px;
}
}/*-PC only-*/

#logo{
 margin: 0 auto;
 text-align: center;
 line-height: 0;
}
#logo img{
 max-width: 263px;
 margin: 0 auto;
}
#logo span{
 display:block;
 font-size: 12px;
 font-weight: 400;
 text-align: center;
 line-height: 1.4;
}
#logoArea .btnWrap{
 margin-top: 12px;
}

@media screen and (max-width: 768px) {/*----SP header----*/	
header{
 position: relative;
 height: 65px;
}
 
#logoArea{
 position: relative;
 padding:3px 0 0;
 width: 46%;
 max-width: 240px;
 height: 65px;
}
#logo img{
 max-width: 120px;
 margin: 0;
}
#logo span{
 margin-top: 2px;
 font-size: min(1.8vw,9px);
}
#logoArea .btnWrap{
 position: absolute;
 left: 100%;
 top: 50%;
 transform: translate(0, -50%);
 margin: 0 0 0 10px;
}
 #logoArea .btnWrap .btn{
  font-size: 12px;
  padding: 0 15px;
 }
#spMenu{
  position: absolute;
 right: 10px;
 top: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 50px;
  height: 50px;
  cursor: pointer;
 z-index: 101;
  background: var(--blue);
}
#spMenu span,
 #spMenu span::before,
 #spMenu span::after{
  display: block;
  width: calc(100% - 10px);
  height: 2px;
  margin: auto;
  background:var(--wh) ;
  -webkit-transition: 0.2s ease-in-out;  
       -moz-transition: 0.2s ease-in-out;  
         -o-transition: 0.2s ease-in-out;  
            transition: 0.2s ease-in-out; 
 }
 #spMenu span::before,
 #spMenu span::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
 }
 #spMenu span::before{
  top: 15px;
 }
 #spMenu span::after{
  bottom: 15px;
 }
 #spMenu.active span{
  background: rgba(255,255,255,0.00);
 }
 #spMenu.active span::before,
 #spMenu.active span::after{
  top: 50%;
  bottom: auto;
  -webkit-transform: rotate(45deg);
transform: rotate(45deg);
 }
 #spMenu.active span::after{
  -webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
 }
}/*-SP-*/
/*****************  gNavi ***********************/
#gNavi a{
 display: block;
}
#gNavi .sub{
 display: none;
}
#gNavi .sub li{
 margin-bottom: 8px;
}
#gNavi .sub li a{
 display: block;
 position: relative;
 padding: 0 2px 0 12px;
}
#gNavi .sub li a::before{
 content: "";
 display: block;
 width: 4px;
 height: 1px;
 background: #fff;
 position: absolute;
 top: .75em;
 left: 0;
}
@media screen and (min-width: 769px) {
 #gNavi {
  padding: 0 0 120px 41px;
  background: url("../images/bg_gnavi01.svg") no-repeat right bottom;
 }
 #gNavi *{
  color: #fff;
 }
 #gNavi >ul> li{
  margin-top: 28px;
  font-size: 16px;
 }
 #gNavi .sub{
  padding-top: 12px;
 }
 #gNavi >ul> li li{
  font-size: 14px;
  line-height: 1.5;
 }
 #gNavi a:hover{
  text-decoration: underline;
 }
}/*-PC only-*/

@media screen and (max-width: 768px) {/*----SP gNavi----*/	
#gNavi{
  position: absolute;
  top: -110vh;
  left: 0;
 width: 100%;
 max-height: calc(100vh - 65px);
  transition: all 0.6s;
  overflow-y: auto;
  background: var(--blue);
  z-index: 100;
}
#gNavi.active{
 top: 65px;
 height: auto;
 padding-bottom: 20px;
}
 #gNavi *{
  color: #fff;
 }
 #gNavi > ul> li{
  border-bottom: 1px #fff solid;
 }
 #gNavi a{
  padding: 10px 5%;
 }
#gNavi .sub li a{
 padding: 0 5% 0 calc(5vw + 12px);
}
#gNavi .sub li a::before{
 left: 5vw;
}
}/*-SP-*/

/*****************  foot ***********************/
.footBnrs{
 justify-content: center;
 gap:10px 45px;
 padding: 56px 4% 47px;
}
.footBnrs li{
 max-width: 445px;
}
@media screen and (max-width: 768px) {/*----SP .footBnrs----*/
.footBnrs{
 padding: 40px 4% ;
}

}/*-SP-*/

#top #footCase{
 display: none;
}
#footCase{
 padding: 65px 4% 50px;
}
.sliderWrap{
 position: relative;
 overflow: hidden;
 max-width: 942px;
 padding: 1px;
 margin:0 auto;
}
.footCaseIn .slick-slider{
}
.footCaseIn .slick-slide{
 padding: 0 20px;
}
@media screen and (max-width: 768px) {
 #footCase iframe{
  height: 50vw;
  max-height: 280px;
 }
 .footCaseIn .newsList figure{
  height: 138px;
 }
}/*-SP only-*/
@media screen and (max-width: 699px) {
 .footCaseIn .newsList figure{
  height: 30vw;
 }
}/*-SP only-*/


#pagetop {
 position: fixed;
	right:0;
	bottom:142px;
	width: 66px;
	z-index: 1000;
}
#pagetop a{
 position: relative;
 display: flex;
 flex-flow: column;
 justify-content: center;
 align-items: center;
 border-radius: 10px 0 0 10px;
 background: rgba(0,50,108,.8);
	height: 60px;
 color: #fff;
 font-size: 12px;
 line-height: 1;
}
#pagetop a::before{
 content: "";
 display: block;
 background: #fff;
	width:10px;
	height:8px;
clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
 margin:0 auto 8px;
}
@media screen and (max-width: 768px) {
#pagetop {
	bottom:142px;
	width: 50px;
}
#pagetop a{
 border-radius: 10px 0 0 10px;
	height: 45px;
 font-size: 9px;
}
#pagetop a::before{
	width:10px;
	height:8px;
 margin:0 auto 5px;
}

}/*-SP only-*/


footer{
 background: linear-gradient(to bottom,  rgba(0,50,108,1) 0%,rgba(216,234,255,1) 61%,rgba(238,245,254,1) 100%);
 padding: 45px 0 0;
 text-align: center;
}
footer *{
 text-align: center;
}
footer h2{
 color: #fff;
}
footer p:not(#footLogo){
 color: #fff;
 font-size: 16px;
 letter-spacing: 0.05em;
}
footer ul{
 margin-top: 32px;
 padding: 0 3%;
}
footer ul li {
 display: flex;
 justify-content: center;
 align-content: center;
 align-items: center;
 flex-flow: column;
 border: 3px #92b4dc solid;
 background: #fff;
 max-width: 297px;
 height: 96px;
 font-size: 18px;
 font-weight: 400;
}
footer ul li:has(a){
 display: block;
}
@media screen and (min-width: 769px) {
footer ul.pcflex{
 justify-content: center;
 gap:0 min(2%,60px);
}
footer ul li {
 width: calc((100% - 2%*2)/3);
 max-width: 297px;
 line-height: 1.5;
}

}/*-PC only-*/
footer ul li a{
 height: 100%;
 display: flex;
 justify-content: center;
 align-content: center;
 align-items: center;
 flex-flow: column;
}
footer ul li span{
 font-size: 36px;
}
footer ul li.contact{
 border: 3px #fff solid;
}
footer ul li.contact a{
 background: #11b897;
 color: #fff;
 font-size: 24px;
}

#footLogo{
 margin-top: 44px;
}
#footLogo img{
 margin-bottom: 8px;
 max-width: 402px;
}

footer small{
 display: block;
 background: #00326c;
 margin-top: 30px;
 color: #fff;
 font-size: 10px;
 text-align: center;
 line-height: 25px;
}
footer small a{
 color: #fff;
}

@media screen and (max-width: 768px) {/*SP footer*/
footer{
 padding: 30px 4vw 0;
}
footer p:not(#footLogo){
 font-size: 14px;
}
footer ul{
 margin-top: 20px;
}
footer ul li {
 margin: 10px auto 0;
 font-size: 16px;
}
footer ul li span{
 font-size: 30px;
}
footer ul li.contact a{
 font-size: 20px;
}
#footLogo{
 margin-top: 30px;
}
#footLogo img{
 width: 100%;
}
 footer small{
 margin: 20px -4vw 0;
  padding: 0 4vw;
 font-size: min(2.5vw,10px);
}
}/*spOnly*/



/*****************  contents ***********************/
/*-btn--*/
.btnArrow{
 position: relative;
 display:block;
 background: linear-gradient(to bottom,  rgba(62,202,174,1) 0%,rgba(55,176,153,1) 100%);
 border-radius: 3px;
 padding: 11px 0;
 width: 100%;
 max-width: 310px;
 margin: 0 auto;
 color: #FFFFFF ;
 font-size: 14px;
 text-align: center;
 line-height: 1.45;
}
.btnArrow::after{
 content: ">";
 display: inline-block;
 height: 1em;
 position: absolute;
 top: 0;
 bottom: 0;
 right: 12px;
 margin: auto;
 line-height: 1;
}
.btnArrow.back::after{
 display: none;
}
.btnArrow.back::before{
    display: inline-block;
    content: "<";
 left: 5px;
}
.btnArrow:hover{
 opacity: .7;
}
/**/
.btnWrap{
 text-align: center;
}
.btn{
 position: relative;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 background: linear-gradient(to bottom,  rgba(62,202,174,1) 0%,rgba(55,176,153,1) 100%);
 border-radius: 3px;
 padding: 0 26px;
 color: #ffffff;
 text-align: center;
}
.btn:hover{
 opacity: .7;
}
@media screen and (max-width: 768px) {/*SP btn*/
.btnArrow{
 padding: 15px 25px 15px 10px;
}
}/*-SP only-*/

.txtLink{
 color: #fe6903;
 text-decoration: underline;
}
.txtLink::before{
 content: "";
 display: inline-block;
 background-color: #fe6903;
 width: 5px;
 height: 9px;
 clip-path: polygon(0 0, 0% 100%, 100% 50%);
 margin-right: 5px;
 vertical-align: middle;
}
.txtLink:hover{
 text-decoration: none;
}
/*--title--*/
.ttlBar{
 margin-bottom: 30px;
 color: #48cdb2;
 font-size: 24px;
 text-align: center;
}
.ttlBar::after{
 content: "";
 display: block;
 width: 98px;
 height: 3px;
 background: #48cdb2;
 margin: 8px auto 0;
}
.ttlBar.white{
 color: #fff;
}
.ttlBar.white::after{
 background: #fff;
}
.ttlBar.green::after{
 background: var(--green);
}

.h2Ttl {
 background: url(../images/h2_bg_blue.png) no-repeat left top;
 height: 64px;
 padding: 22px 0 0 120px;
 margin-bottom: 20px;
 color: #fff;
 font-size: 22px;
 font-weight: 500;
 letter-spacing: 0.05em;
 line-height: 1;
}
.h3Ttl{
 border-bottom: 2px solid #720008;
 background: #585858;
 padding: 8px 15px;
 margin: 0 auto 20px;
 color: #fff;
 font-size: 16px;
 line-height: 1.6;
}
.h4Ttl{
 border-bottom: 3px solid #999999;
 padding: 0px 0px 3px;
 margin: 0 auto 15px;
 color: #333;
 font-size: 14px;
 line-height: 1.6;
}
/*-table-*/
table{
	width: 100%;
	border: 1px #cccccc solid;
	box-sizing: border-box;
}
th,td{
	border-left: 1px #cccccc solid;
	border-bottom: 1px #cccccc solid;
	padding: 8px 10px;
}
th{
	background: #F0F0F0;
	border-bottom: 1px #cccccc solid; 
 font-weight: 400;
	text-align: center;
	vertical-align: middle;
}
tbody th{
	text-align: left;
}
td{
	background: #fff;
	text-align: left;
	vertical-align: middle;
}

.defaultTable{
	border-top: 1px solid #ccc;
}
.defaultTable th{
	background: #222;
	border-bottom: 1px solid #ccc;
 color: #fff;
	font-size: 16px;
	padding: 10px;
}
.defaultTable td{
	border-bottom: 1px solid #ccc;
	font-size: 16px;
	padding: 10px;
}

.bdr0{
	border: none;
}
@media screen and (max-width: 768px) {
.defaultTable th,
.defaultTable td{
	display: block;
	max-width: 100%;
}
}/*spOnly*/
@media screen and (min-width: 769px) {
}/*-PC only-*/

/*-pageNavi-*/
.pageNavi{
 display: flex;
 justify-content: center;
 gap:10px;
 margin-top: 30px;
 flex-wrap: wrap;
}
.pageNavi a:not(.next):not(.prev),
.pageNavi span{
 display: inline-block;
 border: 1px var(--LBlue) solid;
 width: 35px;
 color: var(--LBlue);
 font-size: 14px;
 font-weight: 400;
 line-height: 33px;
 text-align: center;
}
.pageNavi span {
 background: var(--LBlue);
 color: #fff;
}
.pageNavi .prev,
.pageNavi .next{
 position: relative;
 display: block;
 font-size: 0;
 width: 10px;
 height: 35px;
}
.pageNavi .prev::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	border-bottom: 1px var(--LBlue) solid;
	border-left: 1px var(--LBlue) solid;
	width: 9px;
	height: 9px;
	margin-top: -5px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.pageNavi .next::before{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	border-top: 1px var(--LBlue) solid;
	border-right: 1px var(--LBlue) solid;
	width: 9px;
	height: 9px;
	margin-top: -5px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
@media screen and (min-width: 769px) {}/*-PC only-*/
@media screen and (max-width: 768px) {}/*-SP only-*/

/***pager*/
.pager{
 position: relative;
 margin: 50px 0 0;
 padding: 0 7em;
 text-align: center;
}
.pager a.btn{
 max-width: 100px;
 height: 34px;
}
.pagerPrev,
.pagerNext{
 position: absolute;
 top: 0;
 bottom: 0;
 right: 50%;
 margin: auto 80px auto 0;
 display: flex;
 justify-content: flex-start;
 align-items: center;
 gap:0 5px;
 color: var(--LBlue);
}
.pagerPrev::before{
 content: "";
	display: block;
	border-bottom: 1px var(--LBlue) solid;
	border-left: 1px var(--LBlue) solid;
	width: 9px;
	height: 9px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.pagerNext{
 justify-content: flex-end;
 right: auto;
 left: 50%;
 margin: auto 0 auto 80px;
}
.pagerNext::after{ 
	content: "";
	display: block;
	border-top: 1px var(--LBlue) solid;
	border-right: 1px var(--LBlue) solid;
	width: 9px;
	height: 9px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

@media screen and (max-width: 768px) {
 .pagerPrev{
  margin-right: 60px;
 }
.pagerNext{
 margin-left: 60px;
}}/*-SP only-*/


/*----------------------------
         TOP
-----------------------------*/
#topMv{
}
@media screen and (min-width: 769px) {
#topMv{
 height: 510px;
}
#mvSliderWrap{
 position: absolute;
 top: 0;
 left: 22.8%;
 background: #ffffff;
 width: 100%;
 height: 510px;
 padding-left: calc(50% - 547px);
  max-width: 1000px;
}
 #topMv .slick-slide figure{
  height: 510px;
 }
 #topMv .slick-slide figure img{
  object-fit: cover;
  width: 100%;
  height: 100%;
 }
}/*-PC only-*/

@media screen and (max-width: 768px) {/*SP #topMv*/
}/*-SP only-*/

#topLead{
 border-bottom: 2px #c2c2c2 solid;
 padding: 50px 0 44px 68px;
}
#topLead p{
 line-height: 1.875;
}

@media screen and (max-width: 768px) {
#topLead{
 padding: 40px 4%;
}

}/*-SP only-*/

/*#topNews*/
#topNews{
 padding: 18px 0 50px;
}
#topNews h2{
 margin-bottom: 20px;
 color: #07a787;
 font-size: 24px;
}
.newsList{
 justify-content: flex-start;
 flex-flow: wrap;
 margin: 0 auto;
 gap:20px 27px;
}
@media screen and (min-width: 769px) {
#topNews .newsList{
 padding: 0 0 30px 28px;
 }
.newsList li{
  width: calc((100% - 27px*2) / 3);
 }
}/*-PC only-*/
.newsList li a{
 display: block;
}
.newsList figure{
 height: 138px;
 margin-bottom: 10px;
}
.newsList figure img{
 object-fit: cover;
 width: 100%;
 height: 100%;
}
.newsList .date{
 margin-bottom: 8px;
 color: #525252;
}
.cat{
 display: inline-block;
 background: #4eb9f0;
 padding: 3px 6px;
 margin-left: 10px;
 color: #fff;
 font-size: 12px;
 line-height: 1;
}
.cat_news{
 background: #4eb9f0;
}
.cat_catblog{
 background: #37b099;
}
/*.cat_catdiy{
 background: #73a508;
}*/
.cat_catcase{
 background: #5885ea;
}

.newsList p{
 color: #07a787;
}
@media screen and (max-width: 768px) {/*SP topNews*/
#topNews{
 padding: 18px 4% 40px;
}
#topNews h2{
 margin-bottom: 20px;
 font-size: 20px;
}
.newsList{
 margin-bottom: 30px;
 gap:20px 10px;
}
 .newsList li{
  width: 48%;
 }
.newsList figure{
 height: 30vw;
 margin-bottom: 10px;
}
.newsList figure img{
 aspect-ratio:160/112;
  image-orientation: none;
 }
}/*-SP only-*/

#topItems{
 position: relative;
 padding: 45px 0 40px;
}
#topItems::before{
 content: "";
 display: block;
 background: linear-gradient(to bottom,  rgba(0,50,108,1) 0%,rgba(247,247,247,1) 100%);
 width: 100%;
 height: 302px;
 position: absolute;
 left: 0;
 top: 0;
 z-index: -1;
}
.itemList{
 gap:20px 20px;
}
 .itemList li{
  width: 176px;
 }
.itemList li figure{
 border: 1px #efefef solid;
 height: 126px;
 margin-bottom: 8px;
 overflow: hidden;
}
.itemList li figure img{
 width: 100%;
}
.itemList li p{
 color: #07a787;
 text-align: center;
}
@media screen and (min-width: 769px) {
.itemList li a:hover figure img{
 object-fit: cover;
 height: 100%;
 object-position: bottom;
}
}/*-PC only-*/

@media screen and (max-width: 768px) {/*SP itemList*/
.itemList{
 justify-content: space-between;
 gap:20px 0px;
}
 .itemList li{
  width: 48%;
 }
 .itemList li figure{
  height: 33.2vw;
 }
}/*-SP only-*/


/*--------pgs --------------------------------------------*/
@media screen and (min-width: 769px) {
 body{
  overflow-x: hidden;
 }
 body:not(#top) main{
  z-index: 101;
 }
}/*-PC only-*/
 body:not(#top) main section{
  padding: 20px 0;
 }
 body:not(#top) main section p{
  margin-bottom: 1.5em;
 }

.pageTitle{
 position: relative;
 display: flex;
 flex-flow: column;
 justify-content: center;
 align-items: flex-start;
 align-content: center;
 height: 165px;
 padding: 0 0 0 15px;
 margin-bottom: 18px;
 color: #000;
 font-family:"Noto Serif JP", "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" ,  "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" ,Garamond , "Times New Roman" , serif;
 text-align:left; 
}
.pageTitle::before{
 content: "";
 display: block;
 background: #fff;
 width: 1000%;
 height: 100%;
 box-shadow: 3px 0px 3px 0px rgba(0,0,0,.16);
 position: absolute;
 top: 0;
 left: -35px;
 z-index: -1;
}
@media screen and (min-width: 769px) {
.pageTitle::after{
 content: "";
 display: block;
 background: #92b4dc;
 width: 2px;
 height: calc(100% - 22px);
 position: absolute;
 left: -37px;
 top: 0;
 bottom: 0;
 margin: auto;
 }
}/*-PC only-*/
.pageTitle span{
 display: block;
 margin-bottom: 5px;
 font-size: 18px;
}
.pgsWrap{
 overflow: hidden;
 background: #fff;
 padding: 25px 20px;
}
@media screen and (max-width: 768px) {
 .pageTitle{
  height: 120px;
 }
.pageTitle::before{
 width: 100%;
 height: 100%;
 left: 0;
}
.pageTitle span{
 margin-bottom: 5px;
 font-size: 15px;
}
}/*-SP only-*/

/*----------------------------
        #company
-----------------------------*/
#companyLead{}
#companyLead figure{
 text-align: center;
}
@media screen and (min-width: 769px) {
 #companyLead figure{
  width: 45%;
  max-width: 280px;
 }
 #companyLead .txts{
  width: 51%;
 }
}/*-PC only-*/
#companyLead h2{
 margin-bottom: 20px;
 line-height: 1.6;
}

@media screen and (max-width: 768px) {
#companyLead figure{
 margin-bottom: 20px;
}
}/*-SP only-*/

#companyAbout{}
.mvvNavi{
 justify-content: center;
 gap:15px 88px;
 margin-bottom: 50px;
}
.mvvNavi li{
 min-width: 130px;
 background: url("../images/company/company_bg_mvv01.png") no-repeat center top /130px auto;
}
.mvvNavi li a{
 position: relative;
 display: block;
 min-height: 136px;
 color: var(--blue);
 font-size: 16px;
 font-weight: 700;
 text-align: center;
}
.mvvNavi li a::after{
 content: "";
	display: block;
	border-bottom: 1px var(--blue) solid;
	border-right: 1px var(--blue) solid;
	width: 16px;
	height:16px;
 margin: 10px auto 0;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.mvvNavi li .num{
 border-radius: 50%;
 display: grid;
 place-content: center;
 background: var(--blue);
 width: 32px;
 height: 32px;
 margin: 0 auto 5px;
 color: #fff;
 font-size: 16px;
 font-weight: 500;
 line-height: 1;
}
.mvvNavi li span{
 display: block;
 font-size: 20px;
 line-height: 1.4;
}
.mvvNavi li a>span{
 margin-bottom: 5px;
}
.mvvNavi li span span{
 font-size: 14px;
}
#companyAbout .aboutBox{
 border-top: 2px #3ecaae solid;
 margin: 0 -20px;
 padding: 20px 20px 22px;
}
@media screen and (min-width: 769px) {
 #companyAbout .aboutBox{
  justify-content: flex-start;
  align-items: center;
  gap:0 36px;
 }
 #companyAbout .aboutBox .txts{
  width: calc(100% - 150px - 36px);
 }
}/*-PC only-*/
#companyAbout .aboutBox h3{
 background: url("../images/company/company_bg_mvv02.png") no-repeat left top/100% auto;
 width: 150px;
 height: 157px;
 padding: 20px 0 0;
 color: #fff;
 font-size: 24px;
 font-weight: 600;
 text-align: center;
 line-height: 30px;
}
#companyAbout .aboutBox h3 span{
 display: block;
}
#companyAbout .aboutBox h3.num{
 font-size: 22px;
}
#companyAbout .aboutBox h3 span:not(.num){
 font-size: 18px;
}

#companyAbout .aboutBox ul li{
 position: relative;
 padding: 0 0 0 16px;
 line-height: 1.8;
}
#companyAbout .aboutBox ul li::before{
 content: "";
 display: block;
 background-color: var(--blue);
  width: 5px;
  height: 6px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
 position: absolute;
 top: 0.7em;
 left: 0;
}
#companyAbout h3.bgGreen{
 padding: 0 11px;
 margin-bottom: 10px;
 color: #fff;
 line-height: 1.8;
}
.valueTxt{
 line-height:2;
}
.valueTxt span{
 margin: 0 5px;
 color: var(--green);
 font-size: 120%;
}
#companyAbout .action{
 gap:0 10px;
  justify-content: flex-start;
  margin-bottom: 30px
}
#companyAbout .action dt{
 width: 13em;
 line-height: 2.4;
  font-size: 16px;
}
#companyAbout .action.long dt{
  width: 24em;
}

#companyAbout .action dd span{
 margin: 0 5px;
 color: var(--green);
 font-size: 16px;
}
#companyAbout .message{
 margin-top: 55px;
}
@media screen and (min-width: 769px) {
#companyAbout .message .pcflex{
	align-items: center;
}
#companyAbout .message figure{
 width: 44%;
 max-width: 277px;
 } 
#companyAbout .message .txts{
 width: 51%;
 max-width: 320px;
 }
  #companyAbout .action dd{
 width: calc(100% - 15em - 10px);
 line-height:2;
}
  
    #companyAbout .action.long dd{
 width: 8em;
 line-height:2;
}

}/*-PC only-*/


@media screen and (max-width: 768px) {
.valueTxt span{
  display: block;
  margin-top: 10px;
  }
  #companyAbout .action dd {
    margin-bottom: 10px
  }
}/*-SP only-*/


#companyAbout .message h3{
 font-size: 24px;
 margin-bottom: 20px;
 line-height: 1.25;
  line-height: 1.6;
}
#companyAbout .message > h3{
	margin-left: auto;
	margin-right: auto;
}
#companyAbout .message p{
 line-height: 1.8;
}
#companyAbout .mvvlist{
  padding: 20px;
  background:rgba(186,208,184,0.6);
  border-radius: 20px;
  width: 100%
}
#companyAbout .mvvlist li{
  padding-left: 2.5em;
  display: flex;
  margin-bottom: 15px
}
#companyAbout .mvvlist li:before{
  content: '>>';
    color:var(--green);
  display: block;
}

/*----------------------------
     case   archive
-----------------------------*/
.newsNavi{
 display: flex;
 justify-content: center;
 gap:0 11px;
 border-bottom: 2px #4eb9f0 solid;
 margin-bottom: 10px;
}
.newsNavi li{
 width: 30%;
 max-width: 195px;
}
.newsNavi li a{
 display: grid;
 place-content: center;
 border: 2px #4eb9f0 solid;
 border-bottom: none;
 height: 50px;
 color: #4eb9f0;
 font-size: 16px;
}
.newsNavi li.tab_catcase a{
 border-color: #5885ea;
 color: #5885ea;
}
.newsNavi li.tab_catblog a{
 border-color: #37b099;
 color: #37b099;
}
/*.newsNavi li.tab_catdiy a{
 border-color: #73a508;
 color: #73a508;
}*/
.term-catnews .newsNavi li.tab_catnews a{
 background: #4eb9f0;
 color: #fff; 
}
.newsNavi li.tab_catnews.current a{
 background: #4eb9f0;
 color: #fff; 
}
.term-catblog .newsNavi li.tab_catblog a{
 background: #37b099;
 color: #fff; 
}
/*.term-catdiy .newsNavi li.tab_catdiy a{
 background: #73a508;
 color: #fff; 
}*/
.term-catcase .newsNavi li.tab_catcase a{
 background: #5885ea;
 color: #fff; 
}

@media screen and (min-width: 769px) {

}/*-PC only-*/
@media screen and (max-width: 768px) {

}/*-SP only-*/




/*----------------------------
    case    single
-----------------------------*/
.newsDetail h2{
 border-bottom: 2px var(--blue) solid;
 padding: 0 0 5px;
 margin-top: 14px;
 margin-bottom: 30px;
}
.newsDetail img{
 height: auto;
}
.newsDetail article p{
 margin-bottom: 1.5em;
}
@media screen and (min-width: 769px) {
.pickupimg{
 padding: 0 50px;
 margin-bottom: 30px;
}
}/* //end for PC */

.exampleImages{
 gap: 25px 25px;
}
.exampleImages li{
 width: calc((100% - 25px*3)/4);
}
.exampleImages li figure{
 height: 138px;
}
.exampleImages li figure img{
 object-fit: cover;
 width: 100%;
 height: 100%;
}
@media screen and (max-width: 768px) {
 .pickupimg{
  margin-bottom: 20px;
 }
.exampleImages{
 justify-content: space-between;
 gap: 25px 0;
}
 .exampleImages li{
  width: 48%;
 }
}/* //end for SP */
.box_diy {
 margin-bottom: 20px;
    padding: 10px;
    border: 1px solid #FD4403;
    background-color: #FFFFEC;
}
.diyImgBox{
 margin-bottom: 20px;
}
.diyImgBox > div{
 font-size: 14px;
}
.diyImgBox > div a{
	display: block;
	overflow: hidden;
	border:1px solid #d3d3d3;
	margin-bottom: 5px;
}
@media screen and (min-width: 769px) {
 .diyImgBox > div a{
	max-height: 143px;
 }
}/*-PC only-*/
.diyImgBox > div a:hover{
    border: 1px solid #FF6902;
}
.diyImgBox > div img{
	width: 100%;
	height: auto;
}

/*----------------------------
        contact
-----------------------------*/
#contact .contactBox{
 margin-bottom: 50px;
}
#contact .contactBox p + p{
 margin-top: 1em;
}
#contact foram table{}
#contact form table th{
 width: 30%;
}
#contact form input[type="text"], #contact form input[type="email"], #contact form textarea{
 width: 80%;
}
#contact form .mwform-tel-field input[type="text"]{
 width: auto;
} 
#contact .mw_wp_form .horizontal-item {
 margin-right: 45px;
}
#contact .mw_wp_form .horizontal-item + .horizontal-item{
 margin-left: 0px;
}
.formBtn{
 margin: 20px auto;
 text-align: center;
}
.formBtn input{
 padding: 5px 20px;
}
@media screen and (max-width:768px) {
#contact form table td,
#contact form table th,
#contact form table > *,
#contact form table tr{
		display: block;
		width: auto;
	}

#contact form input.tel{
		width: 20%
	}
 .mwform-checkbox-field.horizontal-item{
  margin: 0 0 5px;
  display: block;
 }

	}
	
/*----------------------------
        #link
-----------------------------*/
#link main .link_box td {
	padding: 10px;
	background-color: #FFFFF0;
	border: 1px solid #FF9501;
}
#link main .h3Ttl a {
	color: #fff;
}
#link main .h3Ttl a:hover{
	text-decoration: none;
}
#link main p a{
	color:#FF6801;
	text-decoration: underline;
}
pre {
  overflow: auto;
  white-space: normal;
	white-space: -moz-pdre-wrap; /* Mozilla */
  white-space: -pdre-wrap;     /* Opera 4-6 */
  white-space: -o-pdre-wrap;   /* Opera 7 */
  white-space: pdre-wrap;      /* CSS3 */
  word-wrap: break-word;      /* IE 5.5+ */
}

/*----------------------------
        #catalog
-----------------------------*/
#catalog_ul li {
	margin-bottom: 20px;
}
#catalog_ul li a{
	display: inline-block;
}
#catalog_ul li a img:hover{
	opacity: .7;
}

/*----------------------------
        #sitemap
-----------------------------*/
#sitemap .linkList{
	border: none;
}
#sitemap .linkList td{
	border: none;
	padding: 0 25px 0 0;
	vertical-align: top;
	width: 290px;
}
#sitemap .linkList td:not(:first-child){
	padding: 0 0 0 25px;
}
@media screen and (max-width: 768px) {
	#sitemap .linkList tr{
		display: flex;
		flex-wrap: wrap;
	}
	#sitemap .linkList td{
		padding-right: 0;
		width: 100%;
	}
	#sitemap .linkList td:not(:first-child){
		padding-left: 0;
	}
}/*spOnly*/
#sitemap .linkList h2{
	background-repeat: no-repeat;
	background-image: url(../images/common/sitemap_gimic.jpg);
	background-position: left center;
	border: 1px solid #CCCCCC;
	background-color: #FFFFFF;
	padding-top: 7px;
	padding-bottom: 7px;
	color: #343434;
	padding-left: 15px;
	font-size: 14px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 10px;
	margin-left: 0px;
	height: auto;
}
#sitemap .linkList h2 a:link,
#sitemap .linkList h2 a:visited{
	text-decoration:none;
	color: #343434;
}
#sitemap .linkList h2 a:hover{
	text-decoration:underline;
	color: #343434;
}
#sitemap .linkList h3{
	margin-bottom:10px;
	border-bottom:1px dotted #dadada;
	width: auto;
	padding-top: 4px;
	padding-right: 0px;
	padding-bottom: 8px;
	padding-left: 25px;
	background-image: url(../images/common/gimic_arrow1.gif);
	background-repeat: no-repeat;
	background-position: left 4px;
	color: #343434;
	line-height: 1em;
	margin-top: 0px;
	margin-left: 20px;
}
#sitemap .linkList h3 a{
	color: #343434;
	font-size: 13px;
	line-height: 1em;
}
#sitemap .linkList h3 a:link,
#sitemap .linkList h3 a:visited{
	color: #343434;
}
#sitemap .linkList h3 a:hover{
	color: #343434;
	text-decoration: underline;	
}

/*----------------------------
        
-----------------------------*/

/*----------------------------------------------------*/

@media screen and (max-width: 768px) {}/*-SP only-*/
@media screen and (min-width: 769px) {}/*-PC only-*/
