@charset "utf-8";


/*resetCSS*/
html{
font-size: 62.5%;
-webkit-text-size-adjust: 100%;
color:#1D1C1C;
background:#FFF;
}
body,div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
form,fieldset,input,textarea,
p,
th,td{
margin:0;
padding:0;
}
table{
border-collapse:collapse;
border-spacing:0;
}
fieldset,
img{ border:0; }
address,
caption,
em{
font-style:normal;
font-weight:normal;
}
ol,ul{ list-style:none; }
caption, th{ text-align:left; }
h1,h2,h3,h4,h5,h6{
font-size:100%;
font-weight:normal;
}
q:before,q:after{ content:''; }
abbr,acronym{
border:0;
font-variant:normal;
}
sup{ vertical-align:text-top; }
sub{ vertical-align:text-bottom; }
input,textarea,select{
font-family:inherit;
font-size:inherit;
font-weight:inherit;
*font-size:100%;
}
*{
margin:0;
padding:0;
}
strong,
th{ font-weight:bold;}

#content{ }
.section{
clear:both;
margin-bottom:30px;
}

body{
font-size:1.6rem;
font-family: "Noto Sans Japanese";
}

*, *:before, *:after{
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
-o-box-sizing:border-box;
-ms-box-sizing:border-box;
box-sizing:border-box;
}

h1{
font-size:6.2rem;
font-weight:bold;
margin-bottom:30px;
}
h2{
font-size:4.2rem;
font-weight:bold;
margin-bottom:1.5em;
}
h2 span{ }
h3{
font-size:24px;
font-weight:bold;
margin-bottom:15px;
}
h3 span{ }
h4{
font-size:95%;
font-weight:bold;
margin-bottom:15px;
}
h5{
font-size:90%;
font-weight:bold;
margin-bottom:10px;
}
p,ul,ol,dl{
font-size:16px;
margin-bottom:1.5em;
line-height:160%; }
.anchor a{ }

a{
text-decoration: none;
color: #235D9E;
}
a:hover{
text-decoration:underline;
}
a:hover img{
opacity: 0.7;
transition: all .3s;
}

/*clear Fix*/
.clearFix:after{
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}
.clearFix{
display:inline-table;
min-height:1%;
}
* html .clearFix{
height:1%;
}
.clearFix{
display:
block;
}
/* フォント指定
=========================================================================================== */
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/NotoSansCJKjp-Medium.woff2') format('woff2'),
	     url('../fonts/NotoSansCJKjp-Medium.woff') format('woff'),
	     url('../fonts/NotoSansCJKjp-Medium.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-Medium.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/NotoSansCJKjp-Bold.woff2') format('woff2'),
	     url('../fonts/NotoSansCJKjp-Bold.woff') format('woff'),
	     url('../fonts/NotoSansCJKjp-Bold.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-Bold.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/NotoSansCJKjp-Black.woff2') format('woff2'),
	     url('../fonts/NotoSansCJKjp-Black.woff') format('woff'),
	     url('../fonts/NotoSansCJKjp-Black.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-Black.eot') format('embedded-opentype');
}
/*--------------------ここまで-----------------------------------*/
/* Header Setting
=========================================================================================== */
#headerSet{
	position:fixed;
	top:0;
	left:0;
	width: 100%;
	height:76px;
	z-index:999;
	padding:0 4%;
	display: flex;
    justify-content: flex-end;
	align-items: center;
	background:#FFF;
	transition: all .3s;
}
#headerSet #headerLogoSet{
	margin-right:auto;
	display: flex;
    align-items: center;
}
#headerSet #headerLogoSet #headerLogo{
	margin-bottom: 0;
	font-size:14px;
	font-weight: normal;
	z-index: 9999;
}
#headerSet #headerLogoSet #headerLogo a{
	display: inline-block;
    transition: all .3s;
}
#headerSet #headerLogoSet #headerLogo a:hover{
    opacity: 0.7;
}





