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;
vertical-align:baseline;
background:0 0;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{
display:block;
}
nav,ul{
list-style:none;
}
blockquote,q{
quotes:none;
}
blockquote:before,blockquote:after,q:before,q:after{
content:none;
}
ins{
text-decoration:none;
}
ins,mark{
background-color:#ff9;
color:#252525;
}
mark{
font-style:italic;
font-weight:700;
}
del{
text-decoration:line-through;
}
abbr[title],dfn[title]{
border-bottom:1px dotted;
cursor:help;
}
table{
border-collapse:collapse;
border-spacing:0;
}
hr{
display:block;
height:1px;
border:0;
border-top:1px solid #ccc;
margin:1em 0;
padding:0;
}
input,select{
vertical-align:middle;
}
html{
font-size: 100%;
}
body{
width:100%;
background:#fff;
color: #000000;
font-size: 0.625rem;
font-family: "Noto Sans JP", sans-serif;
-webkit-text-size-adjust: 100%;
line-height:1.5;
overflow-x: hidden;
}
a {
color:#000000;
outline:none;
text-decoration:none;
}
a:hover {
opacity:.7;
}
input[type="button"]:hover ,
input[type="submit"]:hover {
opacity:.7;
cursor:pointer;
}
img {
max-width:100%;
outline:none;
vertical-align:bottom;
}
.none{
display: none;
}

.clearfix:after {
display:block;
clear:both;
height:0px;
visibility:hidden;
content:".";
}
.clearfix {
min-height: 1px; /*IE6、7対策*/
}
* html .clearfix {
height: 1px;
/*\*//*/ /*MAC IE5.x対策*/
height: auto;
overflow: hidden;
/**/
}
/* .clearfix */

.pcHide {
display:none;
}

.title {
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.skip-link {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  background: #000;
  color: #fff;
  padding: 12px 16px;
  z-index: 100;
  text-decoration: none;
  font-size: 1rem;
  border-radius: 0 0 4px 0;
}
.skip-link:focus {
  transform: translateY(0);
}
.skip-link:focus-visible {
  outline: 3px solid #f83b00;
  outline-offset: 2px;
}

#wrap{
	position: relative;
	margin: 0 auto;
	text-align: center;
}

header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 140px;
	text-align: left;
	z-index: 2;
	transition: all .4s ease-out;
}
header.act{
	background: #fff;
}
header .logo{
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 140px;
	background: #fff;
	border-radius: 0 0 24px 0;
}
header ul{
	margin: 54px 310px 0 0;
	text-align: right;
}
header ul li{
	display: inline-block;
	margin-left: 30px;
	font-size: 20px;
	font-weight: bold;
}
header ul li a:hover{
	color: #f83b00;
}
header .btn{
	position: absolute;
	top: 30px;
	right: 30px;
	width: 250px;
}
header .btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 250px;
	height: 80px;
	border-radius: 40px;
	background: #f83b00;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
}
header .btn a:before{
	content: '';
	display: inline-block;
	width: 24px;
	height: 18px;
	margin-right: 20px;
	background: url(../img/ico01.png) no-repeat;
	vertical-align: middle;
}

#main{
	position: relative;
	background: url(../img/kv_bg.jpg) no-repeat;
}

#kv{
	padding-top: 140px;
	max-width: 1440px;
	margin: 0 auto;
	min-height: 630px;
	text-align: left;
}
#kv h1{
	padding: 80px 0 0 50px;
	font-size: 44px;
	font-weight: bold;
	line-height: 1.6;
}
#kv h1 .sizeL{
	font-size: 57px;
	color: #009944;
}
#kv h1 .line{
	padding-bottom: 10px;
	border-bottom: 1px solid #222222;
}
#kv h1 img{
	margin-top: 30px;
}
#kv .img{
	position: absolute;
	top: 140px;
	right: 0;
	width: 50%;
    min-width: 798px;
    height: 630px;
    overflow: hidden;
}
#kv .img img{
	width: 100%;
}
#kv .text{
	position: relative;
	width: 530px;
	margin: 45px 0 0 55px;
}
#kv .text .bg {
	display: inline-block;
	margin-bottom: 10px;
	padding: 2px 20px;
	background: linear-gradient(to left, #0a5765, #3b9965);
	border-radius: 10px;
	color: #fff;
	font-size: 24px;
	font-weight: 500;
}
#kv .text:after{
	content: '';
	position: absolute;
	top: -10px;
	right: 40px;
	width: 66px;
	height: 56px;
	background: url(../img/kv_ico.png) no-repeat;
}

