﻿/* RESET CSS */
article, aside, details, figcaption, figure, footer, header, hgroup, img, menu, nav, section {
		display: block;
}
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
		margin: 0;
		padding: 0;
		border: 0;
		font: inherit;
		vertical-align: baseline;
}
body {
		line-height: 1;
}
ol, ul {
		list-style: none;
}
table {
		border-collapse: collapse;
		border-spacing: 0;
}
table + p {
		margin-top: 2rem;
}
img {
		padding: 0;
		max-width: 100%;
		height: auto;
}
* {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
}
a[href^="tel:"] {
		pointer-events: none;
		text-decoration: none;
		color: #666;
}
/*--------Basic--------*/
html {
		font-size: 62.5%;
}
body {
		width: 100%;
		font-size: 2.2rem;
		color: #453513;
		font-weight: 500;
		line-height: 1.7;
		-webkit-font-feature-settings: 'palt'1;
		font-feature-settings: 'palt'1;
		font-family: -apple-system-body, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans Japanese", "游ゴシック Medium", "Yu Gothic Medium", "メイリオ", meiryo, sans-serif;
		-webkit-text-size-adjust: 100%;
		overflow-x: hidden;
		background: #fff;
}
section {
		padding: 5rem 0 0;
}
.body_wrap {
		margin: 0 auto;
		max-width: 750px; /*background: #fffdf1;*/
		padding-bottom: 15rem;
}
.pc {
		display: block !important;
}
.sp {
		display: none !important;
}
.clearfix:before, .clearfix:after {
		content: " ";
		display: table;
}
.clearfix:after {
		clear: both;
}
.clearfix {
		*zoom: 1;
}
.img_right {
		float: right;
		padding: 0 0 2rem 2rem;
}
.img_left {
		float: left;
		padding: 0 2rem 2rem 0;
}
.img_center {
		margin: 0 auto;
		display: unset;
		width: 100%;
}
.flex {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
}
.flex + .flex {
		margin: 2rem 0 0;
}
.img_arrow {
		margin: 1rem auto 2rem;
}
.caption {
		width: 100%;
		padding: 1rem;
		margin: 0 auto;
		background: #333;
		color: #fff;
		font-size: 1.8rem;
		font-weight: 900;
		line-height: 1.4;
		text-align: center;
}
.u {
		text-decoration: underline;
}
.b {
		font-weight: bold;
}
.r {
		color: #ad0000;
}
.y {
		color: #ffe385;
}
.bl {
		color: #453513 !important;
}
.wht {
		color: #fff !important;
}
.border-wht {
		border: dotted 2px #fff !important;
}
.gradation_g {
		color: #f9db7f;
		background: -webkit-linear-gradient(0deg, #f9db7f, #fff8c8, #f9db7f);
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 900;
}
.mark {
		background: linear-gradient(transparent 50%, #ffff84 50%);
}
.txt_c {
		text-align: center;
}
.txt_r {
		text-align: right;
}
.txt_l {
		text-align: left;
}
.xxsmall {
		font-size: 30%;
}
.xsmall {
		font-size: 60%;
}
.small {
		font-size: 80%;
}
.large {
		font-size: 120%;
}
.xlarge {
		font-size: 140%;
}
.xxlarge {
		font-size: 160%;
}
.sans {
		font-family: 'Noto Sans JP', sans-serif;
}
.serif {
		font-family: 'Noto Serif JP', "serif";
}
.videotime {
		font-family: Arial, Helvetica, "sans-serif";
		font-weight: 700;
		font-size: 115%;
}
.day_after {
		display: none;
}
.bg_b {
		background: #000;
}
.middle {
		margin: 2rem auto;
}
.bottom {
		margin-bottom: 2rem !important;
}
.top {
		margin: 2rem auto 0;
}
.notice {
		padding-top: 1rem;
		font-size: 1.5rem;
		text-align: right;
		font-weight: 400;
		font-family: sans-serif;
		color: #8a8a8a;
		letter-spacing: 1px;
		text-align: left;
}
.notice2 {
		padding-top: 1rem;
		font-size: 1.4rem;
		text-align: left;
		font-weight: 400;
		font-family: sans-serif;
		color: #0a0f25;
		letter-spacing: 1px;
}
.icon_btn {
		position: absolute;
		right: 0.7em;
		top: 50%;
		transform: translateY(-50%) rotate(45deg);
		width: 0.7em;
		height: 0.7em;
		border-top: 3px solid;
		border-right: 3px solid;
}
.ui-autocomplete {
		position: absolute !important;
		background: #fff;
		list-style: none;
		border-radius: 1rem;
		overflow: hidden;
		z-index: 10;
}
.ui-autocomplete li {
		border-bottom: 1px solid #ccc;
		padding: 1rem;
		font-family: inherit !important;
		text-align: left;
}
.ui-state-focus {
		background: #ff7;
}
.ui-helper-hidden-accessible {
		display: none !important;
}
p + p {
		padding-top: 2rem;
}
/*--------Header--------*/
#prihead {
		background: #edb742;
}
#prihead img {
		margin: 0 auto;
}
/*--------Header--------*/
header {
		width: 750px;
		margin: 0 auto;
		text-align: center;
		background: #fffdf1;
		padding: 1rem 0;
}
header img {
		margin: 0 auto;
}
h1 {
		width: 750px;
		margin: 0 auto;
		position: relative;
		padding: 2rem 0;
		padding-bottom: 2rem;
}
h1 img {
		margin: 0 auto;
}
header .header_mv video {
		width: 100%;
		height: auto;
}
/* header .notice{color:#fff;} */
.header_mv {
		position: absolute;
}
.header_mv .sans {
		color: #fff;
}
.mv_subttl {
		font-size: 2.5rem;
		font-weight: 900;
		font-family: 'Noto Sans JP', sans-serif;
}
/*head new style*/
#header_new {
		width: 100%;
		margin: 0 auto;
		background: #2E1C0E;
		padding: 0;
}
#header_new .header_mv {
		position: unset;
}
#header_new #form_header {
		width: 100%;
		margin: 0 auto;
		margin-bottom: 3rem;
}
#header_new #form_header .form_notice {
		margin: 0 auto;
}
#header_new .header_mv {
		width: 100%;
		margin: 3rem auto;
		margin-top: 0;
}
#header_new .form_btn2 {
		font-size: 2.6rem;
}
#header_new .form_notice p {
		color: #453513;
		padding: 1rem 0 0;
}
#header_new #form_header .form2 {
		padding: 3rem;
		background: #453512
}
/*---header 背景アニメーション---*/
.header_move_wrap {
		position: relative;
		overflow: hidden;
		height: 100%;
		padding: 4rem 0;
}
.header_move_wrap h1 {
		z-index: 15;
}
/*.header_move_wrap img{margin:0 auto 2rem;}*/
/* .header_move_wrap h3{color:#fff;} */
/*6秒で背景切り替え*/
@keyframes anime {
		0% {
				opacity: 0;
		}
		8% {
				opacity: 1;
		}
		17% {
				opacity: 1;
		}
		25% {
				opacity: 0;
				transform: scale(1.2);
				z-index: 9;
		}
		100% {
				opacity: 0;
		}
}
@-webkit-keyframes anime {
		0% {
				opacity: 0;
		}
		8% {
				opacity: 1;
		}
		17% {
				opacity: 1;
		}
		25% {
				opacity: 0;
				-webkit-transform: scale(1.2);
				z-index: 9;
		}
		100% {
				opacity: 0
		}
}
.move_img {
		opacity: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		position: absolute;
		left: 0;
		top: 0;
		-webkit-animation: anime 24s 0s infinite;
		animation: anime 24s 0s infinite;
}
.move_img:nth-of-type(2) {
		-webkit-animation-delay: 6s;
		animation-delay: 6s;
}
.move_img:nth-of-type(3) {
		-webkit-animation-delay: 12s;
		animation-delay: 12s;
}
.move_img:nth-of-type(4) {
		-webkit-animation-delay: 18s;
		animation-delay: 18s;
}
.scrollSign {
		z-index: 15;
		position: absolute;
		bottom: 5rem;
		right: 5rem;
		width: 100px;
		height: 100px;
		background: #f2f2f2;
		border-radius: 100px;
		line-height: 1.3;
		padding: 2rem 0;
}
/*=== 9-1-4 矢印が動いてスクロールを促す====*/
/*スクロールダウン全体の場所*/
.scrolldown { /*描画位置※位置は適宜調整してください*/ position: absolute;
		bottom: 1%;
		right: 50%; /*矢印の動き2秒かけて永遠にループ*/ animation: arrowmove 2s ease-in-out infinite;
}
/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove {
		0% {
				bottom: 1%;
		}
		50% {
				bottom: 3%;
		}
		100% {
				bottom: 1%;
		}
}
/*Scrollテキストの描写*/
.scrolldown span { /*描画位置*/ position: absolute;
		left: -33px;
		bottom: 10px; /*テキストの形状*/ color: #fff;
		font-size: 1.8rem;
		font-weight: 900; /*縦書き設定*/ -ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		z-index: 10;
}
/* 矢印の描写 */ .scrolldown:before {
		content: ""; /*描画位置*/ position: absolute;
		bottom: 0;
		right: -9px; /*矢印の形状*/ width: 3px;
		height: 28px;
		background: #fff;
		transform: skewX(-31deg);
		z-index: 10;
}
.scrolldown:after {
		content: ""; /*描画位置*/ position: absolute;
		bottom: 0;
		right: 0; /*矢印の形状*/ width: 3px;
		height: 77px;
		background: #fff;
		z-index: 10;
}
/*--------動く矢印--------*/
.updown {
		animation-name: updown;
		animation-timing-function: ease-in-out;
		animation-iteration-count: infinite;
		animation-direction: alternate;
		animation-duration: 0.7s;
		padding-top: 2.8rem;
}
@keyframes updown {
		0% {
				transform: translate(0, 0px);
		}
		100% {
				transform: translate(0, -15px);
		}
}
/*--------Section / sub_head / sec_inner--------*/
/* 共通 */
.sub_head {
		font-size: 4.2rem;
		font-weight: 700;
		line-height: 1.3;
		text-align: center;
		font-family: 'Noto Sans JP', sans-serif;
		-webkit-font-feature-settings: 'palt'1;
		font-feature-settings: 'palt'1;
		margin: 0 auto 3rem;
		display: table;
		position: relative;
		color: #453513;
}
.lead {
		font-size: 3rem;
		font-weight: 900;
		line-height: 1.3;
		text-align: center;
		font-family: 'Noto Sans JP', sans-serif;
		-webkit-font-feature-settings: 'palt'1;
		font-feature-settings: 'palt'1;
		margin: 0 auto 5rem;
		display: table;
		position: relative;
		color: #453513;
}
.sec_inner {
		padding: 0 3rem 5rem;
}
/*--------　list / box --------*/
ul {
		list-style: none;
}
.list1 {
		margin: 0 auto 0;
		width: 100%;
		background: #edb742;
		padding: 3.5rem 2.7rem 4rem;
		font-size: 2.6rem;
		color: #453513;
}
.list1 li {
		position: relative;
		padding: 0 0 2rem 4rem;
		line-height: 1.4;
		font-weight: 600;
}
.list1 li:last-child {
		padding-bottom: 0;
}
/*チェックマーク*/
.list1 li:before, .list1 li:after {
		content: "";
		position: absolute;
}
.list1 li:before {
		top: .5rem;
		left: .5rem;
		-webkit-transform: rotate(50deg);
		-ms-transform: rotate(50deg);
		transform: rotate(50deg);
		width: 1rem;
		height: 1.8rem;
		border-right: 3px solid #453513;
		border-bottom: 3px solid #453513;
}
.list1 li:after {
		left: 0;
		top: 1rem;
		width: 1.8rem;
		height: 1.8rem;
		border: 1px solid #453513;
		border-radius: 2px;
}
/*新規CSS-------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
------------------------------------------------------ */
.balloon-004 {
		display: flex;
		align-items: center;
		margin-left: 15px;
		border-radius: 5px;
		background-color: #9c782c;
}
.balloon-004::before {
		position: absolute;
		left: -14px;
		width: 15px;
		height: 30px;
		background-color: #9c782c;
		clip-path: polygon(0 50%, 100% 0, 100% 100%);
		content: '';
}
.reverse .balloon-004 {
		display: flex;
		align-items: center;
		margin-left: 0px;
		border-radius: 5px;
		background-color: #9c782c;
}
.reverse .balloon-004::before {
		position: absolute;
		right: -14px;
		left: auto;
		width: 15px;
		height: 30px;
		background-color: #9c782c;
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		content: '';
}
/*-------- opt_sec1 --------*/
#opt_sec1 {
		background: #fff;
}
/*-------- profile --------*/
#profile {
		padding: 0;
}
/*.profile_inner {padding:5rem 3rem;}*/
.profile_inner img:last-child {
		margin-bottom: 0;
}
.profile_face {
		position: absolute;
		left: 0rem;
		top: 0rem;
		z-index: 0;
}
.profile_wrap { /*background: #edb742;*/ margin: 0 auto;
		margin-bottom: 0;
}
#profile .notice {
		text-align: left;
		margin: 0;
		color: #170c0c;
}
#profile .img_arrow {
		width: 30%;
}
#profile .mv_arrow_bottom {
		margin-bottom: 3rem;
}
/*-------- profile box--------*/
.prf_box_wrap {
		padding: 0 3rem 5rem;
		/* padding: 0 0rem 5rem; */
		padding-top: 5rem;
}
.prf_box_wrap > img {
		margin-bottom: 4rem;
}
.prf_box {
		background: #453512;
		margin: 0;
		position: relative;
}
.prf_box:last-of-type {
		margin-bottom: 0;
}
.prf_box p {
		font-weight: 700;
		padding: 2rem 0;
		text-align: center;
		line-height: 1.3;
		color: #fff;
		font-size: 2.8rem;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
}
.prf_box .xsmall {
		font-size: 70%;
		display: contents;
}
/* feature */
.feature {
		margin-bottom: 3rem;
}
.feature + .future {
		margin-top: 5rem;
}
.feature_ttl {
		font-size: 4rem;
		font-family: 'Noto Serif JP', serif;
		position: relative;
		line-height: 1;
		color: #04192d;
}
.feature_num {
		font-family: 'Noto Serif JP', serif;
		font-size: 8rem;
		line-height: 1;
		position: absolute;
		top: -3.7rem;
		left: 24rem;
}
.ls {
		letter-spacing: -2px;
}
.feature_inner {
		align-items: center;
}
.feature_img {
		width: 37%;
}
.feature_txt {
		width: 60%;
		font-size: 3.5rem;
		font-family: 'Noto Sans JP', sans-serif;
		line-height: 1.4;
		color: #fff;
		position: relative;
		padding: 1.5rem 2rem 1.5rem 3rem;
		height: 212px;
}
/* .feature_txt::before{content: "";position: absolute;top: 0.9em;left: 0px;-webkit-transform: rotate(50deg);-ms-transform: rotate(50deg);transform: rotate(50deg);width: 6px;height: 16px;border-right: 4px solid #fff;border-bottom: 4px solid #fff;} */
/*-------- content --------*/
#content {
		background-color: #9c782c;
}
#content .sub_head {
		margin: 0 auto;
}
#content .sub_ttl {
		width: 25rem;
		margin: 1.3rem auto 2rem;
		background: #8e6035;
		color: #fff;
		text-align: center;
		line-height: 1.2;
		font-family: 'Noto Sans JP', sans-serif;
}
.content {
		background: #fff;
		padding: 3rem;
}
.content + .content {
		margin: 4rem auto 0rem;
}
.content h3 {
		display: table;
		font-size: 5rem;
		line-height: 1;
		padding-bottom: 2rem;
		position: relative;
		font-family: 'Noto Sans JP', sans-serif;
		border-bottom: 3px solid #453513;
		color: #453513;
		margin: 0 auto 1rem;
		font-weight: 600;
}
.content_txt {
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 3.8rem;
		line-height: 1.5;
		padding: 1rem 0 0;
		text-align: center;
		font-weight: 900;
		margin-bottom: 3rem;
}
.content .num {
		font-size: 150%;
		letter-spacing: 0px;
}
/*-------- chapter inner--------*/
.chapter_inner {
		margin: 2rem auto 0;
		width: 100%;
}
.chapter_inner h3 {
		font-family: "Gothic MB101 SemiBold", "A-OTF ゴシックMB101 Pr6N", sans-serif;
		text-align: center;
		font-size: 3rem;
		line-height: 1.3;
		margin: 0 auto 3rem;
		padding-bottom: 0;
		border: unset;
}
h4.subttl2 {
		text-align: center;
		font-size: 3.5rem;
		line-height: 1.3;
		margin-bottom: 2rem;
		font-weight: bold;
}
.chapter_cap {
		margin-bottom: 1rem;
		font-size: 80%;
}
.chapter_inner-box {
		align-items: center;
		margin-bottom: 4rem;
		border: 1px solid #a40a00;
		padding: 2rem;
		font-size: 2.2rem;
}
.chapter_inner-box p {
		text-align: center;
		line-height: 1.5;
		font-weight: 700;
}
.chapter_inner h3 {
		font-family: 'Noto Sans JP', sans-serif;
		text-align: center;
		font-size: 3rem;
		line-height: 1.3;
		margin: 0 auto 3rem;
		font-weight: 900;
}
/*-------- chapter mv--------*/
h3.subttl {
		font-size: 3.6rem;
		font-weight: 900;
		text-align: center;
		line-height: 1.3; /*margin:0 0 2rem 0;*/ font-family: 'Noto Sans JP', sans-serif;
		-webkit-font-feature-settings: 'palt'1;
		font-feature-settings: 'palt'1;
}
.mv_arrow {
		padding: 0rem 0rem 3rem;
}
.mv_arrow_bottom {
		background: #ad0000;
}
.mv_arrow_bottom .form2 {
		padding-top: 0;
}
.mv_arrow_bottom.s {
		background: #ad0000;
		width: 100%;
		margin: 0 auto 5rem;
		padding: 1rem 0 0;
}
.mv_arrow_toform {
		background: #fff;
		width: 10rem;
		height: 3rem;
		margin: 0 auto;
		position: relative;
}
.mv_arrow_triangle {
		border-top: 45px solid #fff;
		border-right: 75px solid transparent;
		border-left: 75px solid transparent;
		width: 150px;
		margin: 0 auto;
}
.mv_arrow_bottom_inner {}
.content_mv video {
		margin: 0 auto;
		width: 100%;
		height: auto;
		display: block;
}
/* merit_icon
------------------------------------------------------ */
.merit_icon {
		width: 100%;
		margin: 0rem auto 2rem;
		font-size: 1.7rem;
}
.merit_icon li span.videotime {
		font-weight: normal;
		font-size: 100%;
}
.merit_icon li {
		width: 32%;
		color: #fff;
		text-align: center;
		padding: 0.4rem 0 0.5rem;
		border-radius: 5px;
		border: 2px dotted #fff;
		line-height: 1.3;
		height: 57px;
		display: grid;
		align-items: center;
}
/*-------- message --------*/
#message .sec_inner {
		margin: 0 auto;
		padding: 3rem;
		width: 690px;
		background: rgb(255 255 255 / 80%);
		border: 1px solid #b59344;
}
.message_txt {
		background: repeating-linear-gradient(rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 43.1px, #cfcccc 43.1px, #cfcccc 44.1px);
		font-family: 'Noto Serif JP', "serif";
		line-height: 2;
		padding: 4.5rem 2rem;
		font-weight: 700;
}
.message_wrap .sec_inner {}
/* form------------------------------------------------------ */
.form {
		background: #453511;
		;
		padding: 3rem;
}
.form form {
		width: 100%;
		margin: 0 auto;
}
.form_inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
}
.form_sub {
		width: 100%;
		margin: 0 auto 1rem;
}
.form_sub p {
		margin-bottom: 1rem;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 2.2rem;
		text-align: center;
		color: #fff;
		line-height: 1;
		font-weight: bold;
}
.form_left {
		width: 80%;
		position: relative;
		margin: 0 auto;
}
.form_must {
		position: absolute;
		left: 0.5rem;
		top: 50%;
		transform: translateY(-50%);
		background: #e53935;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 1.2rem;
		color: #fff;
		padding: 0.5rem;
		line-height: 1;
		z-index: 1;
}
.form_label {
		position: absolute;
		top: 50%;
		left: 5rem;
		transform: translateY(-50%);
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 1.8rem;
		color: #aaa;
		line-height: 1;
		transform-origin: 0 0;
		transition: all 0.2s ease;
}
.form_input {
		position: relative;
		background: #fff;
		border: #453513 2px solid;
		border-radius: 5px;
		padding: 2rem 0 2rem 5rem;
		width: 100%;
		font-family: inherit;
		font-size: 2rem;
		line-height: 1;
		box-shadow: 0 0 0 0 #fff inset;
		transition: all 0.2s ease;
		height: 6rem;
}
.form_input:not(:placeholder-shown) + span {
		color: #5a667f;
		transform: translateY(-2.2rem) scale(0.7);
}
.form_input:focus {
		outline: none;
		box-shadow: 0 0 0 2px #07f inset;
}
.form_input:focus + span {
		color: #07f;
		transform: translateY(-2.2rem) scale(0.7);
}
.form_right {
		width: 80%;
		margin: 2rem auto 0;
}
.form_attention {
		position: relative;
}
.form_caution {
		display: none;
}
.form_notice {
		margin: 1rem auto;
		text-align: center;
}
.form_notice p {
		font-size: 1.4rem;
		color: #fff;
		text-align: center;
}
.form_btn {
		width: 100%;
		background: #00ad48;
		border: 2px solid #7dff88;
		border-radius: 10rem;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 3rem;
		line-height: 1;
		color: #fff;
		cursor: pointer;
		position: relative;
		transition: all 0.2s ease;
		height: 6rem;
		font-weight: 700;
}
.form_btn i {
		position: absolute;
		top: 50%;
		right: 1.5rem;
		transform: translateY(-50%);
		font-size: 80%;
		line-height: 1
}
.form_btn:hover {
		filter: brightness(1.3)
}
/* form------------------------------------------------------ */
.form2 {
		background: #151b34;
		padding: 3rem 0;
}
.form2 .form_left {
		width: 60%;
}
.form2 .form_right {
		width: 38%;
		margin: 0;
}
.form2 .form_btn {
		width: 100%;
		background: #00ad48;
		border: 2px solid #7dff88;
		border-radius: 100px;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1;
		color: #fff;
		cursor: pointer;
		position: relative;
		transition: all 0.2s ease;
		height: 6rem;
		padding: 1rem 0 1.2rem;
}
/* btn------------------------------------------------------ */
.btn {
		width: 860px;
		display: block;
		margin: 3rem auto 0rem;
		border-radius: 50px;
		background: #4aab46;
		background: -moz-linear-gradient(-45deg, #4aab46 0%, #328d47 100%);
		background: -webkit-linear-gradient(-45deg, #4aab46 0%, #328d47 100%);
		background: linear-gradient(135deg, #4aab46 0%, #328d47 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#27a80d', endColorstr='#0c9b5f', GradientType=1);
		text-decoration: none;
		transition: all .3s;
		line-height: 1.4;
		border: 3px solid #9bfeac;
}
.btn {
		width: 100% !important;
		background: #00ad48;
		border: 2px solid #7dff88;
		border-radius: 100px;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 900;
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1;
		color: #fff;
		cursor: pointer;
		position: relative;
		transition: all 0.2s ease;
		padding: 2rem 0;
		margin: 3rem auto;
}
.btn p {
		color: #fff;
		font-size: 4rem;
		font-weight: bold;
		text-align: center;
}
.btn:hover {
		filter: brightness(1.3);
}
/* scfooter
------------------------------------------------------ */
#scfooter {
		width: 100%;
		position: fixed;
		bottom: 0;
		z-index: 999;
		display: none;
		padding: 2rem 0;
}
#scfooter form {
		width: 750px;
}
#scfooter .form_left {
		width: 59%;
		position: relative;
}
#scfooter .form_right {
		width: 39%;
		margin: 0 auto 0;
}
#scfooter .form_btn {
		width: 100%;
		background: #00ad48;
		border: 2px solid #7dff88;
		border-radius: 100px;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1;
		color: #fff;
		cursor: pointer;
		position: relative;
		transition: all 0.2s ease;
		height: 6rem;
		padding: 1rem 0 1.2rem;
}
/*-------- button:hover --------*/
@-webkit-keyframes hvr-wobble-vertical {
		16.65% {
				-webkit-transform: translateY(8px);
				transform: translateY(8px)
		}
		33.3% {
				-webkit-transform: translateY(-6px);
				transform: translateY(-6px)
		}
		49.95% {
				-webkit-transform: translateY(4px);
				transform: translateY(4px)
		}
		66.6% {
				-webkit-transform: translateY(-2px);
				transform: translateY(-2px)
		}
		83.25% {
				-webkit-transform: translateY(1px);
				transform: translateY(1px)
		}
		100% {
				-webkit-transform: translateY(0);
				transform: translateY(0)
		}
}
@keyframes hvr-wobble-vertical {
		16.65% {
				-webkit-transform: translateY(8px);
				transform: translateY(8px)
		}
		33.3% {
				-webkit-transform: translateY(-6px);
				transform: translateY(-6px)
		}
		49.95% {
				-webkit-transform: translateY(4px);
				transform: translateY(4px)
		}
		66.6% {
				-webkit-transform: translateY(-2px);
				transform: translateY(-2px)
		}
		83.25% {
				-webkit-transform: translateY(1px);
				transform: translateY(1px)
		}
		100% {
				-webkit-transform: translateY(0);
				transform: translateY(0)
		}
}
.hvr-wobble-vertical {
		vertical-align: middle;
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		box-shadow: 0 0 1px rgba(0, 0, 0, 0);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		-moz-osx-font-smoothing: grayscale;
}
.hvr-wobble-vertical:active, .hvr-wobble-vertical:focus, .hvr-wobble-vertical:hover {
		-webkit-animation-name: hvr-wobble-vertical;
		animation-name: hvr-wobble-vertical;
		-webkit-animation-duration: 1s;
		animation-duration: 1s;
		-webkit-animation-timing-function: ease-in-out;
		animation-timing-function: ease-in-out;
		-webkit-animation-iteration-count: 1;
		animation-iteration-count: 1;
}
/*--------吹き出し--------*/
/* 共通 */
.form_attention .attention, .form_attention .attention2 {
		display: none;
		position: absolute;
		left: 15%;
		top: 120%;
		border-radius: 10px;
		background-color: #ff0;
}
.form_attention .attention3 {
		display: none;
		position: absolute;
		left: 15%;
		bottom: 100%;
		border-radius: 10px;
		background-color: #ff0;
}
.form_attention .attention:after, .form_attention .attention2:after {
		position: absolute;
		content: "";
		top: -32px;
		left: 32px;
		width: 0;
		height: 0;
		border: 16px solid transparent;
		border-bottom: 16px solid #ff0;
}
.form_attention .attention3:after {
		position: absolute;
		content: "";
		bottom: -32px;
		left: 32px;
		width: 0;
		height: 0;
		border: 16px solid transparent;
		border-top: 16px solid #ff0;
}
.form_attention:hover .attention, .form_attention:hover .attention2, .form_attention:hover .attention3 {
		z-index: 2;
		display: block;
}
/* 固有 */
.form_attention {
		position: relative;
		z-index: auto;
}
.form_attention img {
		width: 100%;
		height: 100%;
}
.form_attention .attention {
		width: 650px;
}
.form_attention .attention2 {
		width: 300px;
}
.form_attention .attention3 {
		width: 300px;
}
.form_attention .txt {
		top: 8px;
		left: 4px;
		padding: 1rem;
		color: #000;
		font-size: 1.1rem;
		line-height: 1.2;
		text-align: left;
}
/*--------footer_attention--------*/
#footer_attention {
		width: 750px;
		margin: 0 auto;
		background: #fff;
		padding: 4rem 0;
}
#footer_attention p, #footer_attention ul {
		font-size: 1.4rem;
}
#footer_attention ul {
		text-indent: -1rem;
		padding-left: 1rem;
		margin: 2rem auto;
}
.service_list {
		margin: 0 auto;
		font-size: 70%;
		line-height: 1.4;
		background: #fff;
		width: 100%;
}
.service_list th, .service_list td {
		padding: 1.5rem;
		border: 1px solid #ccc;
		vertical-align: middle;
}
.service_list th {
		background: #eee;
		padding: 1.5rem 0;
}
.service_list_A, .service_list_C {
		width: 24%;
}
/*--------footer_attention2--------*/
p + ul {
		margin-top: 2rem;
}
.list2 li:before {
		top: 1rem;
}
.list2 li:after {
		left: 2rem;
		top: 1.5rem;
}
.service_list2 {
		text-indent: -0.85em;
		padding-left: 1em;
}
.service_list2 li {
		font-size: 1.4rem;
}
.attention_box {
		margin: 2rem auto;
		background: #e9fbfa;
		border: solid 2px #cce4e3;
}
.attention_box p {
		width: 95%;
		margin: 0 auto 15px;
		padding-top: 1.5rem;
		line-height: 1.2;
		font-size: 1.4rem;
}
.attention_box h3 {
		width: 95%;
		margin: 20px auto 0;
		font-weight: 900;
}
/*--------footer--------*/
footer {
		width: 100%;
		padding: 3rem 0;
		background: #ddd;
		position: fixed;
		bottom: 0;
}
#footer_inner {
		width: 750px;
		margin: 0 auto;
		font-size: 1rem;
}
#footer_inner .logo {
		width: 25%;
		margin: -1rem auto 3rem;
}
#footer_inner ul {
		display: flex;
		justify-content: center;
}
#footer_inner li {
		padding: 0 2rem;
		border-left: 1px solid #ccc;
}
#footer_inner li:first-child {
		padding-left: 0;
		border: none;
}
#footer_inner p {
		padding-top: .5rem;
		text-align: center;
}
#footer_inner a {
		text-decoration: none;
		color: #989898;
}
/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
【 SP 】
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
@media screen and (max-width:480px) {
		/*--------Basic--------*/
		body {
				width: 100%;
				font-size: 4.8vw;
		}
		a[href^="tel:"] {
				pointer-events: auto;
				text-decoration: underline;
				color: #00e;
		}
		.body_wrap {
				width: 100%;
		}
		.body_wrap {
				margin: 0 auto;
				border-left: none;
				border-right: none;
				padding-bottom: 0;
		}
		/* Float */
		.img_right, .img_left {
				float: none;
				width: 80%;
				padding: 0 0 2rem;
				margin: 0 auto;
		}
		.pc {
				display: none !important;
		}
		.sp {
				display: block !important;
		}
		.xxsmall {
				font-size: 60%;
		}
		.xsmall {
				font-size: 70%;
		}
		.small {
				font-size: 80%;
		}
		.sp_small {
				font-size: 70%;
		}
		.large {
				font-size: 110%;
		}
		.xlarge {
				font-size: 130%;
		}
		.xxlarge {
				font-size: 150%;
		}
		.flex p {
				margin: 0 auto;
		}
		.middle {
				margin: 3vw 0;
		}
		.bottom {
				margin-top: 3vw;
		}
		.top {
				margin-bottom: 3vw;
		}
		.s_img {
				width: 80%;
		}
		.icon_btn {
				background-size: 2.6vw;
		}
		.caption {
				padding: 2vw 0;
				font-size: 4vw;
		}
		.notice {
				font-size: 2.2vw;
				padding-top: 2vw;
				padding-bottom: 2vw;
		}
		.notice2 {
				text-align: left;
				padding: 2vw 0 0 3vw;
				width: 100%;
				font-size: 3vw;
		}
		/* .flex {display:block;} */
		.triangle {
				border-top: 6vw solid #9b8327;
				border-right: 20vw solid transparent;
				border-left: 20vw solid transparent;
				width: 35vw;
				margin: 0 auto;
		}
		.img_logo {
				width: 100%;
		}
		/*--------Section / sub_head / sec_inner--------*/
		section {
				padding: 7vw 0 0;
		}
		.sub_head {
				width: 100%;
				font-size: 5.8vw;
				margin: 0 auto 3vw;
		}
		.lead {
				font-size: 5vw;
				margin: 0 auto 5vw;
		}
		.sec_inner {
				padding: 0 3vw 7vw;
		}
		/*--------Header--------*/
		header {
				width: 100%;
				margin: 0 auto;
				text-align: center;
		}
		header img {
				width: 50%;
		}
		#prihead {
				background: #8e6035;
				width: 100%;
				margin: 0 auto;
		}
		/*arrow*/
		.header_arrow {
				bottom: -9vw;
				right: 1vw;
				z-index: 1;
		}
		.header_arrow img {
				width: 5vw;
		}
		/*head共通*/
		h1 {
				width: 100%;
				padding: 0 0 3rem 0;
				padding-bottom: 0;
		}
		.scrolldown span {
				left: -23px;
				bottom: 10px;
				font-size: 1.4rem;
		}
		.scrolldown:after {
				height: 58px;
				width: 2px;
		}
		.scrolldown:before {
				width: 2px;
		}
		#header_A, #header_B, #header_C, #header_D, #header_E, #header_G {
				background: none;
		}
		.header_face {
				position: absolute;
				bottom: 41vw;
				width: 25vw;
				left: 1vw;
		}
		header p { /*{font-size:2vw;*/ padding: 0;
				color: #3f3a17;
		}
		/*mv 共通*/
		header .header_mv video {
				width: 100%;
				height: auto;
		}
		.mv_subttl {
				font-size: 4.5vw;
		}
		/*head newdesign*/
		#header_new {
				padding: 0vw 3vw 5vw;
				padding-bottom: 7vw;
				background: url(https://placehold.jp/0A0F25/2b3045/1920x1080.jpg)no-repeat center/cover;
		}
		#header_new h1 img {
				margin: 0 auto;
		}
		#header_new #form_header {
				width: 100%;
		}
		#header_new #form_header .form2 {
				padding: 5vw 3vw;
		}
		/*#header_new #form_header .form2 .form_sub p{font-size:4vw;}*/
		#header_new #form_header .form_notice {
				margin: 0 auto;
		}
		#header_new .header_mv {
				width: 100%;
				margin: 0vw auto;
		}
		#header_new .merit_icon {
				margin: 0 auto 4vw;
		}
		#header_new .form_btn2 {
				font-size: 5vw;
		}
		.header_move_wrap img {
				margin: 0 auto 1rem;
		}
		/*--------　list / box --------*/
		ul.list1 {
				margin: 0 auto 0;
				padding: 3vw 1vw 3vw 0;
				width: 100%;
				font-size: 5vw;
		}
		ul.list1 li {
				padding: 1vw 0 1vw 8vw;
				text-shadow: none;
		}
		.list1 li::after {
				top: 1.8vw;
				left: 2vw;
				width: 4vw;
				height: 4vw;
				background-size: 100%;
		}
		.list1 li:before {
				top: 2vw;
				left: 4vw;
				width: 1vw;
				height: 3vw;
				border-right: 2px solid #453513;
				border-bottom: 2px solid #453513;
		}
		/*-------- profile--------*/
		#profile {
				padding: 7vw 0 0;
				padding-top: 0;
		}
		.profile_wrap {
				padding: 0 0 5vw;
		}
		.profile_inner {
				padding: 5vw 3vw;
				margin: 0 auto;
				width: 100%;
		}
		.profile_inner img:last-child {
				margin-bottom: 0;
		}
		.profile_face {}
		#profile .notice {
				padding: 2vw 0 0 0;
				width: 100%;
		}
		/*-------- profile box--------*/
		#profile2 .sec_inner {
				width: 95%;
		}
		.prf_box_wrap {
				padding: 7vw 3vw 5vw;
				/* padding-top: 7vw; */
		}
		.prf_box {
				margin: 0;
		}
		.prf_box p {
				padding: 2vw 0;
				font-size: unset;
				height: auto;
		}
		/*-----------box-----------*/
		.box {
				width: 80%;
				margin: 5vw auto;
		}
		.box p {
				padding: 1rem .2rem;
				font-size: 85%;
				height: auto;
		}
		/* opt_sec1
------------------------------------------------------ */
		#opt_sec1 {
				padding: 7vw 0 0;
		}
		#opt_sec1 .sub_ttl {
				width: 80%;
				margin: 2vw auto 2vw;
		}
		#opt_sec1 .sub_head {
				padding: 0;
		}
		/*-------- content --------*/
		.content {
				width: 100%;
				margin: 5vw auto;
				padding: 3vw;
		}
		#content .sub_ttl {
				margin: 2vw auto 2vw;
		}
		.content:first-child {
				margin: 0 auto 5vw;
		}
		.content img {
				width: 100%;
				position: static;
				transform: scale(1);
		}
		.content h3 {
				font-size: 6vw;
				padding-bottom: 2vw;
				margin: 0 auto 3vw;
		}
		.content_txt {
				font-size: 6vw;
				padding: 0;
				margin-bottom: 3vw;
		}
		.num {
				padding-left: 1vw;
		}
		P + P {
				padding-top: 4vw;
		}
		.form_notice p {
				padding-top: 0;
		}
		.notice {
				font-size: 3vw;
		}
		/*-------- chapter --------*/
		.chapter_wrap {
				width: 100%;
				margin: 0 auto;
		}
		.chapter {
				width: 100%;
				margin: 7vw auto;
		}
		.chapter.flex.reverse {
				flex-direction: column-reverse;
		}
		.chapter + .chapter {
				margin-top: 7vw;
		}
		.chapter_img {
				width: 100%;
		}
		.chapter_box {
				width: 100%;
				padding: 2vw 0 5vw;
				text-align: center;
		}
		.chapter_box_inner {
				margin: auto 0;
		}
		.chapter_num {
				font-size: 9vw;
				line-height: 1.3;
		}
		.chapter_txt {
				font-size: 4.5vw;
				font-weight: 900;
		}
		/*-------- chapter inner--------*/
		.chapter_inner {
				width: 100%;
				margin: -7vw auto 10vw;
		}
		.chapter_inner:last-child {
				margin: 5vw auto 0vw;
		}
		.chapter_inner h3 {
				font-size: 4.7vw;
				font-weight: 900;
				margin: 0 auto 2vw;
		}
		.chapter_inner-box p {
				font-size: 4.5vw;
		}
		/*-------- chapter mv--------*/
		.mv_arrow {
				padding: 0 0 5vw 0;
		}
		.mv_arrow_toform {
				width: 10vw;
				height: 3vw;
		}
		.mv_arrow_triangle {
				border-top: 4vw solid #fff;
				border-right: 8vw solid transparent;
				border-left: 8vw solid transparent;
				width: 15vw;
		}
		.mv_arrow_bottom_inner {}
		.content_mv video {
				width: 100%;
		}
		.mv_arrow_bottom.s {
				width: 100%;
				margin: 0 auto 5vw;
				padding: 1vw 0 0;
		}
		/*future */
		/*.future{margin-bottom: 8vw;}*/
		.feature + .future {
				margin-top: 4vw;
		}
		.feature_ttl {
				font-size: 6.5vw;
				font-family: 'Noto Serif JP', serif;
				position: relative;
				line-height: 1;
				color: #8e6035;
		}
		.feature_num {
				font-family: 'Noto Serif JP', serif;
				font-size: 9vw;
				line-height: 1;
				position: absolute;
				top: -2vw;
				left: 39.5vw;
		}
		.feature_inner {
				align-items: center;
				padding-left: 0;
		}
		.feature_img {
				width: 75%;
				margin: 0 auto;
				padding-top: 5vw;
		}
		.ls {
				letter-spacing: -2px;
		}
		.feature_txt {
				width: 90%;
				font-size: 6vw;
				text-align: center;
				font-family: 'Noto Sans JP', sans-serif;
				line-height: 1.4;
				color: #fff;
				padding: 3vw 0vw 5vw;
				height: auto;
				display: block;
				margin: 5vw auto 0;
		}
		.reverse .feature_txt {
				width: 90%;
				font-size: 6vw;
				text-align: center;
				font-family: 'Noto Sans JP', sans-serif;
				line-height: 1.4;
				color: #fff;
				padding: 3vw 0vw 5vw;
				height: auto;
				display: block;
				margin: 5vw auto 0;
		}
		.feature_txt:before {
				display: none;
		}
		.feature .reverse {
				flex-direction: column-reverse;
		}
		.balloon-004 {
				display: flex;
				justify-content: center;
				position: relative;
		}
		.balloon-004:before {
				position: absolute;
				top: -15px;
				width: 30px;
				height: 15px;
				background-color: #9c782c;
				clip-path: polygon(50% 0, 0 100%, 100% 100%);
				content: '';
				display: block;
				left: auto;
		}
		.reverse .balloon-004 {
				display: flex;
				justify-content: center;
				position: relative;
		}
		.reverse .balloon-004::before {
				position: absolute;
				top: -15px;
				width: 30px;
				height: 15px;
				background-color: #9c782c;
				clip-path: polygon(50% 0, 0 100%, 100% 100%);
				content: '';
				display: block;
				right: auto;
		}
		/*--------　merit_icon --------*/
		.merit_icon {
				margin-bottom: 2vw;
				justify-content: space-between;
				display: flex;
				align-items: stretch;
		}
		.merit_icon li {
				font-size: 3.5vw;
				padding: 1.5vw 0.5vw;
				margin: 0;
				height: 48px;
				display: grid;
				align-items: center;
		}
		.img_center {
				margin: 0 auto;
				display: unset;
				width: 80%;
		}
		/* form
------------------------------------------------------ */
		#message .sec_inner {
				background: #fff;
				margin: 0 auto 7vw;
				padding: 5vw;
				width: 95%;
		}
		.message_txt {
				line-height: 36px;
				background: url(../img/bg-note02.png) bottom;
				margin: 0;
				padding: 0 0 2px;
		}
		.message_wrap {
				margin: 0 3vw;
		}
		/* form------------------------------------------------------ */
		.form {
				padding: 5vw 0 3vw;
		}
		.form form {
				width: 94%;
		}
		.form_sub {
				width: 100%;
				margin: 0;
		}
		.form_sub p {
				font-size: 4.8vw;
				line-height: 1.3;
		}
		.form_input:focus + span, .form_input:not(:placeholder-shown) + span {
				transform: translateY(-2.2rem) scale(0.7);
		}
		.form_inner {}
		.form_label {
				font-size: 3.8vw;
				left: 12vw;
		}
		.form_input {
				font-size: 4.5vw;
				padding: 5vw 0 1rem 12vw;
				height: 14vw;
		}
		.form_input:not(:placeholder-shown) + span {}
		.form_input:focus {}
		.form_input:focus + span {}
		.form_left {
				width: 100%;
		}
		.form_right {
				width: 100%;
				margin: 2vw auto 0;
		}
		.form_attention {}
		.form_caution {}
		.form_notice p {
				font-size: 3vw;
				line-height: 1.3;
		}
		.form_notice {
				margin: .5rem auto 0;
		}
		.form_btn {
				display: table;
				padding: 1rem 6rem;
				font-size: 6vw;
				height: 14vw;
		}
		.form_btn i {}
		.form_btn:hover {}
		/* form------------------------------------------------------ */
		.form2 .form {
				padding: 1rem 0;
				z-index: 3;
		}
		.form2 .form_left {
				width: 100%;
		}
		/*.form2 .form_must {width:1.5em;text-orientation:upright;text-align:center;padding:0.5em 0;}*/
		.form2 .form_label {
				font-size: 3.8vw;
				left: 12vw;
		}
		.form2 .form_input {
				font-size: 4.5vw;
				padding: 5vw 0 1rem 12vw;
				height: 14vw;
		}
		.form2 .form_right {
				width: 100%;
				margin: 2vw auto 0;
		}
		.form2 .form_btn {
				display: table;
				padding: 1rem 6rem;
				font-size: 6vw;
				height: 14vw;
		}
		.form2 .form_btn i {
				right: 1rem;
		}
		/* btn------------------------------------------------------ */
		.btn {
				width: 100%;
				display: table;
				margin: 0 auto;
				padding: 2vw 6vw;
				font-size: 5vw;
				height: 14vw;
		}
		.btn p {
				font-size: 5.5vw;
				padding: 2vw;
		}
		/* scfooter------------------------------------------------------ */
		#scfooter form {
				width: 94%;
		}
		#scfooter.form {
				padding: 1rem 0;
				z-index: 3;
		}
		#scfooter .form_left {
				width: 63%;
		}
		#scfooter .form_must {
				width: 1.5em;
				text-orientation: upright;
				text-align: center;
				padding: 0.5em 0;
		}
		#scfooter .form_label {
				left: 8vw;
				font-size: 3.3vw;
		}
		#scfooter .form_input {
				padding: 2rem 0 1rem 8vw;
		}
		#scfooter .form_right {
				width: 35%;
		}
		#scfooter .form_btn {
				display: block;
				width: 100%;
				margin-top: 0;
				padding: 0;
				font-size: 4vw;
				line-height: 1.1;
				height: 14vw;
		}
		#scfooter .form_btn i {
				right: 1rem;
		}
		/*--------吹き出し--------*/
		.form_attention .attention3 {
				left: auto;
				top: -392%;
				right: 0;
				width: 310px;
		}
		.form_attention .attention3:after {
				right: 32px;
				left: auto;
		}
		/*--------footer_attention--------*/
		.service_list th, .service_list td {
				padding: 1vw;
		}
		.service_list th {
				background: #f5f5f5;
		}
		.service_list td.large {
				font-size: 105%;
		}
		.service_list td:last-child {
				width: 30%;
		}
		#service p {
				text-indent: -1em;
				padding-left: 1em;
		}
		.service_list2 {
				text-indent: -1em;
				padding-left: 1em;
		}
		#service .sec_inner {
				padding: 5vw 3vw 5vw;
		}
		section#service {
				padding: 0 0 1vw;
		}
		/*--------footer-------*/
		footer {
				padding: 4vw 0;
		}
		#footer_inner {
				width: 90%;
		}
		#footer_inner p {
				text-align: center;
		}
}