#headerSet #headerContactSet .headerContactBtnList{
	display: flex;
    margin-bottom: 0;
}
#headerSet #headerContactSet .headerContactBtnList li{
	display: flex;
	justify-content: center;
}
#headerSet #headerContactSet .headerContactBtnList li a{
	display: flex;
    align-items: center;
	justify-content: center;
	text-decoration:none;
	text-align:center;
    background: #00B900;
    color: #FFF;
	padding:0.5em 1.5em;
    border-radius: 3em;
	transition: all .3s;
}
#headerSet #headerContactSet .headerContactBtnList li a:hover{
	opacity:0.7;
}
#headerSet #headerContactSet .headerContactBtnList li.headerContact a:before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url(../images/icon_line.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 1em;
}

#wrapper{
    margin-top: 76px;
}
/* ALL Setting
=========================================================================================== */
/***メインビジュアル***/
/*#subContentsHead{
	background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
	margin-bottom:0;
}
#subContentsHead.newsHead{
	background-image:url(../images/news/mainvisual.jpg);
}
#subContentsHead.companyHead{
	background-image:url(../images/company/mainvisual.jpg);
}
#subContentsHead.serviceHead{
	background-image:url(../images/service/mainvisual.jpg);
}
#subContentsHead.franchiseHead{
	background-image:url(../images/franchise/mainvisual.jpg);
}
#subContentsHead.contactHead{
	background-image:url(../images/contact/mainvisual.jpg);
}


#subContentsHead .mainVisual{
	height: 40vh;
	position:relative;
	min-height: 320px;
	max-width: 1100px;
    margin: 0 auto;
}
#subContentsHead .mainVisual .mainTitle{
	font-size:4.8rem;
	white-space: nowrap;
	font-weight:900;
	margin-bottom:0;
	color:#000;
    text-align: center;
	position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    background: rgb(255,255,255,0.6);
    padding: 0.2em 1em;
}
#subContentsHead .mainVisual .mainTitle span{
    display: block;
    font-size: 16px;
    color: #235D9E;
}
*/

/**パンくず**/
/*#pathSet{
    background: #F2F2F2;
    padding: 1em 0;
}
#path{
	max-width:1100px;
	margin:0 auto;
	display: flex;
    align-items: center;
	justify-content: flex-start;
	font-size:14px;
	margin-bottom: 0;
}
#path li a{
	color:#235D9E;
}
#path li:after{
	content:"/";
	padding:0 1em;
}
#path li:last-child:after{
	content:none;
}
*/


article section{
	padding:60px 0;
	width:1100px;
	margin:0 auto;
}
main article:last-child section{
    padding-bottom: 100px;
}
.ttlStyle1{
    font-size: 3.6rem;
    font-weight: 900;
}
.ttlStyle1 span{
    color: #235D9E;
    display: block;
    font-size: 16px;
}
.ttlStyle2{
    font-size: 3.8rem;
    color: #FFF;
    font-weight: 900;
    background: #235D9E;
    padding: 0.2em 1em;
    clip-path: polygon(0 0%, 100% 0%, 94% 100%, 0% 100%);
    border-left: 14px solid #000;
    margin-bottom: 0.5em;
}
.subTtlStyle1{
    font-size: 2.4rem;
    color: #235D9E;
}
.textSmall{
    font-size: 14px;
}
.rightAdjust{
    text-align: right;
}
.centerAdjust{
    text-align: center;
}
.imgOnlyStyle img{
    max-width: 100%;
}
.anchor{
    display: block;
    padding-top: 100px;
    margin-top: -100px;
	pointer-events: none;
}
.bgPatternA{
    background: #F2F2F2;
}
.bgPatternB{
	background-image: url("../images/orange_bg.jpg");
	background-size: cover;
	background-position: center;
    background-repeat: no-repeat;
}
.btnStyle1 a{
	font-size:16px;
	text-decoration:none;
	background:#235D9E;
	display:inline-block;
	padding:1em 2em;
	color:#FFF;
	min-width: 280px;
    border-radius: 3em;
	text-align: center;
	transition: all .3s;
	position:relative;
}
.btnStyle1 a:before {
    content: "";
    display: inline-block;
    background-image: url(../images/icon_arrow_w.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 50%;
    right: 1.5em;
    transform: translateY(-50%);
}
.btnStyle1 a:hover{
	opacity: 0.7;
}
.LineBtn a{
	font-size:16px;
	text-decoration:none;
	background:#00B900;
	display:inline-block;
	padding:1em 2em;
    text-align: center;
	color:#FFF;
	min-width: 280px;
    border-radius: 3em;
	transition: all .3s;
}
.LineBtn a:hover{
    opacity: 0.7;
}
.listStyle1{
    list-style: disc;
    padding-left: 1em;
}


/* foam Setting
=========================================================================================== */
.introColumnSet{
    display: flex;
    flex-wrap: wrap;
}
.introColumnSet .introColumnImg{
    width: 42%;
}
.introColumnSet .introColumnText{
    width: 54%;
    margin-left: 4%;
}

.contactTable1{
	width:100%;
	margin-bottom:3em;
}
.contactTable1 th,
.contactTable1 td{
	padding:1em 0;
}
.contactTable1 input[type="text"],
.contactTable1 input[type="tel"],
.contactTable1 input[type="email"],
.contactTable1 input[type="url"],
.contactTable1 select,
.contactTable1 textarea{
	width: 100%;
    padding:1em;
	border:2px solid #000;
}
.contactTable1 select{
	height:4em;
}
.contactTable1 .areaCheckList li{
    margin-bottom: 0.5em;
}
.contactTable1 .areaLink{
    font-size: 14px;
}
.contactTable1 .detailList li{
    margin-bottom: 0.5em;
}
input[type=checkbox]:checked + .checkboxStyle::after {
    opacity: 1;
}
input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
}


