@charset "utf-8";

/*
源ノゴシック
font-family: source-han-sans-cjk-ja, sans-serif;
源ノ明朝
font-family: source-han-serif-japanese, serif;
*/

html {
	font-family: source-han-sans-cjk-ja, sans-serif;
}
body {
    background: #fff;
    color: #000;
}

.inner {max-width: 1080px;width: 100%;margin: 0 auto;box-sizing: border-box;}

.marker {background: linear-gradient(transparent 60%, #fff100 60%);}
.red {color:#e60012;}
.yellow {
	color:#FF0;
}

/* **************************************************************** */
/* ヘッダー
*/
header {

}
header .inner {
    align-items: center;
    justify-content: space-between;
}
header .logo {

}
header .util {
    width: 530px;
}
header .util a {
    padding: 1em;
    /*background: #e60012;
    color: #fff;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    padding: 1.5em;
    font-weight: bold;*/
		}
header .util a figure {
    margin-right: 0.5em;
}
header .util a span {
    flex: 1 0 0%;
}
/* **************************************************************** */
/* フッター
*/
footer {
	background: #fff;
    padding: 0;
}
.footer_bloc {
    padding: 2em 0;
}
footer .copy {
    display: block;
    background: #ed6d00;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    padding: 1em 0 1em;
}

.h100 {
	height:100px;
	width:100%;
}

/* **************************************************************** */
/* コンタクト
*/

.contact_title {
    margin-bottom: 2em;
}
.contact_title .logo {
    margin-bottom: 0.5em;
}
.contact_title h2 {
	font-size: 60px;
    line-height: 1.2em;
    margin-bottom: 20px;
}
.contact_title .subtitle {
    text-align: left;
    font-weight: 700;
	font-size: 30px;
    color: #009144;
    line-height: 1.5em;
    width: fit-content;
    margin-bottom: 40px;
    margin-left: auto;
    margin-right: auto;
}

.contact_title .document {
    margin-bottom: 40px;
}

.contact_title .document,
.contact_title .document p {
 text-align: center;
 color: #999;
}

.contact_title .document img {
    width: 500px;
    height: auto;
}

.contact_title .contents {
    padding: 20px;
    text-align: left;
    border-radius: 4px;
    background-color: #eee;
    margin-bottom: 40px;
}

.contact_title .contents h3 {
    color: #444;
    font-weight: 700;
    margin-bottom: 20px;
}

.contact_title .contents ul {
    padding-left: 20px;
    list-style: disc;
}

.contact_title p {
font-size: 18px;
    line-height: 1.4em;
	text-align: left;
}

.btn_bloc button {
    max-width: none;
    background: none;
    box-shadow: none;
    padding: 0;
}


/* **************************************************************** */
/* 個別CSS
*/

.mv {
    background: url(../images/bg_mv.jpg) no-repeat center top;
    background-size: cover;
    padding: 0 0 4em 0;
}
.mv .inner {

}
.mv_bloc {
    margin-left: auto;
    margin-right: auto;
}
.mv_bloc h1 {
  margin-bottom: 1rem;
}
.mv_bloc img {
    height: auto;
}
.mv_bloc .en {
	color: #000000;
	font-size: 30px;
	line-height: 1.2em;
	font-weight: bold;
}
.mv_bloc .jp {
    font-size: 24px;
    line-height: 1.4em;
    font-weight: bold;
}

.mv_band {
	background: #79bf1d;
}
.mv_band p {
	background: #009145;
    color: #fff;
    display: inline-block;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    font-size: 28px;
    line-height: 1.2em;
    padding: 0.4em 1em 0.5em;
    letter-spacing: 0.4em;
}
.mv_band h2 {
	color: #fff;
    font-size: 36px;
    line-height: 1.4em;
    padding: 0.5em 0;
    letter-spacing: 0.4em;
}

.cm {
    padding: 2em 0;
}
.cm .inner {
    align-items: center;
    justify-content: space-between;
}
.cm figure {

}
.cm_bloc {
    flex: 1 0 0%;
}
.cm_bloc h2 {
    margin-bottom: 1em;
}
.cm_bloc h3 {
    display: inline-block;
    font-size: 24px;
    line-height: 1.4em;
    background: #009145;
    color: #fff;
    padding: 0.2em 1em 0.3em;
    border-radius: 30px;
    margin-bottom: 0.5em;
}
.cm_bloc p {
	font-size: 24px;
    line-height: 1.4em;
    font-weight: bold;
}
.cv01 {
    background: #fefed5;
    padding: 2em 0;
}
.cv02 {
    background: #fefed5;
    padding: 2em 0;
}
.cv03 {
    background: #fff;
    padding: 2em 0;
}

.cv_bloc {
    align-items: center;
    justify-content: center;
}
.cv_bloc figure {
    max-width: 250px;
}
.cv_bloc h2 {
    margin-left: 1em;
    text-align: left;
    font-size: 20px;
    line-height: 1.4em;
}
.cv_bloc + .btn_bloc {
    margin-top: 2em;
}


.big_title {
	background:#009145;
	padding:2em 0;
}
.big_title h2 {

}
.big_title h2 .sub {
    display: inline-block;
    font-size: 28px;
    line-height: 1.4em;
    background: #fff;
    color: #000;
    padding: 0.2em 1em 0.3em;
    border-radius: 30px;
    margin-bottom: 0.5em;
}
.big_title h2 .jp {
    display: block;
    color: #fff;
    font-size: 106px;
    line-height: 1;
    font-weight: 900;
}
.big_title h2 .en {
	display: block;
	color: #3C0;
	font-size: 108px;
	line-height: 1;
	font-weight: 900;
}

.chart,
.chart * {
    box-sizing: border-box;
}

.chart .triangle-down-yellow {
    width: 100%;
}

.chart .title {
    margin-top: 60px;
    margin-bottom: 60px;
    font-weight: 700;
    font-size: 48px;
    line-height: 150%;
    text-align: center;
    color: #009144;
}

.why {
	padding: 4em 0;
}
.why h2 {

}
.why h2 .en {
    display: inline-block;
    font-size: 48px;
    line-height: 1em;
    background: #009145;
    color: #fff;
    padding: 0.2em 1em 0.3em;
    border-radius: 61px;
    margin-bottom: 0.5em;
}
.why h2 .jp {
    display: block;
    color: #ed6d00;
    font-size: 80px;
    line-height: 1;
    font-weight: 900;
    margin-bottom: 0.2em;
}
.why h2 .sub {
    display: block;
    font-size: 48px;
    line-height: 1;
    font-weight: 900;
}

.answer {
	background: #79bf1d;
}
.answer .inner {
    align-items: center;
    justify-content: space-between;
}
.answer figure {
    margin-top: -2em;
}
.answer_bloc {
	flex: 1 0 0%;
    text-align: left;
}
.answer_bloc p {
    display: inline-block;
    font-size: 42px;
    line-height: 1em;
    font-weight: 900;
    background: #009145;
    color: #fff;
    padding: 0.2em 1em 0.3em;
    border-radius: 60px;
    margin-bottom: 0.5em;
}
.answer_bloc h2 {
    color: #fff;
    font-size: 36px;
    line-height: 1.4em;
    text-align: left;
    font-weight: 900;
    position: relative;
    z-index: 2;
}
.answer_bloc h2 em {
    color: #000;
    font-size: 64px;
    line-height: 1;
    font-style: normal;
    position: relative;
	z-index: 2;
}

.answer01 em:after {
	content: "";
    background: url(../images/icon_bar_01.png) no-repeat;
    width: 230px;
    height: 36px;
    position: absolute;
    bottom: -0.1em;
    left: -0.2em;
    z-index: -1;
}
.answer02 em:after {
    content: "";
    background: url(../images/icon_bar_02.png) no-repeat;
    width: 352px;
    height: 36px;
    position: absolute;
    bottom: -0.1em;
    left: -0.2em;
    z-index: -1;
}

.answer01 .inner {

}
.answer02 .inner {
    flex-direction: row-reverse;
}


.point {
	background: #fefed5;
    padding: 3em 0;
}

.title_bloc {
    margin-bottom: 2em;
}

.title_bloc p {
	display: inline-block;
	font-size: 24px;
	line-height: 1.4em;
	background: #009145;
	color: #FFF;
	padding: 0.2em 1em 0.3em;
	border-radius: 30px;
	margin-bottom: 0.5em;
}
.title_bloc h2 {
	font-size: 54px;
    line-height: 1.2em;
}
.title_bloc h2 em {
    font-size: 116px;
    line-height: 1;
    font-style: normal;
    letter-spacing: -0.2em;
    vertical-align: text-bottom;
}
.point .title_bloc h2 em {
	color: #009145;
}

.point_bloc {

}

.point_bloc ol li {
	width: 48%;
    align-items: center;
    justify-content: flex-start;
}
.point_bloc ol li + li {

}
.point_bloc ol li:nth-child(n+3) {
    margin-top: 1em;
}

.point_bloc ol li figure {

}
.point_bloc ol li p {
	font-size: 26px;
    line-height: 1.2em;
    font-weight: bold;
    flex: 1 0 0%;
    text-align: left;
    margin-left: 0.5em;
}


.strengths {
	background: #fefed5;
    padding: 3em 0;
}

.strengths .title_bloc h2 em {
	color: #ed6d00;
}

.strengths_bloc {

}

.strengths_item {
    align-items: center;
    justify-content: space-between;
	flex-direction: row-reverse;
}
.strengths_item + .strengths_item {
    margin-top: 2em;
}

.strengths_item .box {
	width: 50%;
}
.strengths_item > figure {
	width: 50%;
    text-align: center;
}

.strengths_odd {
	flex-direction: row;
}

.strengths_item .title {
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 1em;
}
.strengths_item .title figure {

}
.strengths_item .title h3 {
    font-size: 30px;
    line-height: 1.2em;
    text-align: left;
    margin-left: 0.5em;
    flex: 1 0 0%;
}
.strengths_item .box {

}
.strengths_item .box p {
	font-size: 18px;
    line-height: 1.6em;
    text-align: left;
    font-weight: bold;
}



.strengths_banner1 {
    overflow: hidden;
    border: solid 1px #ff63af;
    border-radius: 10px;
    background: #fff;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
	margin-top: 2em;
}
.strengths_banner1 h4 {
	background: #ff63af;
    padding: 1em;
}
.strengths_banner1 p {
	color: #ff63af;
    font-size: 28px;
    line-height: 1.2em;
    font-weight: bold;
    flex: 1 0 0%;
    text-align: left;
    padding: 1em;
}

.strengths_banner2 {
    overflow: hidden;
    border: solid 1px #9346af;
    border-radius: 10px;
    background: #fff;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    margin-top: 2em;
}
.strengths_banner2 h4 {
	background: #9346af;
    padding: 1em;
}
.strengths_banner2 p {
	color: #9346af;
    font-size: 28px;
    line-height: 1.2em;
    font-weight: bold;
    flex: 1 0 0%;
    text-align: left;
    padding: 1em;
}


.logo_title {
    margin-bottom: 2em;
}
.logo_title .logo {
    margin-bottom: 1em;
}
.logo_title h2 {
	display: inline-block;
    font-size: 24px;
    line-height: 1.4em;
    background: #009145;
    color: #fff;
    padding: 0.2em 1em 0.3em;
    border-radius: 30px;
}

.support {
	background: url(../images/bg_support.jpg) no-repeat center top;
    background-size: cover;
    padding: 3em 0;
}

.support_bloc {
    font-weight: bold;

}
.support_bloc ul {
    display: inline-block;
}
.support_bloc ul li {
    font-size: 20px;
    line-height: 1.6em;
    position: relative;
    text-align: left;
    padding-left: 2em;
}
.support_bloc ul li + li {
	margin-top:0.5em;
}
.support_bloc ul li:before {
	content: "";
    width: 29px;
    height: 29px;
    background: url(../images/icon_check.png) no-repeat;
    background-size: contain;
    position: absolute;
    /* top: 0; */
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: 0;
}


.movie {
	padding:3em 0;
}
.movie_bloc {

}

.movie_item {
    max-width: 800px;
    margin: 0 auto;
}
.movie_item video {
    width: 100%;
}

.prof,
.prof * {
    box-sizing: border-box;
}
.prof {
    padding-top: 40px;
    padding-bottom: 40px;
}

.prof .inner {
    max-width: 700px;
}

.prof .title_bloc {
    width: fit-content;
    border-bottom: 2px #222 dotted;
    padding-bottom: 32px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
}

.prof .title_bloc h2{
    font-size: 32px;
    line-height: 1.7em;
}

.prof .title_bloc h2 span {
    font-size: 40px;
    color: #fff;
    background-image: linear-gradient(#009144, #009144);
}

.prof .prof_content {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 16px;
    text-align: left;
}

.prof .prof_bg {
    position: absolute;
    bottom: 0;
    right: 0;
}

.prof .prof_img {
    width: 100%;
    height: auto;
}

.prof .name {
    font-size: 32px;
    color: #009144;
    margin-bottom: 8px;
}

.prof .job {
    font-size: 24px;
    color: #444;
    font-weight: bold;
    margin-bottom: 20px;
}

.prof .text {
    font-size: 22px;
    color: #444;
}

.prof .text > * + * {
    margin-top: 16px;
}

.data {
    background-color: #009144;
    padding-top: 80px;
    padding-bottom: 80px;
}
.data .title {
    margin-bottom: 40px;
}
.data .title img {
    width: 700px;
    height: auto;
}

.data .data_content img {
    width: 100%;
    display: block;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.data .data_content img + img {
    margin-top: 20px;
}

.flow {
	background:#eeeeee;
	padding:3em 0;
}
.flow h2 {
    font-size: 36px;
    margin-bottom: 1em;
}
.flow_bloc {

}
.flow_bloc ol {
    align-items: flex-start;
    justify-content: center;
}
.flow_bloc ol li {
    position: relative;
}
.flow_bloc ol li + li {
    margin-left: 0.5em;
}

.flow_bloc ol li + li:before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background: #444444;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: -11px;
    margin-top: 6px;
}



.flow_bloc ol li:nth-child(1) {
    margin-left: 0;
}
.flow_bloc ol li:nth-child(6) {
    margin-left: 0;
}
.flow_bloc ol li:nth-child(n+6) {
    margin-top: 1em;
}


.tokuten {
	padding:3em 0;
}
.tokuten_title {
	margin-bottom: 2em;
}
.tokuten_title p {
    display: inline-block;
    font-size: 24px;
    line-height: 1.4em;
    background: #009145;
    color: #fff;
    padding: 0.2em 1em 0.3em;
    border-radius: 30px;
	margin-bottom:0.5em;
}
.tokuten_title h2 {
    font-size: 60px;
    line-height: 1.2em;
}
.tokuten_title h2 .big {
font-size: 100px;
}
.tokuten_title h2 .big em {
    color: #ed6d00;
    font-size: 130px;
    line-height: 1;
    font-style: normal;
}


.tokuten_bloc {

}
.tokuten_item {

}
.tokuten_item + .tokuten_item {
    margin-top: 2em;
}

.tokuten_item h3 {
    margin-bottom: 1em;
}
.tokuten_item h3 .num {
    display: block;
    margin-bottom: 0.5em;
}
.tokuten_item h3 .ttl {
    display: inline-block;
    font-size: 36px;
    line-height: 1.2em;
    border-bottom: solid 1px #000;
    padding: 0 0.5em 0.5em;
}
.tokuten_item p {
    max-width: 700px;
    text-align: left;
    margin: 0 auto;
}


.last {
	/*background:#79bf1d;*/
    background:#009145;
	padding:3em 0;
}
.last h2 {
    font-weight: bold;
    color: #fff;
    font-size: 60px;
    line-height: 1.2em;
    /*font-weight: normal;*/
    margin-bottom: 0.5em;
}
.last_bloc {
	display: inline-block;
}
.last_bloc p {
    font-weight: bold;
    color: #fff;
    /*font-size: 18px;*/
    font-size: 20px;
    text-align: left;
}


.bottom_catch {

}
.bottom_catch_bloc {
    /*background:#79bf1d;*/
    background:#009145;
    padding: 2em 0;
}
.bottom_catch_bloc h2 {
	align-items: center;
    justify-content: center;
}
.bottom_catch_bloc h2 .ttl {
	margin:0 1em;
}
.bottom_catch_bloc h2 figure {

}

.bottom_catch_bloc h2 .en {
    color: #FF0;
    /*color: #ed6d00;*/
    display: block;
    font-size: 42px;
    line-height: 1.2em;
}
.bottom_catch_bloc h2 .jp {
    color: #FFF;
    display: block;
    font-size: 32px;
    line-height: 1.2em;
}


.bottom_catch > ul {

}
.bottom_catch > ul li {
    width: 20%;
    height: 10em;
}
.bottom_catch > ul li:nth-child(1) {background:url(../images/img_bottom_catch_01.jpg) no-repeat center;background-size: cover;}
.bottom_catch > ul li:nth-child(2) {background:url(../images/img_bottom_catch_02.jpg) no-repeat center;;background-size: cover;}
.bottom_catch > ul li:nth-child(3) {background:url(../images/img_bottom_catch_03.jpg) no-repeat center;;background-size: cover;}
.bottom_catch > ul li:nth-child(4) {background:url(../images/img_bottom_catch_04.jpg) no-repeat center;;background-size: cover;}
.bottom_catch > ul li:nth-child(5) {background:url(../images/img_bottom_catch_05.jpg) no-repeat center;;background-size: cover;}


.company {
	background:#eeeeee;
	padding:3em 0;
}
.company h2 {
	display: inline-block;
    font-size: 24px;
    line-height: 1.4em;
    background: #000;
    color: #fff;
    padding: 0.2em 1em 0.3em;
	border-radius: 30px;
    margin-bottom: 2em;
}
.company_bloc {

}
.company_bloc dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}
.company_bloc dl:last-child {
	border-bottom: solid 1px #bab9b9;
}
.company_bloc dl {
	border-top: solid 1px #bab9b9;
}
.company_bloc dl dt {
    width: 15%;
    box-sizing: border-box;
    padding: 1em;
    text-align: left;
    position: relative;
    align-items: center;
    font-size: 15px;
    line-height: 1.2em;
}
.company_bloc dl dd {
    margin: 0;
    font-size: 15px;
    line-height: 1.2em;
    flex: 1 0 0%;
    text-align: left;
    position: relative;
    box-sizing: border-box;
    padding: 1em;
}

.address_bloc {

}
.address_bloc .item {
	width: 48%;
}
.address_bloc .item + .item {

}
.address_bloc .item address {
    font-style: normal;
    margin-bottom: 1em;
}
.address_bloc .item .map {

}
.address_bloc .item .map iframe {
	width:100%;
}

.ptext {
width:940px;
margin-left:auto;
margin-right:auto;
text-align:left;
}