.areabg{
	background: #f8f8fb;
}
h2.title{
	position: relative;
	text-align: center;
	margin-bottom: 40px;
	font-size: 35px;
}
h2.title:after{
	content: '';
	position: absolute;
	bottom: -15px;
	left: 0;
	right: 0;
	width: 32px;
	height: 5px;
	margin: 0 auto;
	background: #ff3d00;
}
.note{
	font-size: 14px;
}

#about{
	margin-top: 20px;
	padding-top: 75px;
	text-align: center;
	font-size: 24px;
}
#about h2 img{
	margin-right: 10px;
}
#about .list {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}
#about .list .box {
	width: 240px;
}
#about .list .box h3{
	color: #02893e;
	font-size: 24px;
	font-weight: bold;
}
#about .list .box h3 img{
	margin-bottom: 5px;
}
#about .list .box h3 span{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 3em;
}
#about .list .box p{
	margin: 10px 20px 0;
	font-size: 18px;
	text-align: left;
	line-height: 1.7;
}
#about .bg{
	height: 302px;
	margin-top: 80px;
	padding-top: 65px;
	background: url(../img/about_bg.jpg) no-repeat center top;
	background-size: cover;
	box-sizing: border-box;
}
#about .bg p{
	color: #ffffff;
	font-size: 36px;
	font-weight: bold;
}
#about .bg p .sizeL{
	font-size: 50px;
}
#about .bg p.note{
	margin-top: 40px;
	padding: 0 110px;
	text-align: right;
	font-size: 14px;
	font-weight: normal;
}

#merit {
	padding: 70px 0 100px;
	background: linear-gradient(to bottom, #e9eef4, #cce3f3);
}
#merit .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 1200px;
	margin: 40px auto 0;
	padding: 30px 0 55px;
	background: #fff;
	border-radius: 20px;
}
#merit .list .box {
	position: relative;
	width: 380px;
	min-height: 345px;
	margin-top: 35px;
	padding: 0 30px;
	box-sizing: border-box;
}
#merit .list .box:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	border-left: 1px dashed #a6b7c2;
}
#merit .list .box:nth-child(1):before,
#merit .list .box:nth-child(4)::before {
	display: none;
}
#merit .list .box h3{
	margin-bottom: 10px;
	color: #02893e;
	font-size: 24px;
	font-weight: bold;
}
#merit .list .box h3 img{
	display: block;
	margin: 0 auto 10px;
}
#merit .list .box p{
	font-size: 18px;
	text-align: left;
	line-height: 1.7;
}

#sample.sbg{
	padding-top: 70px;
}
#sample.sbg h2 img{
	top: -95px;
}
#sample .detail {
	margin-top: 60px;
}
#sample .detail dt{
	float: left;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 90px;
	width: 210px;
	background: #348fa3;
	text-align: center;
	font-size: 18px;
	border-radius: 12px 0 0 12px;
	color: #fff;
}
#sample .detail dd{
	display: flex;
	align-items: center;
	height: 90px;
	margin-bottom: 10px;
	padding-left: 50px;
	text-align: left;
	font-size: 18px;
	background: #fff;
	border-radius: 0 12px 12px 0;
	overflow: hidden;
}

