﻿@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
.font1, body {
    font-family: 'Noto Sans JP',"游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
}


/* color ---------------------------------------------------------------------------------------------*/
.linkStyle{color: #6bcd43;transition: opacity .3s;}
.linkStyle:hover{opacity: 0.7}
body,.txt_color_nomal{color: #333333;}
.txt_white{color: white;}
.txt_red{color: red;}
.txt_color1{color: #1c1c1c} /* メインカラー */
.txt_color2{color: #697A84} /* サブカラー */
.txt_color3{color: #302D2A} /* アクセントカラー1 */
.txt_color4{color: #E6EAED} /* アクセントカラー2 */

/* background-color */
.bg_white{background-color: white} /* 白背景 */
.bg_black{background-color: black} /* 黒背景 */
.bg_color1, .hamburger{background-color: #6bcd43} /* メインカラー */
.bg_color2{background-color: #697A84} /* サブカラー */
.bg_color3{background-color: #36a4b7} /* アクセントカラー1 */
.bg_color4{background-color: #E6EAED} /* アクセントカラー2 */
.bg_color_clear{background-color: transparent!important}


/* border-color ※!important */
.border_color1{border-color: #36a4b7;}
.border_color2{border-color: #697A84}
.border_color3{border-color: #302D2A}
.border_color4{border-color: #E6EAED}


/* hover ---------------------------------------------------------------------------------------------*/
/* color */
.hvr_txt_color_nomal:hover{color: #333333;}
.hvr_txt_white:hover{color: white;}
.hvr_txt_red:hover{color: red;}
.hvr_txt_color1:hover{color: #6bcd43} /* メインカラー */
.hvr_txt_color2:hover{color: #697A84} /* サブカラー */
.hvr_txt_color3:hover{color: #302D2A} /* アクセントカラー1 */
.hvr_txt_color4:hover{color: #E6EAED} /* アクセントカラー2 */

/* background-color */
.hvr_bg_white:hover{background-color: white} /* 白背景 */
.hvr_bg_black:hover{background-color: black} /* 黒背景 */
.hvr_bg_color1:hover{background-color: #6bcd43} /* メインカラー */
.hvr_bg_color2:hover{background-color: #697A84} /* サブカラー */
.hvr_bg_color3:hover{background-color: #36a4b7} /* アクセントカラー1 */
.hvr_bg_color4:hover{background-color: #E6EAED} /* アクセントカラー2 */
.hvr_bg_color_clear:hover{background-color: transparent!important}

/* border-color ※!important */
.hvr_border_color1:hover{border-color: #6bcd43}
.hvr_border_color2:hover{border-color: #697A84}
.hvr_border_color3:hover{border-color: #302D2A}
.hvr_border_color4:hover{border-color: #E6EAED}



/* loading ---------------------------------------------------------------------------------------------*/
#loading {
	position: fixed;
	top: 0;
    left: 0;
	height: 100%;
	width: 100%;
	z-index: 999999;
}
.load_logo{
	top: 50%!important;
	left: 50%;
	z-index: 999;
	width: 249px;
}
.load_box_wrap{
	bottom: 0;
	left: 0;
	z-index: 99;
}
.load_box_wrap .box{
	bottom: 0;
	height: 100vh;
    transition: height cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
	background: rgb(208,245,195);
}
.load_box_wrap .box:nth-of-type(1){right: 0;transition-delay: .4s}
.load_box_wrap .box:nth-of-type(2){right: 20%;transition-delay: .3s}
.load_box_wrap .box:nth-of-type(3){right: 40%;transition-delay: .2s}
.load_box_wrap .box:nth-of-type(4){right: 60%;transition-delay: .1s}
.load_box_wrap .box:nth-of-type(5){right: 80%}
.load_box_wrap .box.slideout{height: 0!important;}


/* design ---------------------------------------------------------------------------------------------*/
.linehight_2-h {line-height: 1.7;}
.opacity07 {opacity: 1;}
.bg_white_opa {background-color: rgba(255,255,255,0.9);}
.fat-nav li:last-child a{border-bottom: 1px solid #fff;border-top: 1px solid #fff;}

#wrap{overflow: hidden}
#contents2 .contents_txt h2 span{display: none}
.index_header .nav_box {
    background-color: #d3f8ca;
	background: url( "../dup/img/bg1.jpg" ) center / cover no-repeat;
	border-radius: 0 0 500px 0;
}
.nav_box{
    background-color: #d3f8ca;
	background: url( "../dup/img/bg1.jpg" ) center / cover no-repeat;
}
#global-nav li a span {
    color: #323232;
    font-weight: bold;
}
#global-nav ul li a .after {
	background-color: #6bcd43;
}
.fat-nav.active li a .after{
	background-color: #fff;
}
.more span.before{
	background-color: #6bcd43;
}
.more:hover span.after{background-color: #ED902A;}

#main_img span.before{display: none;opacity: 0!important;animation: none;}
#main_img{opacity: 1!important;}
.loaded #main_img{animation: none;}
#main_img .inner{padding-bottom: 0!important;}
#main_img .inner .main_txt {
    width: 65%;
    max-width: 800px;
    left: 34px;
    top: 62px;
}
#catch {padding-top: 110px;}
#catch{border: none}
#catch h2.title1 {
    font-size: 44px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 111px;
	position: relative;
}
#catch .title1_bg{
	z-index: -1;
    width: 49%;
    top: 33px;
}
#catch .catch_txt h2 span {
    background-color: #302d2a;
    opacity: 1;
    height: 1px;
}
#catch .catch_txt p{
	padding-left: 10px;
    font-size: 16px;
}
.catch_img.start span.before{opacity: 1;}

#contents .contents_inner h2 {
    margin-bottom: 30px;
    font-size: 30px;
}
#contents .title2_bg {
    z-index: -1;
    width: 74%;
    top: -22px;
	opacity: 0.7;
}
#contents .contents_inner h2 span.border_anime{
	transform: translateY(25px);
}
#contents .contents_inner h2 span.border_anime.start {
    transform: translateY(25px);
}
#contents .contents_img.con_img2 {
    margin: 0;
}
#contents .contents_inner .contents_txt p.font_18{
	font-size: 25px;
    color: #ED902A;
	position: relative;
	padding-left: 69px;
	padding-bottom: 7px;
}
#contents .contents_inner .contents_txt p.font_18::before{
	content: '';
	display: inline-block;
	width: 55px;
	height: 55px;
	background-image: url(../dup/img/no1.png);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	left: 0;
}
#contents .contents_inner .contents_txt .linehight_2-h{
	line-height: 2;
}
#contents .contents_inner .contents_txt.con_txt2{
	right: 0;
}
#contents .contents_inner .contents_txt.con_txt2 p{
	margin-left: -40px;
}
#contents .contents_inner .contents_txt.con_txt2 p.font_18{
	padding-left: 84px;
}
#contents .contents_inner .contents_txt.con_txt2 p.font_18::before{
	background-image: url(../dup/img/no2.png);
	left: 15px;
}
#contents .con_txt3{
	margin-top: 85px;
    line-height: 2;
    background-color: #f7f0db;
    padding: 25px;
    border-radius: 77px;
	box-sizing: border-box;
}
#contents .contents_inner h2 span{display: none}

#contents2 {
    background: url(../dup/img/bg1.jpg) center / cover no-repeat;
}
#contents2 .txt_white{
	color: #333333;
} 
.contents_txt h2{
	font-weight: bold
}

.cms_title p, #page_title p {
    color: #6bcd43;
    opacity: 1;
    font-size: 32px;
    font-weight: 700;
    transform: translateY(-6px);
}

#top_cms .cms_title .cms_title_inner{padding-bottom: 50px;}
#footer_info .bg_white_opa{background-color: rgba(255,255,255,0.87);}
#page_title .page_title_inner span.border_anime{-webkit-transition: all 2s cubic-bezier(.5,0,0,1);transition: all 2s cubic-bezier(.5,0,0,1);}
#page_title .page_title_img span.before{animation: page_anim .8s cubic-bezier(0.5, 0.1, 0.2, 1) 1.2s normal forwards;}


/* animation ---------------------------------------------------------------------------------------------*/
#main_img .main_txt, main .main_txt img{
	opacity: 0;
    -webkit-transition: all 500ms;
    transition: all 500ms;
	-webkit-transform: translateX(-40px);
    transform: translateX(-40px);
}
#main_img.start .main_txt, main .main_txt.start img{
	opacity: 1;
    -webkit-transform: translateX(0) !important;
    transform: translateX(0) !important;
}
.txt_anim span{
	display: inline-block;
	opacity: 0;
	-webkit-transform: translateY(20px);
	-ms-transform: translateY(20px);
	transform: translateY(20px);
	transition:transform 0.1s ease;
}
.txt_anim span.start{
	opacity: 1;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}
.fadein h2, .fadein img, .fadein p{
	opacity: 0;
    -webkit-transition: all 500ms;
    transition: all 500ms;
	-webkit-transform: translateX(-40px);
    transform: translateX(-40px);
}
.fadein h2{
	transition-delay: .25s;
}
.fadein p{
	transition-delay: .7s;
	-webkit-transform: translateX(0) translateY(20px);
    transform: translateX(0) translateY(20px);
}
.fadein.start h2, .fadein.start img, .fadein.start p{
	opacity: 1;
    -webkit-transform: translateX(0) !important;
    transform: translateX(0) !important;
}
#contents .box{transform: translateY(0);opacity: 1;}
.fade_up{transform: translateY(35px);transition: 1s cubic-bezier(0.5, 0.1, 0.2, 1) 0s;}




/* IE */
@media all and (-ms-high-contrast: none){
.contact_box .header_contact_link a{padding: 7px 25px 8px!important;}
.more a{padding: 10px 10px 10px!important;}
#page9 .box_wrap .box a{padding: 5px 10px 5px!important;}
.fat-nav li:last-child a{padding-bottom: 11px!important}
.more a{padding: 10px 10px 11px !important}
#page2 .pager li a .posi_center{transform: translate(-50%, -49%);}
#cms_2-a .cate .cate_title{padding-top: 10px!important}
#cms_6-b .cate .cate_title{padding: 7px 5px 8px!important}
}

@media screen and (max-width: 1280px){
#catch {padding-top: 30px;}
#contents .title2_bg {width: 85%;top: -20px;}
#contents .contents_inner h2{margin-bottom: 36px;}
.index_header .nav_box{padding: 30px 0px 10% 3%;}
header {padding-bottom: 5%;}
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#catch .catch_txt h2{text-align: center;margin-bottom: 36px;}
.header_contact_link{margin-top: 12px;}
#main_img .inner .main_txt{width: 61%;left: 16px;top: 14px;}
#catch h2.title1{font-size: 33px;margin-bottom: 65px}
#catch .title1_bg{width: 54%;}
#catch .catch_txt {margin-bottom: 70px;}
#catch .catch_txt p{padding: 0 40px}
#contents .title2_bg{width: 94%}
#contents .title2_bg{top: -4px;}
#contents .con_title_txt{margin-bottom: 75px;}
#contents .contents_inner .contents_txt p.font_18{padding-bottom: 24px;}
#contents .contents_inner .contents_txt.con_txt2 p{margin-left: 0;}
#contents .contents_inner .contents_txt.con_txt2 p.font_18::before{left: 0;}
#contents .contents_inner .contents_txt.con_txt2 p.font_18{padding-left: 69px;}
#contents .con_txt3{margin-top: 44px;margin-bottom: 46px;}

.all_header #global-nav ul li{width: auto;}
}

/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
.load_logo{width: 193px;}
.index_header .nav_box{padding: 15px 10px 15px 15px;border-radius: 0;}
.index_header #logo, #logo{max-width: 111px;transform: translateY(-2px);}
.hamburger{height: 41px!important}

main .main_txt {
    width: 77%;
    left: 7px;
    top: -90px;
}
#main_img{padding-top: 77.1875px!important;}
#catch{padding-bottom: 121px;}
#catch .catch_txt{margin-bottom: 50px}
#catch h2.title1{font-size: 25px;margin-bottom: 40px;}
#catch .title1_bg{width: 79%;top: 15px;}
#catch .catch_txt p {padding: 0 20px;font-size: 14px;}

#contents .fadein{padding: 0 17px;}
#contents .contents_inner h2 {
    margin-bottom: 18px;
    font-size: 20px;
    letter-spacing: 1px;
    text-align: left;
}
#contents .title2_bg{top: -38px;transform: translate(0,-50%);left: 0;}
#contents .con_title_txt {margin-bottom: 41px;text-align: left;}
#contents .contents_inner .contents_txt{padding: 30px 20px 30px;}
#contents .contents_inner .contents_txt p.font_18{font-size: 20px;padding-left: 51px;padding-bottom: 13px;}
#contents .contents_inner .contents_txt.con_txt2 p.font_18{padding-left: 51px;}
#contents .contents_inner .contents_txt p.font_18::before{width: 40px;height: 40px}
#contents .con_txt3{border-radius: 33px;width: 96%;margin: 20px auto 20px;font-size: 14px}
	
#contents2 .contents_txt{padding: 46px 10px 39px;}
#contents2 .contents_txt h2{font-size: 20px;}
	
.con_title_txt{font-size: 14px;}
#contents .contents_inner h2 span.border_anime,#contents .contents_inner h2 span.border_anime.start {
transform: translateY(59px);}
.cms_title p, #page_title p{font-size: 27px;transform: translateY(-8px);}
	
.txt_anim span{
	opacity: 1;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}
}

/* 2023.01.18 修正 */
.index_header #global-nav ul li {
    letter-spacing: 1px;
}






