@charset "utf-8";
/* CSS Document */


/* font
=========================================== */

@font-face {/*NotoSansJP*/
  font-family: 'NotoSansJP';
  src: url('../fonts/font/NotoSansJP-Medium.otf');
  src:
  url('../fonts/font/NotoSansJP-Medium.woff2') format('woff2'),
  url('../fonts/font/NotoSansJP-Medium.woff') format('woff'),
  url('../fonts/font/NotoSansJP-Medium.ttf') format('TrueType');
	font-weight: 500;
}

@font-face {/*NotoSansJP*/
  font-family: 'NotoSansJP';
  src: url('../fonts/font/NotoSansJP-Bold.otf');
  src:
  url('../fonts/font/NotoSansJP-Bold.woff2') format('woff2'),
  url('../fonts/font/NotoSansJP-Bold.woff') format('woff'),
  url('../fonts/font/NotoSansJP-Bold.ttf') format('TrueType');
	font-weight: 700;
}

@font-face {/*NotoSansJP*/
  font-family: 'NotoSansJP';
  src: url('../fonts/font/NotoSansJP-ExtraBold.otf');
  src:
  url('../fonts/font/NotoSansJP-ExtraBold.woff2') format('woff2'),
  url('../fonts/font/NotoSansJP-ExtraBold.woff') format('woff'),
  url('../fonts/font/NotoSansJP-ExtraBold.ttf') format('TrueType');
	font-weight: 800;
}

@font-face {/*NotoSerifJP*/
  font-family: 'Roboto';
  src: url('../fonts/font/Roboto-Bold.otf');
  src:
  url('../fonts/font/Roboto-Bold.woff2') format('woff2'),
  url('../fonts/font/Roboto-Bold.woff') format('woff'),
  url('../fonts/font/Roboto-Bold.ttf') format('TrueType');
	font-weight: 700;
}

/* Link
=========================================== */

a:link, a:visited {
	color: #0B0B0B;text-decoration: none;
}
a:hover, a:active {
	color: #0B0B0B;text-decoration: underline;
}
a {
	outline: none;transition: 0.3s;
}
a img {transition: 0.3s;}

:focus { outline: none;}

/* LAYOUT
=========================================== */
html.showPage,
html.showPage body{min-width: 1200px;}