.sbg{
	position: relative;
	width: 1200px;
	margin: 120px auto 0;
	padding: 50px 60px 70px;
	background: #f4f6f8;
	border-radius: 20px;
	box-sizing: border-box;
}
.sbg h2 br{
	display: none;
}
.sbg h2 img{
	position: absolute;
	top: -90px;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.sbg p {
	font-size: 20px;
}

.boxWrap{
	display: flex;
	justify-content: center;
	margin-top: 80px;
	column-gap: 30px;
}
.boxWrap .box{
	position: relative;
	width: 340px;
	padding: 95px 0 20px;
	background: linear-gradient(to bottom, #0a5765, #3b9965);
	border-radius: 12px;
	color: #fff;
}
.boxWrap .box h3{
	margin-bottom: 15px;
	font-size: 24px;
	font-weight: bold;
}
.boxWrap .box h3 img{
	position: absolute;
	top: -35px;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.boxWrap .box p{
	padding: 0 25px;
	font-size: 18px;
	text-align: left;
	line-height: 1.7;
}

.meritBox {
	position: relative;
	margin-top: 60px;
	padding: 0 50px 0 315px;
	border: 2px solid #177969;
	background: #fff;
	border-radius: 15px;
	box-sizing: border-box;
	border-radius: 8px;
}
.meritBox h3 {
	position: absolute;
	top: 120px;
	left: 55px;
	font-size: 35px;
	font-weight: bold;
}
.meritBox h3 span {
	position: relative;
	z-index: 2;
}
.meritBox h3 .en {
	position: absolute;
	top: 0;
	left: 0;
	color: #f8eae6;
	font-size: 70px;
	z-index: 1;
}
.meritBox ul {
	padding: 35px 0;
}
.meritBox li {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 80px;
	padding: 9px 0 9px 140px;
	text-align: left;
	font-size: 24px;
	border-bottom: 1px dashed #a6b7c2;
	box-sizing: border-box;
    font-weight: 500;
}
.meritBox li:last-child {
	border-bottom: none;
}
.meritBox li:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 95px;
	width: 29px;
	height: 29px;
	margin: auto 0;
	background: url(../img/ico02.png) no-repeat center top;
}
.meritBox li .num {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	height: 80px;
	margin: auto;
	color: #f8eae6;
	font-size: 60px;
	font-weight: bold;
}

.imgBox{
	height: 533px;
	margin-top: 100px;
	padding: 30px;
	background: url(../img/sample_bg.jpg) no-repeat center top;
	background-size: cover;
	text-align: left;
	font-size: 14px;
	box-sizing: border-box;
}

#editing .note{
	color: #618875;
}

#cbt .note{
	color: #618875;
}


#faq {
	width: 1200px;
	margin: 0 auto 0;
	padding-top: 90px;
	text-align: left;
}
#faq dt {
	position: relative;
	min-height: 42px;
	margin-top: 60px;
	border-top: 1px solid #9abbd1;
	padding: 40px 0 20px 60px;
	font-size: 22px;
	font-weight: 500;
}
#faq dt:first-child {
	border: none;
}
#faq dl .ico{
	position: absolute;
	top: 40px;
	left: 0;
	width: 42px;
	height: 42px;
	text-align: center;
	border-radius: 100%;
	font-size: 30px;
	line-height: 1;
	font-weight: normal;
	box-sizing: border-box;
}
#faq dt .ico{
	background: #49bb7c;
	color: #fff;
	border-radius: 100%;
}
#faq dd {
	position: relative;
	padding: 25px 60px 25px 100px;
	border-radius: 20px;
	background: #f4f6f8;
	font-size: 18px;
}
#faq dd .ico{
	top: 30px;
	left: 40px;
	border: 2px solid #49bb7c;
	background: #fff;
	color: #49bb7c;
}
#faq dd a{
	color: #007ed4;
	text-decoration: underline;
}