/***送信ボタン****/
.formBtn1{
	display: flex;
    align-items: center;
    justify-content: center;
}
.formBtn1 li{
	margin-left:2%;
	margin-right:2%;
}
.formBtn1 input{
	min-width:320px;
	display:block;
	font-size:16px;
	padding:2em 2.5em;
	color: #fff;
    background: #235D9E;
	border:none;
    border-radius: 3em;
    transition: all .3s;
}
.formBtn1 input[type="submit"]:hover{
	opacity: 0.7;
	cursor : pointer;
}

/***確認・完了画面****/
.checkFormBtnSet ul{
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
	/*margin:2em 0;*/
}
.checkFormBtnSet ul li{
	margin:0 1em;
}
.checkFormBtnSet ul .checkFormBtn{
	background:#235D9E;
	color:#FFF;
	font-size:16px;
	padding:1.5em 4em;
    border-radius: 3em;
	border: none;
    cursor: pointer;
	transition: all .3s;
}
.checkFormBtnSet ul .checkFormBtn:hover{
	opacity: 0.7;
}
/*.contactColumnSet{
    display: flex;
}
.contactColumnSet .contactColumn2{
    width: 48%;
    margin-left: 4%;
    text-align: center;
    border: 2px solid #2CBB99;
    border-radius: 40px;
    padding: 2em 4%;
}
.contactColumnSet .contactColumn2:first-child{
    margin-left: 0;
}
.contactColumnSet .contactColumn2 h3{
    background: #2CBB99;
    padding: 0.5em 2em;
    font-size: 20px;
    color: #FFF;
    border-radius: 3em;
    margin-bottom: 1.5em;
}
.contactColumnSet .contactColumn2 .tel{
    font-size: 2.8rem;
    display: inline-block;
    margin-bottom: 1em;
    color: #333;
    font-weight: bold;
    transition: all .3s;
}
.contactColumnSet .contactColumn2 .tel span{
    display: flex;
    align-items: center;
    justify-content: center;
}
.contactColumnSet .contactColumn2 .tel span:before{
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 24px;
    height: 24px;
    margin-right: 0.5em;
    background-image: url(../images/icon_tel.svg);
}
.contactColumnSet .contactColumn2 p{
    margin-bottom: 0;
}


.contactTable1{
	font-size:16px;
	width:100%;
	margin-bottom:3em;
}
.contactTable1 th,
.contactTable1 td{
	padding:1em 0;
}
.contactTable1 input[type="text"],
.contactTable1 input[type="email"],
.contactTable1 select,
.contactTable1 textarea{
	width: 100%;
    padding:1em;
	border:2px solid #2CBB99;
	border-radius: 10px;
}
.contactTable1 .mwform-tel-field input[type="text"]{
	width:20%;
}
.contactTable1 select{
	height:4em;
}
.contactTable1 .required{
	font-size:14px;
	font-weight:normal;
	background:#2CBB99;
	margin-left:0.5em;
	color:#FFF;
	display:inline-block;
	padding:0 0.5em;
	border-radius: 4px;
}
input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
}*/