body {
	color: #0B0B0B;
	background-color: #fff;
	background-image: linear-gradient(#F7F7F7 1px, transparent 1px), linear-gradient(90deg, #F7F7F7 1px, transparent 1px);
  	background-size: 63px 63px;
	font-size:16px;
	line-height:1.6;
	font-family: 'NotoSansJP',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 500;
    font-style: normal;
	overflow:hidden;
	max-width:1920px;
	margin:0 auto;
}

h1,h2,h3,h4,h5,h6 {font-weight:700;}
body,li,th,td,p,dt,dd{}
body#tinymce{min-width:inherit!important;}

p {}
.wrap {width: 1100px;margin:0 auto;position:relative;}
table {width:100%;}
img {max-width:100%;height:auto;}

/*共通設定*/
.btn01 {width:360px;height:80px;display:table;margin:0 auto;}
.btn01 a {display:table-cell;vertical-align:middle;text-align:center;font-weight:bold;text-decoration:none;background:#fff;border:2px solid #0B0B0B;border-radius:40px;overflow:hidden;position:relative;}
.btn01 a span {position:relative;z-index: 2;}
.btn01 a:hover {color:#fff;}

.btn01 a::before {content:"";background:url("../img/common/btn01.svg") no-repeat;width:20px;height:20px;background-size:contain;position:absolute;top:0;bottom:0;right:24px;margin: auto;z-index: 2;}
.btn01 a:hover::before {background:url("../img/common/btn01_h.svg") no-repeat;}
.btn01 a::after {content:"";display:block;width:100%;height:100%;position:absolute;top:0;left:0;background:#0B0B0B;transform-origin:100% 50%;scale:0 1;transition:scale 0.3s ease;}
.btn01 a:hover::after {transform-origin:0% 50%;scale:1 1;}

.btn02 a {background:#CC522F;color:#fff;}
.btn02 a::after {background:#C04420;}

.btn01.blank a span {padding-left:32px;display:inline-block;background:url("../img/common/blank.svg") no-repeat center left;}
.btn01.blank a::before {content:none;}
.btn01.blank a:hover span {background:url("../img/common/blank_h.svg") no-repeat center left;}

.title01 {line-height:1;text-align:center;}
.title01 .p_fuki01 {font-weight:bold;margin-bottom:17px;}
.title01 .p_fuki01 .waku {display: inline-block;padding:8px 16px;background:#0B0B0B;border-radius:40px;position:relative;color:#fff;}
.title01 .p_fuki01 .waku::after {content:"";width:21px;height:9px;background:url("../img/common/p_fuki01.svg") no-repeat;background-size:contain!important;position:absolute;left:0;right:0;bottom:-9px;margin:auto;}
.title01 .p_fuki01 .big {color: #FFE476;font-size: 26px;line-height: 0;position: relative;top: -1px;margin-right: 4px;z-index:2;}
.title01 .p_fuki01 .big::before {content: attr(data-text);position: absolute;color: #0B0B0B;z-index: -1;-webkit-text-stroke: 3px #0B0B0B;top:-3px;margin: auto;line-height: normal;white-space: nowrap;}


.title01 h2 {font-size:48px;}

.title01 .p_fuki02 {font-weight:bold;margin-bottom:17px;font-size:18px;}
.title01 .p_fuki02 .waku {display: inline-block;padding:8px 16px;background:#0D784F;border-radius:40px;position:relative;color:#fff;}

/*ウェブフォント*/
.tcenter {text-align: center;}
.tright {text-align: right;}
.roboto {font-family: 'Roboto';font-weight:bold;}

/*色*/
.shiro {color:#fff;}
.orange {color:#CC522F;}
.yellow {color:#FFDC50;}
.ao {color:#3374B7;}
.mt20 {margin-top: 20px;}

.flex{width: 100%;
    margin: 0 ;
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

/* header */
/*-------------------------------------------*/
#header {width:100%;max-width: 1920px;position:fixed;transition: 0.3s;left:0;right: 0;top:0;margin: auto;z-index: 100;background:#fff;border-bottom:1px solid #0B0B0B;}
#header .header_inner {justify-content:space-between;box-sizing:border-box;}
#header .header_inner .left {padding:7px 0 0 16px;position: relative;z-index: 2;}
#header .header_inner .left .p01 {font-size:13px;line-height:1;margin-bottom:8px;}
#header .header_inner .left .logo {}
#header .header_inner .right {width:auto;}
#header .header_inner .right .h_btn01 {width:134px;height:64px;display:table;}
#header .header_inner .right .h_btn01 a {display:table-cell;vertical-align:middle;background:url("../img/common/h_btn01.svg") no-repeat center right 12px #0F8B5C;text-decoration:none;color:#fff;font-size:18px;line-height:1.4;font-weight:bold;padding-left:12px;}
#header .header_inner .right .h_btn01 a:hover {background:url("../img/common/h_btn01.svg") no-repeat center right 12px #0E724C;}

#header .header_inner .right .h_btn02 {width: 250px;height: 64px;display: table;}
#header .header_inner .right .h_btn02 a {display:table-cell;vertical-align:middle;text-decoration:none;color:#fff;background:url("../img/common/h_btn01.svg") no-repeat center right 12px #CC522F;}
#header .header_inner .right .h_btn02 a:hover {background:url("../img/common/h_btn01.svg") no-repeat center right 12px #C04420;}
#header .header_inner .right .h_btn02 a .h_btn02_in {align-items:center;font-size:22px;line-height:1.2;}
#header .header_inner .right .h_btn02 a .h_btn02_in .h_btn02_01 {width:40px;height: 64px;display: flex;justify-content: center;align-items: center;background:#C04420;}
#header .header_inner .right .h_btn02 a .h_btn02_in .h_btn02_02 {width:calc(100% - 40px);box-sizing:border-box;padding-left:12px;}

.nav-btn {width: 80px;height:64px;display: table;position:relative;z-index: 1;}
.nav-btn span {display:table-cell;vertical-align:bottom;text-align:center;background:#132B51;font-size:14px;font-weight:bold;padding-bottom:11px;color:#fff;cursor:pointer;line-height:1;transition: 0.3s;}
.nav-btn:hover span {background:#091527;}
.nav-btn:before{content:"";width:40px;height:2px;background: #fff;position: absolute;top:9px;left:0;right:0;margin:auto;transition: 0.3s;border-radius:1px;box-shadow: 0 10px 0 0 #fff;}
.nav-btn:after{content:"";width:40px;height:2px;background: #fff;position: absolute;top:29px;left:0;right:0;margin:auto;transition: 0.3s;border-radius:1px;}

.nav-btn.on:before {transform: rotateZ(45deg);top: 20px;width:31px;box-shadow: none!important;}
.nav-btn.on:after {transform: rotateZ(-45deg);top: 20px;width:31px;}

.nav-box {position:fixed;top:0;left:0;width:100%;background:#fff;padding:0;height:0;transition:0.5s;overflow:hidden;}
.nav-box.on {height:auto;padding:100px 0;}

.nav-box .nav-box_in {justify-content:space-between;}
.nav-box .nav-box_in .gnav {width:auto;}
.nav-box .nav-box_in .gnav ul {margin-right:60px;}
.nav-box .nav-box_in .gnav ul:last-child {margin-right:0;}
.nav-box .nav-box_in .gnav ul li {margin-bottom:24px;}
.nav-box .nav-box_in .gnav ul li:last-child {margin-bottom:0;}
.nav-box .nav-box_in .gnav ul li a {text-decoration:none;font-weight:bold;line-height:1;}
.nav-box .nav-box_in .gnav ul li a .eng {font-family: 'Roboto';margin-bottom:8px;font-size:14px;text-transform:uppercase;}
.nav-box .nav-box_in .gnav ul li a .jap {font-size:20px;padding-left:24px;background:url("../img/common/jap.svg") no-repeat center left;}
.nav-box .nav-box_in .gnav ul li a:hover {color:#3374B7;}
.nav-box .nav-box_in .gnav ul li a:hover .jap {background:url("../img/common/jap_h.svg") no-repeat center left;}

.nav-box .nav-box_in .nav-box_info {text-align:center;}
.nav-box .nav-box_in .nav-box_info .tel {}
.nav-box .nav-box_in .nav-box_info .tel a {font-size:40px;line-height:1;}
.nav-box .nav-box_in .nav-box_info .tel a span {display:inline-block;padding-left:62px;background:url("../img/common/tel.svg") no-repeat center left;}
.nav-box .nav-box_in .nav-box_info .time {font-weight:bold;}
.nav-box .nav-box_in .nav-box_info .time span {display:inline-block;margin:0 6px;}

.h_contact01 {width:320px;height:64px;display:table;margin:24px auto 10px;}
.h_contact01 a {display:table-cell;vertical-align:middle;text-align:center;font-size:18px;font-weight:bold;text-decoration:none;color:#fff;background:#CC522F;border:2px solid #0B0B0B;border-radius:40px;overflow:hidden;position:relative;}
.h_contact01 a span {position:relative;z-index: 2;}

.h_contact01 a::before {content:"";background:url("../img/common/btn01.svg") no-repeat;width:20px;height:20px;background-size:contain;position:absolute;top:0;bottom:0;right:24px;margin: auto;z-index: 2;}
.h_contact01 a::after {content:"";display:block;width:100%;height:100%;position:absolute;top:0;left:0;background:#C04420;transform-origin:100% 50%;scale:0 1;transition:scale 0.3s ease;}
.h_contact01 a:hover::after {transform-origin:0% 50%;scale:1 1;}


.h_contact02 {width:320px;height:64px;display:table;margin:0 auto;}
.h_contact02 a {display:table-cell;vertical-align:middle;text-align:center;font-size:18px;font-weight:bold;text-decoration:none;background:#fff;border:2px solid #0B0B0B;border-radius:40px;overflow:hidden;position:relative;}
.h_contact02 a span {position:relative;z-index: 2;display: inline-block;padding-left: 32px;background: url("../img/common/mail.svg") no-repeat bottom 1px left;}
.h_contact02 a:hover {color:#fff;}
.h_contact02 a:hover span {background: url("../img/common/mail_h.svg") no-repeat bottom 1px left;}

.h_contact02 a::before {content:"";background:url("../img/common/btn01.svg") no-repeat;width:20px;height:20px;background-size:contain;position:absolute;top:0;bottom:0;right:24px;margin: auto;z-index: 2;}
.h_contact02 a:hover::before {background:url("../img/common/btn01_h.svg") no-repeat;}
.h_contact02 a::after {content:"";display:block;width:100%;height:100%;position:absolute;top:0;left:0;background:#0B0B0B;transform-origin:100% 50%;scale:0 1;transition:scale 0.3s ease;}
.h_contact02 a:hover::after {transform-origin:0% 50%;scale:1 1;}

#header::before {content: "";width: 100vw;height: calc(100vw - 64px);background: rgba(0,0,0,0.64);position: fixed;top: 64px;left: 0;visibility: hidden;opacity: 0;transition: 0.3s;overflow: auto;box-sizing: border-box;}
#header.active::before {visibility: visible;opacity: 1;}

/* main */
/*-------------------------------------------*/
#main {margin-top:64px;}
#main.home_main {background:url("../img/main/main.png") no-repeat center top;background-size:1920px;position:relative;height:560px;padding-top:40px;box-sizing:border-box;}
#main.home_main .home_main_in {width:680px;margin: 0 auto;}
#main.home_main .home_main_in .cnt01 {margin-bottom:24px;position:relative;}
#main.home_main .home_main_in .cnt01 h3 {font-size:24px;line-height:1;margin-bottom:12px;}
#main.home_main .home_main_in .cnt01 h3 span {font-size:22px;line-height:1;padding:6px 6px 8px;color:#fff;background:#CC522F;display:inline-block;margin-right:4px;border-radius:5px;}
#main.home_main .home_main_in .cnt01 .maru {width:140px;position:absolute;top:28px;left:-45px;}
#main.home_main .home_main_in .cnt01 h2 {width:564px;margin:0 auto;position:relative;left:20px;z-index:2;}
#main.home_main .home_main_in .box_list {justify-content:center;margin-bottom:40px;position:relative;}
#main.home_main .home_main_in .box_list::before {content:"";background:url("../img/common/batsu.svg") no-repeat;width:19px;height:20px;background-size:contain;position:absolute;inset:0;margin: auto;}


#main.home_main .home_main_in .box_list .box {width:260px;margin-right:42px;border:2px solid #0B0B0B;border-radius:10px;box-sizing:border-box;overflow:hidden;}
#main.home_main .home_main_in .box_list .box:last-child {margin-right:0;}
#main.home_main .home_main_in .box_list .box h4 {font-size:22px;font-weight:800;color:#fff;line-height:48px;}

#main.home_main .home_main_in .box_list .box01 {background:#EFFFF9;}
#main.home_main .home_main_in .box_list .box01 h4 {background: repeating-linear-gradient(-45deg,#0F8B5C 0,#0F8B5C 9px,#0D915F 9px,#0D915F 18px);}
#main.home_main .home_main_in .box_list .box01 .box_in {padding:15px 0 25px;font-size:30px;line-height:1.35;color:#14513A;font-weight:800;}
#main.home_main .home_main_in .box_list .box01 .box_in .mini {font-size:24px;}

#main.home_main .home_main_in .box_list .box02 {background:#EFF7FF;}
#main.home_main .home_main_in .box_list .box02 h4 {background: repeating-linear-gradient(-45deg,#31659C 0,#31659C 9px,#366CA4 9px,#366CA4 18px);}
#main.home_main .home_main_in .box_list .box02 .box_in {padding:14px 0 18px;font-size:22px;line-height:1.35;color:#1E4974;font-weight:800;}
#main.home_main .home_main_in .box_list .box02 .box_in .mini {font-size:18px;}
#main.home_main .home_main_in .box_list .box02 .box_in .mini.ls {letter-spacing: -0.4em;}

#main.home_main .home_main_in .cnt02 {position:relative;padding-left:80px;}
#main.home_main .home_main_in .cnt02 .text01 {font-size:20px;line-height:1.4;font-weight:800;}
#main.home_main .home_main_in .cnt02 .text01 .big {font-size:24px;}
#main.home_main .home_main_in .cnt02 .img {width:252px;position:absolute;top:-98px;left:470px;}


/* 下層 main */
/*-------------------------------------------*/
#main.kasou {padding:94px 0;background:#3374B7;position:relative;line-height:1;text-align:center;}
#main.kasou .eng {font-size:160px;font-family: 'Roboto';font-weight: bold;color:#3577BC;position:absolute;left: 50%;top: 50%;transform: translate(-50%,-50%);text-transform:uppercase;white-space: nowrap;}
#main.kasou .jap {font-size:52px;font-weight:800;color:#fff;position:relative;z-index:2;}

#main.kasou.kasou02 {padding:78px 0;}
#main.kasou.kasou02 .jap01 {font-size:22px;font-weight:800;color:#fff;position:relative;z-index:2;margin-bottom:10px;}

/*パンくず*/
div#bread {height:0;position:relative;top:8px;z-index:3;}
ul.bread-list {}
ul.bread-list li {font-size:14px;line-height:1.2;}
ul.bread-list li a {text-decoration:none;}
ul.bread-list li:after{content:">";margin: 0 8px;}
ul.bread-list li:last-child:after{content:none;}

/* TOPへ戻る・追従 */
/*-------------------------------------------*/
#fixed_trigger {position: absolute;left: 0;top:64px;z-index: -100;}

/* footer */
/*-------------------------------------------*/
#footer {}

.footer_contact {background: url("../img/common/bg01.png")no-repeat center top 80px #0F8B5C;background-size:2184px;width:calc(100% - 120px);border-radius:40px;margin:0 auto 120px 60px;padding:100px 0;}
.footer_contact .title01 {margin-bottom:40px;}
.footer_contact .cnt01 {width:580px;margin:0 auto 40px;border-radius:10px;overflow:hidden;background:#0D7C52;position: relative;right: 30px;}
.footer_contact .cnt01 th {width:100px;vertical-align:middle;font-size:28px;line-height:1.2;font-weight:800;font-style:italic;text-align: center;background:rgba(11,107,70,0.8);height:100px;}
.footer_contact .cnt01 td {line-height:1;vertical-align:middle;}
.footer_contact .cnt01 td p {font-size:20px;margin-bottom:10px;font-weight:bold;}
.footer_contact .cnt01 td h3 {font-size:28px;}

.footer_contact .cnt02 {width:970px;margin:0 auto;justify-content:space-between;}
.footer_contact .cnt02 .box {width:480px;background:#fff;border:2px solid #0B0B0B;border-radius:20px;box-sizing:border-box;padding:40px 0 45px;position:relative;}
.footer_contact .cnt02 .box h3 {font-size:24px;line-height:1.2;}
.footer_contact .cnt02 .box h3 span {display:inline-block;padding-left:32px;}
.footer_contact .cnt02 .box.box01::before {content:"";background: url("../img/common/illust01.png") no-repeat;background-size:contain;width: 110px;height:88px;position:absolute;left:70px;top:-88px;}
.footer_contact .cnt02 .box.box01 h3 span {background:url("../img/common/mail.svg") no-repeat bottom 1px left;}
.footer_contact .cnt02 .box.box01 .h_contact01 {width:360px;height:72px;margin:17px auto 0;}

.footer_contact .cnt02 .box.box02::before {content:"";background: url("../img/common/illust02.png") no-repeat;background-size:contain;width: 160px;height:152px;position:absolute;right:85px;top:-160px;}
.footer_contact .cnt02 .box.box02 h3 span {background:url("../img/common/tel02.svg") no-repeat bottom left;}
.footer_contact .cnt02 .box.box02 .tel {margin-top:19px;}
.footer_contact .cnt02 .box.box02 .tel a {font-size:40px;line-height:1;}
.footer_contact .cnt02 .box.box02 .tel a span {display:inline-block;padding-left:62px;background:url("../img/common/tel.svg") no-repeat center left;}
.footer_contact .cnt02 .box.box02 .time {font-weight:bold;}
.footer_contact .cnt02 .box.box02 .time span {display:inline-block;margin:0 6px;}

.footer_contact .form_link {margin-top:43px;line-height:24px;}
.footer_contact .form_link a {padding:0 28px 0 32px;background:url("../img/common/form_link.svg") no-repeat center right,url("../img/common/mail02.svg") no-repeat center left;position:relative;text-decoration:none;color:#fff;}
.footer_contact .form_link a::before {content:"";width:0;height:1px;position:absolute;left:32px;bottom:0;background:#fff;transition: 0.3s;}
.footer_contact .form_link a:hover::before {width:calc(100% - 28px - 32px);}

.footer {padding:120px 0 40px;background:#F5F5F5;}
.footer .cnt01 {justify-content: space-between;margin-bottom:80px;}
.footer .cnt01 .logo {}
.footer .cnt01 .right {width:auto;}
.footer .cnt01 .right .f_nav {width:auto;}
.footer .cnt01 .right .f_nav ul {margin-right:80px;}
.footer .cnt01 .right .f_nav:last-child ul:last-child {margin-right:0;}
.footer .cnt01 .right .f_nav ul li {margin-bottom:25px;line-height:1;font-weight:bold;}
.footer .cnt01 .right .f_nav ul li:last-child {margin-bottom:0;}
.footer .cnt01 .right .f_nav ul li a {text-decoration:none;}
.footer .cnt01 .right .f_nav ul li a:hover {color:#3374B7;}
.footer .cnt01 .right .f_nav.f_nav02 ul li a {display:inline-block;padding-left:20px;background:url("../img/common/f_nav02.svg") no-repeat center left;}
.footer .cnt01 .right .f_nav.f_nav02 ul li a:hover {background:url("../img/common/f_nav02_h.svg") no-repeat center left;}

.footer .cnt02 {justify-content: space-between;padding-bottom:40px;border-bottom:1px solid #E4E4E4;margin-bottom:40px;}
.footer .cnt02 .corporate {width:240px;}
.footer .cnt02 .banner_list {width:auto;}
.footer .cnt02 .banner_list .banner {width:240px;margin-right:10px;}
.footer .cnt02 .banner_list .banner:last-child {width:240px;margin-right:0;}
.footer .cnt02 a:hover {opacity:0.7;}

.footer .cnt03 {justify-content: space-between;font-size:14px;line-height:1;}
.footer .cnt03 .policy {width: auto;}
.footer .cnt03 .policy li {margin-right:17px;}
.footer .cnt03 .policy li:last-child {margin-right:0;}
.footer .cnt03 .policy li a {text-decoration:none;}
.footer .cnt03 .policy li a:hover {color:#3374B7;}
.footer .cnt03 .cnt03_in {width:auto;}
.footer .cnt03 .cnt03_in .p01 {margin-right:17px;}
.footer .copyright {}


/* wideWrap
=========================================== */
section{width:100%;position:relative;}

aside,footer{position:relative;}

/* CLEARFIX
=========================================== */

.cf:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
	overflow: hidden;
	font-size: 0.1em;
	line-height: 0;
}
.cf {
	min-height: 1px;
}
* html .cf {
	height: 1px;/*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}

.no-pc{display: inline-block;pointer-events: none;text-decoration: none!important;}

.sp{display:none!important;}