footer {
	position: relative;
	margin-top: 160px;
	padding-bottom: 35px;
}
footer .bg {
	position: absolute;
	top: -55px;
	left: 0;
	right: 0;
	width: 900px;
	margin: 0 auto;
	padding: 25px;
	background: #009944;
	color: #fff;
	font-size: 30px;
	font-weight: bold;
}
footer .bg .sizeL{
	font-size: 40px;
}
footer .contact {
	height: 408px;
	padding-top: 160px;
	background: url(../img/footer_bg.jpg) no-repeat center top;
	background-size: cover;
	text-align: left;
	color: #fff;
	box-sizing: border-box;
}
footer .contact .box{
	position: relative;
	width: 1080px;
	margin: 0 auto;
	padding: 30px 70px;
	border: 1px solid #fff;
	border-radius: 20px;
	box-sizing: border-box;
}
footer .contact p{
	font-size: 22px;
}
footer .contact .box a{
	color: #fff;
}
footer .tel,
footer .fax{
	display: inline-block;
	margin-right: 40px;
	font-size: 30px;
}
footer .tel:before,
footer .fax:before{
	content: '';
	display: inline-block;
	width: 22px;
	height: 32px;
	margin-right: 10px;
	background: url(../img/ico03.png) no-repeat center top;
	vertical-align: middle;
}
footer .fax:before{
	width: 27px;
	background: url(../img/ico04.png) no-repeat center top;
}
footer .btn{
	position: absolute;
	top: 0;
	bottom: 0;
	width: 350px;
	height: 100px;
	margin: auto 0;
	right: 70px;
}
footer .btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 350px;
	height: 100px;
	border-radius: 80px;
	background: #f83b00;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
}
footer .btn a:before{
	content: '';
	display: inline-block;
	width: 39px;
	height: 28px;
	margin-right: 20px;
	background: url(../img/ico05.png) no-repeat;
	vertical-align: middle;
}
footer .link{
	padding: 15px 25px;
	text-align: left;
	font-size: 16px;
}
footer .copyright{
	font-size: 20px;
}
.pagetop{
	position: fixed;
	right: 30px;
	bottom: 80px;
}

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

.pagetop {
    position: fixed;
    right: 10px;
    bottom: 10px;
    width: 60px;
}

.pcHide{
	display: block;
}
.spHide{
	display: none;
}

#wrap{
	width: 100%;
}

header {
	height: 60px;
}
header .logo {
    width: 89px;
    height: 58px;
	line-height: 12px;
}
header .logo img{
	height: 12px;
}
header .spBtn{
	position: absolute;
	top: 0;
	right: 0;
	width: 60px;
	z-index: 5;
    background: url(../img/btn_sp_close.png) no-repeat;
	background-size: contain;
}
header .spBtn.act img {
	opacity: 0;
}
header nav{
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	width: 260px;
	height: 100vh;
	background: #fff;
}
header ul{
	margin: 0;
	padding-top: 70px;
	text-align: left;
}
header ul li{
	display: block;
	margin: 0 14px;
	font-size: 18px;
	padding: 0;
	border-bottom: 1px dashed #a6b7c2;
}
header ul li a{
	display: block;
	padding: 18px 0;
}
header .btn {
	position: relative;
	top: 0;
	left: 0;
	width: 220px;
	margin: 32px auto 0;
}
header .btn a{
	width: 220px;
	height: 50px;
	font-size: 16px;
}
header .btn a:before{
	width: 21px;
	height: 15px;
	margin-right: 10px;
	background-size: contain;
}