/*
.formTable{
    font-size: 16px;
	width:100%;
	margin-bottom:1em;
}
.formTable th,
.formTable td{
	padding:1em 0;
}
.formTable input[type="text"],
.formTable input[type="tel"],
.formTable input[type="email"],
.formTable select,
.formTable textarea{
	width: 100%;
    padding:1em;
	border:2px solid #007998;
	border-radius: 10px;
}
.formTable select{
	height:4em;
}
.formTable input.whalf{
	width:auto;
	margin-right:1em;
}
.formTable .required{
    color: #C50303;
}
input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
}
*/
/***送信ボタン****/
/*.formBtn1{
	text-align:center;
}
.formBtn1 #submit_button{
	background: #007998;
	color:#FFF;
	font-size:18px;
	font-weight:bold;
	padding:1.5em 4em;
	border: none;
    cursor: pointer;
}
.formBtn1 #submit_button:hover{
	opacity: 0.7;
	transition: all .3s;
}*/
/***確認・完了画面****/
/*.checkFormBtnSet ul{
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
	margin:2em 0;
}
.checkFormBtnSet ul li{
	margin:0 1em;
}
.checkFormBtnSet ul .checkFormBtn{
	background:#007998;
	color:#FFF;
	font-size:18px;
	font-weight:bold;
	padding:1.5em 4em;
	border: none;
    cursor: pointer;
	transition: all .3s;
}
.checkFormBtnSet ul .checkFormBtn:hover{
	opacity: 0.7;
}
*/
/* =========================================================
	index Setting
========================================================= */
.templateList{
    display: flex;
    flex-wrap: wrap;
}
.templateList li{
    width: 48%;
    margin-left: 4%;
    text-align: center;
    margin-bottom: 4em;
}
.templateList li:nth-child(2n+1){
    margin-left: 0;
}
.templateList li h3{
    font-size: 24px;
    color: #235D9E;
    border-bottom: 6px solid #235D9E;
    border-top: 6px solid #235D9E;
    padding: 1em 0;
}
.templateList li .imgOnlyStyle{
    margin-bottom: 0;
}
.templateList li .imgOnlyStyle + p{
    margin-bottom: 0.5em;
}