#main {
    background: url(../img/kv_bg.jpg) no-repeat;
	background-size: 220px auto;
}
#kv {
    padding-top: 60px;
    min-height: 1em;
}
#kv h1{
	padding: 0 15px;
	font-size: 25px;
}
#kv h1 .sizeL{
	font-size: 32px;
}
#kv h1 .line{
	padding-bottom: 10px;
}
#kv h1 img{
	margin-top: 15px;
}
#kv .img{
	position: relative;
	top: 0;
	width: auto;
	min-width: inherit;
	height: auto;
	margin: 12px 0 0 15px;
}
#kv .text{
	width: auto;
	margin: 15px 0 0 15px;
}
#kv .text .bg {
    margin-bottom: 6px;
    padding: 2px 10px;
    font-size: 15px;
	border-radius: 5px;
}
#kv .text:after {
    top: -5px;
    right: 60px;
    width: 40px;
    background: url(../img/kv_ico.png) no-repeat;
	background-size: contain;
}

h2.title{
	margin-bottom: 25px;
	font-size: 20px;
}
h2.title:after {
    bottom: -12px;
    width: 21px;
    height: 4px;
}

#about{
	padding-top: 40px;
	font-size: 16px;
}
#about h2 img{
	width: 230px;
	margin-right: 6px;
}
#about .list{
	flex-wrap: wrap;
	justify-content: space-between;
	width: 364px;
	margin: 20px auto 0;
}
#about .list .box {
	width: 182px;
}
#about .list .box h3 {
	font-size: 19px;
}
#about .list .box h3 img{
	width: 150px;
}
#about .list .box p {
	margin: 5px 8px 0;
	font-size: 15px;
}
#about .bg {
    height: 240px;
	margin-top: 40px;
	padding-top: 30px;
    background: url(../img/about_bg_sp.jpg) no-repeat center top;
	background-size: cover;
	text-align: center;
}
#about .bg p{
	margin: 0 15px;
	color: #ffffff;
	font-size: 21px;
	font-weight: bold;
}
#about .bg p .sizeL{
	font-size: 29px;
}
#about .bg p.note{
	margin-top: 10px;
	padding: 0;
	text-align: left;
	font-size: 10px;
}

#merit {
	padding-top: 45px;
	padding-bottom: 25px;
}
#merit h2 img{
	width: 230px;
}

#merit .list {
	display: block;
	width: 345px;
	margin: 40px auto 0;
	padding-top: 10px;
	padding-bottom: 10px;
	border-radius: 10px;
}
#merit .list .box{
	width: auto;
	min-height: 1em;
	margin: 0 auto;
	padding: 20px 30px;
}
#merit .list .box:before{
	bottom: inherit;
	left: 30px;
	right: 30px;
	margin: 0 auto;
	border-top: 1px dashed #a6b7c2;
}
#merit .list .box:nth-child(4)::before{
	display: block;
}
#merit .list .box h3{
	font-size: 19px;
}
#merit .list .box h3 img{
	width: 140px;
	margin-bottom: 5px
}
#merit .list .box p{
	font-size: 15px;
}

.sbg{
	width: auto;
	margin: 70px 15px 0;
	padding: 50px 0 20px;
}
.sbg h2 img{
	top: -70px;
	height: 55px;
}
.sbg p{
	font-size: 16px;
}

.boxWrap{
	display: block;
	width: 265px;
	margin: 0 auto 0;
	padding-top: 20px;
}
.boxWrap .box{
	width: 265px;
	margin-top: 50px;
	padding-top: 70px;
	border-radius: 6px;
}
.boxWrap .box h3{
	font-size: 19px;
}
.boxWrap .box p{
	padding: 0 16px;
	font-size: 15px;
}
.boxWrap .box h3 img{
	width: 84px;
}

.meritBox{
	width: 320px;
	margin: 30px auto 0;
	padding: 20px 0 0;
	border: 1px solid #177969;
}
.meritBox h3{
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	text-align: center;
	font-size: 21px;
}
.meritBox h3 .en{
	margin: 0 auto;
	left: 0;
	right: 0;
	margin-left: 0.5em;
	font-size: 42px;
}
.meritBox ul{
	padding: 15px 0 10px;
}
.meritBox li{
	margin: 0 15px;
	padding: 5px 0 5px 78px;
	font-size: 17px;
}
.meritBox li .num{
	font-size: 35px;
}
.meritBox li:before{
	left: 50px;
	width: 19px;
	height: 19px;
	background-size: contain;
}