.freeBox{
    background: #EEEEEE;
    padding: 2em 4%;
}
.freeBox .freeBoxColumnSet{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.freeBox .freeBoxColumnSet .freeBoxColumnImg{
    width: 330px;
}
.freeBox .freeBoxColumnSet .freeBoxColumnImg p{
    background: #FFF;
    border: 4px solid #000;
    width: 330px;
    height: 330px;
    margin-bottom: 0;
    position: relative;
}
.freeBox .freeBoxColumnSet .freeBoxColumnImg p span{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    font-size: 24px;
}
.freeBox .freeBoxColumnSet .freeBoxColumnText{
    width: calc(96% - 330px);
    margin-left: 4%;
}
.freeBox .freeBoxColumnSet .freeBoxColumnText h3{
    margin-bottom: 0;
}

/***introContents***/
.topIntroContents .topIntroTtl{
    font-size: 4.2rem;
    font-weight: 900;
    text-align: center;
}
.topIntroContents p{
    font-size: 20px;
}

/***topServiceContents***/
.topServiceContents .topServiceList{
	display: flex;
    flex-wrap: wrap;
	margin-bottom:4em;
}
.topServiceContents .topServiceList li{
	width:30%;
	margin-left:5%;
	text-align:center;
	font-size:2.4rem;
    margin-bottom: 2em;
}
.topServiceContents .topServiceList li:nth-child(3n+1){
    margin-left: 0;
}
.topServiceContents .topServiceList li a{
    color: inherit;
    text-decoration: none;
}
.topServiceContents .topServiceList li .imgOnlyStyle{
	margin-bottom:0.5em;
}
.topServiceContents .topServiceList li img{
	width:100%;
}
/***topStrengthContents***/
.topStrengthContents,
.topStrengthContents .ttlStyle1 span{
    color: #FFF;
}

.topStrengthContents .strengthList li.typeA{
	display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
	margin-bottom: 2em;
}
.topStrengthContents .strengthList li.typeB{
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    flex-wrap: wrap;
	margin-bottom: 2em;
}

.topStrengthContents .strengthList li:last-child{
	margin-bottom:0;
}
.topStrengthContents .strengthList li.typeA .columnText{
	width:48%;
    margin-left:4%;
}
.topStrengthContents .strengthList li.typeA .columnImg{
	width:48%;
}
.topStrengthContents .strengthList li.typeB .columnText{
	width:48%;
}
.topStrengthContents .strengthList li.typeB .columnImg{
	width:48%;
    margin-left:4%;
}
.topStrengthContents .strengthList li .columnImg img{
	width:100%;
}
.topStrengthContents .strengthList li .columnText h3{
    font-size: 24px;
    line-height: normal;
    margin-bottom: 1.5em;
}



/***topFlowContents***/
.topFlowContents .topFlowList{
	display: flex;
	justify-content: flex-start;
    flex-wrap: wrap;
}
.topFlowContents .topFlowList li{
	width:calc(25% - 3px);
	margin-left:4px;
	background:#FFF;
	padding:60px 1em 1em;
	position:relative;
}
.topFlowContents .topFlowList li:nth-child(4n+1){
	margin-left:0;
}
/*.topFlowContents .topFlowList li:after{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 0 40px 30px;
	border-color: transparent transparent transparent #000000;
	position: absolute;
	top: 42%;
	right:0;
	transform: translateY(-50%) translateX(50%);
	z-index:1;
}
.topFlowContents .topFlowList li:last-child:after{
	content:none;
}*/
.topFlowContents .topFlowList li span{
	height:72px;
	width:72px;
	border-radius:50%;
	line-height:72px;
	text-align:center;
	background:#000000;
	color:#FFF;
	display:inline-block;
	font-size:42px;
	font-weight:bold;
	position:absolute;
	top:0;
	left:50%;
	transform: translateY(-50%) translateX(-50%);
}
.topFlowContents .topFlowList li h3{
	color:#000000;
	text-align:center;
	font-size:2.0rem;
	display:table;
	width:100%;
}
.topFlowContents .topFlowList li h3 strong{
	display:table-cell;
	vertical-align:middle;
}
.topFlowContents .topFlowList li .imgOnlyStyle{
	text-align:center;
}

/***topAccessContents***/
.topAccessContents .areaList{
    margin-bottom: 2em;
}
.topAccessContents .areaList dt{
    font-size: 28px;
    font-weight: 900;
    margin-bottom: 1em;
}
.topAccessContents .areaList dt:before{
    content: "■";
    color: #235D9E;
    margin-right: 0.5em;
}
.topAccessContents .accessColumnSet{
    display: flex;
    flex-wrap: wrap;
}
.topAccessContents .accessColumnSet .accessColumnL{
    width: 48%;
}
.topAccessContents .accessColumnSet .accessColumnR{
    width: 48%;
    margin-left: 4%;
}

/* footer Setting
=========================================================================================== */
footer #footerArea{
	background:#235D9E;
	text-align:center;
	padding:40px 0 20px;
	color:#FFF;
}
footer #footerArea #footerLogo{
	margin-bottom:0.5em;
    font-size: 24px;
    font-weight: 900;
}
footer #footerArea #footerLogo a{
	display:inline-block;
    color: #FFF;
}
footer #copy{
	font-size:14px;
	padding:0.5em 0;
	text-align:center;
	color:#FFF;
	margin-bottom:0;
}
/* After Setting
=========================================================================================== */
.mt0{margin-top:0;}
.mt20{margin-top:20px;}
.ml0{ margin-left:0;}
.mr2{ margin-right:2em;}
.mb0{margin-bottom:0;}
.mb20{margin-bottom:20px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}
.mb100{margin-bottom:100px;}
.mb2{margin-bottom:2em;}
.mb3{margin-bottom:3em;}
.mb6{margin-bottom:6em;}
.pb0{ padding-bottom:0;}
.pb20{ padding-bottom:20px;}
.pr20{ padding-right:20px;}
.vat{ vertical-align:top;}
.vam{ vertical-align:middle;}