#sample.sbg{
	padding-top: 50px;
}
#sample.sbg h2 img {
    top: -70px;
}
#sample .detail{
	width: 320px;
	margin: 30px auto 0;
}
#sample .detail dt{
	float: none;
	width: auto;
	height: 48px;
	font-size: 15px;
	border-radius: 6px 6px 0 0;
}
#sample .detail dd{
	height: 80px;
	margin-bottom: 15px;
	padding: 0 15px;
	font-size: 15px;
	border-radius: 0 0 6px 6px;
}

.imgBox{
	height: 267px;
	margin-top: 50px;
	padding: 15px;
	background: url(../img/sample_bg_sp.jpg) no-repeat center top;
	background-size: cover;
	font-size: 12px;
}

#faq{
	width: auto;
	margin: 0 15px;
	padding-top: 50px;
}
#faq dl {
	margin-top: -20px;
}
#faq dt {
    min-height: 1em;
	margin-top: 25px;
	padding: 30px 30px 15px 40px;
	font-size: 17px;
}
#faq dl .ico{
	top: 30px;
	width: 30px;
	height: 30px;
	font-size: 20px;
	line-height: 24px;
}
#faq dd{
	padding: 20px 20px 20px 50px;
	font-size: 14px;
	line-height: 1.6;
}
#faq dd .ico{
	top: 17px;
	left: 10px;
	border: 1px solid #49bb7c;
}

footer{
	margin-top: 110px;
}
footer .bg{
	top: -65px;
	width: 330px;
	padding: 13px 0;
	font-size: 19px;
}
footer .bg .sizeL{
	font-size: 27px;
}
footer .contact {
	height: 358px;
	padding-top: 80px;
	background: url(../img/footer_bg_sp.jpg) no-repeat center top;
	background-size: cover;
}
footer .contact .box{
	width: 345px;
	padding: 25px 0 20px;
	text-align: center;
	border-radius: 10px;
}
footer .contact p{
	font-size: 16px;
}
footer .tel,
footer .fax{
	margin: 5px 0 0;
	font-size: 22px;
}
footer .tel:before,
footer .fax:before{
	height: 23px;
	background-size: contain;
}
footer .btn{
	position: relative;
	top: 0;
	left: 0;
	width: 245px;
	height: auto;
	margin: 15px auto 0;
}
footer .btn a{
	width: 245px;
	height: 50px;
	font-size: 15px;
}
footer .btn a:before{
	width: 20px;
	height: 15px;
	margin-right: 10px;
	background-size: contain;
}

footer .link{
	padding: 15px 25px;
	text-align: center;
	font-size: 12px;
}
footer .copyright{
	font-size: 15px;
}

}

#wrap {
  transform-origin: top left;
  --scale: 1;
  transform: scale(var(--scale));
}



@media screen and (min-width: 751px) and (max-width: 1440px) {
html{
	height: 100px;
}
body{
	height: 100px;
}
#wrap {
	width: 1440px;
	--scale: calc(100vw / 1440px);
}

header{
	height: 9.722vw;
}
header .logo{
	width: 13.888vw;
	height: 9.7222vw;
	border-radius: 0 0 1.666vw 0;
}
header .logo img{
	width: 9.027vw;
}
header ul{
	margin: 3.75vw 21.527vw 0 0;
}
header ul li{
	margin-left: 2.083vw;
	font-size: 1.388vw;
}
header .btn{
	top: 2.083vw;
	right: 2.083vw;
	width: 17.361vw;
}
header .btn a{
	width: 17.361vw;
	height: 5.555vw;
	font-size: 1.388vw;
}
header .btn a:before{
	width: 1.666vw;
	height: 1.25vw;
	margin-right: 1.388vw;
}

}