@charset "utf-8";
/* CSS Document */

.pagetop {margin: 5em auto 2em !important;text-align: right;}
.pagetop a {color: #FFF;padding: 2em 1em;text-align: right;font-size: 0.75em;text-decoration: none;border-radius: 6px;}
.pagetop:hover {opacity: 0.8;}

/* -------------------------------------------------- */
/* ---common----------------------------------------- */
.pc {display: inherit;}
.sp {display: none;}


body{
	margin: 0px;
	padding: 0px;
	width: 100%;
	font-size: 10px;
	text-align: center;
	-webkit-text-size-adjust: none;
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, "メイリオ", sans-serif;
	text-align: justify;
	text-justify: inter-ideograph;
	background-image: none;
	background-repeat: repeat-x;
	background-position: top;
}

img {image-rendering: -webkit-optimize-contrast;}

table {
	border: 0;
	border-spacing: 0;
	border-collapse: collapse;
}

td, th {font-size: 12px;}

form{margin: 0px;}

input {
	padding: 0.5em;
	box-sizing: border-box;
}

a:link {
	color: #8DB93C;
	text-decoration: none;
}
a:visited {
	color: #8DB93C;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
	color: #FF9933;
}

div[class*="inner"] {
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
	overflow: hidden;
}

[class$="flexBox"] {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}

table.borderTable {width: 100%;}

table.borderTable > tbody > tr > th {
	padding: 0.5em;
	font-weight: normal;
	line-height: 1em;
	vertical-align: top;
	background: #efefef;
	border:1px solid #aaaaaa;
}

table.borderTable > tbody > tr > td {
	padding: 0.5em;
	line-height: 1em;
	vertical-align: top;
	background: #ffffff;
	border:1px solid #aaaaaa;
}


/* -------------------------------------------------- */
/* ---header----------------------------------------- */

header {}

/*.page_top{
	padding: 0;
	margin: 0;
	width: 100%;
	text-align: center;
	border-bottom: 8px solid #8db93c;
}*/
.page_top{
	padding: 0;
	margin: 0;
	width: 100%;
	text-align: center;
	background: #ffffff;
	border-bottom: 8px solid #8db93c;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999999;
}
.page_top::after {
	content: "";
	width: 100%;
	height: 5em;
	background-image: linear-gradient(to top, #8db93c 0%, #3c8db9 100%);
	background-size: 100% 5em;
}

.header__inner {
	padding: 1.5em 1em;
	align-items: center;
}

.header__logo {
	margin: 0;
	width: 40%;
	font-size: 2em;
	text-align: left;
}
.header__logo a {display: block;}

.header__logo img {vertical-align: middle;}

.header__navList a , .header__navList a:visited {color: #000000;}

.aCentertextRight__flexBox {
	margin: 0 0 0 auto;
	display: flex;
	align-items: center;
}

.aCenterimageBox {margin-left: 1em;}


.headerNavSP {display: none;}
/* -------------------------------------------------- */
/* ---login------------------------------------------ */
.headingText18bgABK {
	padding: 1em 1em 0.75em 1em;
	margin: 0;
	width: 94%;
	width: calc(100% - 2em);
	font-size: 1.8em;
	line-height: 1em;
	text-align: center;
	font-weight: 600;
	color: #ffffff;
	background: rgba(0, 0, 0, 0.4);
	position: absolute;
	top: 0;
	left: 0;
}
.login__listLeft {
	padding: 0;
	margin: 1em 0 3em 0;
}

.login__listLeft li {
	padding: 0 0 0 1em;
	text-indent: -1.2em;
	list-style: disc inside;
	font-size: 1.6em;
	line-height: 1.5em;
}

.login__txtIndent {
	text-indent: -1em;
	padding-left: 1em;
}

.header__navList {
	padding: 0;
	display: flex;
	list-style: none;
}

.header__navItem a {
	padding: 0.5em;
	font-size: 1.5em;
	display: block;
}

.header__navItem a:hover {
	color: #ffffff;
	background: #8db93c;
	transition: all 0.6s;
}

.headerBox {
	width: 100%;
	background: url("image/header_image01.png")no-repeat;
	background-size: cover;
	aspect-ratio: 16 / 9;
	position: relative;
}

.headerBox02 {
	width: 100%;
	min-height: 750px;
	background: url("image/header_image02.png")no-repeat;
	background-size: cover;
	aspect-ratio: 2 / 1;
	position: relative;
}

.headerBox03 {
	width: 100%;
	min-height: 750px;
	background: url("image/header_image03.png")no-repeat;
	background-size: cover;
	background-position: center;
	aspect-ratio: 2 / 1;
	position: relative;
}

.m-t5bgWH {
	margin: auto;
	width: 55%;
	height: fit-content;
	position: absolute;
	top: 96px;
	right: 0;
	bottom: 0;
	left: 0;
}
.m-t5bgWH__wrap{
	padding: 6em 2em 2em 2em;
	margin: auto;
	aspect-ratio: 2 / 1;
	background: rgba( 255 , 255 , 255 , 0.6);
	position: relative;
	}

.headingText18 {
	font-size: 1.8em;
	line-height: 1em;
	font-weight: 600;
}

.btn__loginW100pcBGYGR {
	padding: 0.8em;
	width: 100%;
	font-size: 1.8em;
	color: #ffffff;
	background: #8db93c;
	border: 1px solid #8db93c;
	border-radius: 6px;
}

.btn__loginW100pcBGYGR:hover {
	background: #a7cd63;
	border: 1px solid #a7cd63;
	transition: all 0.6s;
}

.login__caption {
	margin: 1em 0 0.3em 0;
	font-size: 1.4em;
	}

.input__w100pch25 {
	padding: 0.5em;
	width: 100%;
	font-size: 1.8em;
	height: 2.5em;
	border: 1px solid #000000;
	border-radius: 6px;
}

.input__w100pch25:hover {
	background: #bfdcff;
	border: 1px solid #5da7ff;
	transition: all 0.6s;
}

.scrollArea {
	overflow-y: scroll;
	padding: 1.5em 0 1.5em 1.5em;
	width: 100%;
	height: 300px;
	font-size: 1.5em;
	line-height: 1.5em;
	background: #ffffff;
	box-sizing: border-box;
	box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2);
}

.scrollArea h3 {
	font-size: 1.4em;
	font-weight: 600;
	border-left: 8px solid #8db93c;
}

.scroll {
	padding: 5em 0 2em;
	background: #f6f6f6;
}
/* -------------------------------------------------- */
/* ---page------------------------------------------- */
.pageContents {
	padding: 136px 0 0 0;
	font-size: 12px;
}

.pageContents__inner {}

.heading__textLeftB-l10 {
	padding: 0 0 0 0.5em;
	margin-top: 0;
	font-size: 3em;
	font-weight: 600;
	border-left: 10px solid #8db93c;
}
/*.pageContents__inner.flexBox {
	flex-direction: row-reverse;
}*/

.column2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.column2__side {
	margin: 0 auto 0 0;
	width: 25%;
	flex-direction: row-reverse;
	justify-content: flex-start;
	align-self: flex-start;
}

.column2__loginBox ,.column2__leftBox , .column2__rightBox {
	padding: 1.5em;
	margin: 0 0 6em 0;
	width: 85.8%;
	width: calc(100% - 3em);
	background: #ffffff;
	border: 1px solid #88966a;
	border-radius: 25px;
}

.heading__textBoldSide {
	margin-top: 0;
	font-size: 2em;
	color: #8db93c;
	font-weight: 600;
	line-height: 1em;
}

.column2__main {
	width: 70%;
}

.box__p1border1 {
	padding: 1em;
	margin: 1em 0 1em 0;
	font-size: 1.4em;
	border-bottom: 1px dashed #000000;
}

.box__p1border1 > .flexBox {
	margin: 0.8em 0;
	align-items: center;

}
.w6Center {
	padding: 0.5em;
	width: 6em;
	font-size: 1.2em;
	text-align: center;
	color: #000000;
	background: #b8d681;
	border-radius: 8px;
	border-radius: 25px;
}

.box__p1border1 input[type="checkbox"] {
	margin: auto 1em auto 0;
	width: 1em;
	height: 1em;
	color: #b8d681;
	border: 1px solid #b8d681;
}

.box__p1border1 input[type="checkbox"]:hover {
	color: #b8d681;
	background: #b8d681;
}

.flexW100pc {
	margin: 0.5em 0 0.8em 0;
	width: 100%;
/*	height: 1.8em;*/
	font-size: 1.2em;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}


.privacy .pp__textBox {
	font-size: 1.2rem;
	line-height: 1.8em;
}

.pp__textBox p + p{
	margin: 1.5em 0 0 0;
}

.pp__list {
	padding: 0;
	list-style: none;
	counter-reset: number 0;
}
.pp__list li {
	padding: 0 0 0 1.5em;
	text-indent: -1em;
}
.pp__list li::before {
	content: counter(number) ".";
	counter-increment: number 1;
}


.m-b1text14 {
	margin: 0 0 1em 0;
	font-size: 1.4em;
}

.formBox {
	width: 100%;
	align-items: center;
}

input[type="text"]:hover ,
input[type="password"]:hover ,
textarea:hover {
	background: #eaf3da;
	transition: all 0.5s;
}

.formBox__left {
	margin:0 0 1.5em 0;
	width: 30%;
	font-size: 1.4em;
	line-height: 1.8em;
}

.formBox__right {
	margin:0 0 1.5em 0;
	width: 70%;	
}

.input__p05w60pc {
	padding: 0.5em;
	width: 60%;
}
.textarea__w90pch5 {
	padding: 0.5em;
	width: 90%;
	aspect-ratio: 4 / 1;
	display: block;
	resize:none;
}


.answerBox {
	margin: 1em 0;
	width: 100%;
}

.answerBox__no {
	font-size: 1.4em;
	color: #8DB93C;
	font-weight: 600;
}

.answerBox__question-text {
	width: 88%;
	width: calc(100% - 4em);
	font-size: 1.4em;
	line-height: 1.8em;
}

.answerBox__radio {
	margin: 1em 0 1.5em 0;
	width: 100%;
	align-items: center;
	font-size: 1.4em;
}

.aB-radio2__LeftBox {
	width: 49.75%;
	background: #eaf3da;
	border-radius: 35px 0 0 35px;
	
	justify-content: flex-start;
	border: 1px solid #88966a;
}
.aB-radio2__LeftBox label {
	padding: 1em 0.5em 1em 2em;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}
.aB-radio2__RightBox {
	width: 49.75%;
	border-left: 0;
	background: #ffffff;
	border-radius: 0 35px 35px 0;
	justify-content: flex-start;
	border: 1px solid #88966a;
	border-left: 0;
}
.aB-radio2__RightBox label {
	padding: 1em 0.5em 1em 2em;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}

.aB-radio3__LeftBox {
	width: 33.2%;
	background: #eaf3da;
	border-radius: 35px 0 0 35px;
	
	justify-content: flex-start;
	border: 1px solid #88966a;
	border-right: 0;
}
.aB-radio3__LeftBox label {
	padding: 1em 0.5em 1em 2em;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}
.aB-radio3__CenterBox {
	width: 33.2%;
	background: #ffffff;
	justify-content: flex-start;
	border: 1px solid #88966a;
}
.aB-radio3__CenterBox label {
	padding: 1em 0.5em 1em 2em;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}
.aB-radio3__RightBox {
	width: 33.2%;
	border-left: 0;
	background: #eaf3da;
	border-radius: 0 35px 35px 0;
	justify-content: flex-start;
	border: 1px solid #88966a;
	border-left: 0;
}
.aB-radio3__RightBox label {
	padding: 1em 0.5em 1em 2em;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}

.answerBox__radio input[type="radio"] {
	margin: auto 1em auto 0;
}
div[class^="aB-radio"]:hover {
	background: #b8d681;
	transition: all .6s; 
}

.btn__p08w30pc {
	margin: 1.5em 0;
	padding: 0.8em;
	width: 30%;
	font-size: 24px;
	color: #ffffff;
	background: #8DB93C;
	border: 1px solid #8DB93C;
	border-radius: 3em;
}
.btn__p08w45pc {
	margin: 1.5em 0;
	padding: 0.8em;
	width: 45%;
	font-size: 24px;
	color: #ffffff;
	background: #8DB93C;
	border: 1px solid #8DB93C;
	border-radius: 3em;
}

.btn__p08w30pc:hover , .btn__p08w45pc:hover {
	background: #a7cd63;
	transition: all 0.6s;
}

.btn__m-tb15Area {
	margin: 1.5em 0;
	width: 100%;
}
.btn__m-tb15w50pcArea {
	margin: 1.5em auto;
	width: 50%;
}

.border1b-r25Box {
	padding: 1.5em;
	margin: 0 0 6em 0;
	width: 94%;
	width: calc(100% - (3em + 2px));
	background: #ffffff;
	border: 1px solid #88966a;
	border-radius: 25px;
}

/* -------------------------------------------------- */
/* ---footer----------------------------------------- */
footer {
	background: #333333;
}

.footer__inner {
	padding: 3em 0;
	width: 100%;
	max-width: 1000px;
}

footer .footer__logo {
	margin: 2em auto;
	width: 25%;
	text-align: center;
}

.m-tb15textCenter {
	margin: 1.5em 0;
	text-align: center;
}

footer small {
	margin: 0 auto;
	text-align: center;
	font-size: 1em;
	color: #ffffff;
}



/* -------------------------------------------------- */
/* ---parts------------------------------------------ */
/*input {font-size: 1.2em;}*/

.m-t05 {margin: 5px 0 0 0;}
.m-t15 {margin: 15px 0 0 0;}
.m-tb15 {margin: 15px 0 15px 0;}


.m-t5em {margin: 5em 0 0;}
.m-tb5em {margin: 5em 0;}

.m-l1em {margin-left: 1em;}

.w50pc {width: 50%;}
.w60pc {width: 60%;}
.w100pc {width: 100%;}

.w520 {width: 520px;}

.h50 {height: 50px;}

.textLeft {text-align: left;}
.textCenter {text-align: center;}
.textRight {text-align: right;}

.headerTextS {font-size: 1.5em;}
.headerTextM {font-size: 2em;line-height: 1.2em;}
.headerTextL {font-size: 3em;}

.size14 {font-size: 1.4em;}

.bgLGY {background: #f8faf1;}

input, textarea {font-size: 18px;}
/* -------------------------------------------------- */
/* ---sp--------------------------------------------- */
@media (max-width: 767px) {
.pc {display: none;}
.sp {display: inherit;}

body {
	width: 100%;
}

div[class*="inner"] {
	margin: 0 auto;
	width: 92vw;
	width: calc(100vw - 3em);
	max-width: 100%;
}
.header__logo {
	width: 70%;
	font-size: 1.6em;
}

/* -------------------------------------------------- */
/* ---header Nav------------------------------------- */
.headerNavPC {display: none;}
.headerNavSP {display: inherit;}

.page_top {
	position: inherit;
}
.header__inner {
	padding: 1.5em 1.5em;
	width: 94vw;
	width: calc(100vw - 3em);
}

.hamburgerMenu--btn {
	height: 61px;
	width: 61px;
	position: fixed;
	top: 10px;
	right: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 90;
	background: #3584bb;
}
.hamburgerMenu--btn span,
.hamburgerMenu--btn span:before,
.hamburgerMenu--btn span:after {
	height: 3px;
	width: 25px;
	content: "";
	display: block;
	border-radius: 3px;
	background: #ffffff;
	position: absolute;
}
.hamburgerMenu--btn span:before {bottom: 8px;}

.hamburgerMenu--btn span:after {top: 8px;}

.hamburgerMenu--btn {
	height: 62px;
	width: 62px;
	position: fixed;
	top: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 90;
	background: #8DB93C;
}

.hamburgerMenu--btn span,
.hamburgerMenu--btn span:before,
.hamburgerMenu--btn span:after {
	height: 3px;
	width: 25px;
	content: "";
	display: block;
	border-radius: 3px;
	background: #ffffff;
	position: absolute;
}

.hamburgerMenu--btn span:before {bottom: 8px;}

.hamburgerMenu--btn span:after {top: 8px;}

#hamburgerMenu--check {display: none;}

#hamburgerMenu--check:checked ~ .hamburgerMenu--btn span {
	background: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}

#hamburgerMenu--check:checked ~ .hamburgerMenu--btn span::before {
	bottom: 0;
	transform: rotate(45deg);
}

#hamburgerMenu--check:checked ~ .hamburgerMenu--btn span::after {
	top: 0;
	transform: rotate(-45deg);
}

.header__hamburgerMenu--content {
	width: 80%;
	position: fixed;
	top: 60px;
	left: 100%;/*leftの値を変更してメニューを画面外へ*/
	z-index: 80;
	background: #8DB93C;
	transition: all 0.5s;/*アニメーション設定*/
}
.header__hamburgerMenu--content ul {
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
}

.header__hamburgerMenu--content ul li {
	width: 100%;
	border-bottom: solid 1px #ffffff;
	list-style: none;
	text-align: left;
}
.header__hamburgerMenu--content ul li a {
	padding: 20px 3%;
	width: 100%;
	display: block;
	font-size: 15px;
	box-sizing: border-box;
	color:#ffffff;
	text-decoration: none;
	position: relative;
}

.header__hamburgerMenu--content ul li a:hover {
	padding: 20px 13%;
	display: block;
	background: #a7cd63;
	transition: all 0.5s;
}

#hamburgerMenu--check:checked ~ .header__hamburgerMenu--content {left: 20%;/*メニューを画面内へ*/}

.headerBox , .headerBox02 , .headerBox03 {
	aspect-ratio: 1 / 2;
	height: calc(100vh - 63px);
	min-height: 100vh;
	
}


footer .footer__logo {width: 60%;}


.m-t5bgWH {
	margin: auto;
	width: 90%;
	top: 0;
}
.login__listLeft {
	margin: 1em 0;
}

.login__txtIndent {text-indent: -1em;}

.spFlex {
	display: flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	align-items: center;
}

.login__caption {
	margin: 0 0 0.5em 0;
	width: 30%;
}
.login__caption + input {
	margin: 0 0 0.5em 0;
	width: 65%;
}


.btn__loginW100pcBGYGR {
	padding: 0.8em;
	font-size: 1.4em;
}

.scrollArea {
	padding: 1em;
	width: 100%;
}

footer small {font-size: 1.5em;}


.pageContents {padding: 0;}


.heading__textLeftB-l10 {
	margin: 0.5em 0 2em 0;
	font-size: 2em;
}

.pageContents__inner.flexBox {
	flex-direction: column;
}

.column2__main , .column2__side {width: 100%;}

.privacy .pp__textBox {
	line-height: 1.4em;
}

.privacy .pp__textBox {line-height: 1.4em;}

.answerBox__question-text {line-height: 2em;}

.answerBox__radio {margin: 1.5em 0 2em 0;}

.formBox {flex-direction: column;}

.formBox__left , .formBox__right {
	width: 100%;
	display: block;
}
.formBox__left  {
	margin: 0 0 0.2em 0;
	}

.input__p05w60pc {
	width: 100%;
}

.textarea__w90pch5 {
	width: 95%;
	width: calc(96vw - 1em - 2px);
}


.btn__p08w30pc {
	margin: 0.2em 0;
	width: 40%;
	font-size: 1.6em;
}
.btn__p08w45pc {
	margin: 0.2em 0;
	width: 60%;
	font-size: 1.3em;
}

.answerBox__textBox {
	margin: 1em 0 1.5em 0;
	width: 100%;
	text-align: right;
	align-items: center;
	font-size: 1.4em;
	border: 1px solid #88966a;
	background: #eaf3da;
	border-radius: 50px;
}

.aB-textBox__RightBox {
	padding: 1em 0.5em 1em 2em;
	margin: 0 2em 0 auto;
	text-align: right;
	align-items: center;
}
.aB-textBox__RightBox input {
	margin: 0 1em 0 0;
}

.answerBox__radio {
	margin: 1.5em 0 2em 0;
	flex-wrap: nowrap;
	align-items: stretch;
}

div[class^="aB-radio2"] {
	width: 49.55%;
	align-self: center;
}

div[class^="aB-radio3"] {
/*	padding: 0.5em;
	align-self: center;*/
}

div[class^="aB-radio3"] label {
	padding: 0.5em;
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
}


.aB-radio3__LeftBox {}

.aB-radio3__LeftBox ,
.aB-radio3__RightBox {line-height: 2em;}


.column2 {
	display: inherit;
}

.column2__loginBox {display: none;}

.column2__side {order: 2;}
.column2__main {order: 1;}

.column2__leftBox ,.column2__rightBox {
	padding: 0;
	width: 100%;
	background: none;
	border: 0;
}

.column2__side .heading__textBoldSide {
	padding: 0 0 0 0.5em;
	margin: 0.5em 0 2em 0;
	font-size: 2em;
	color: #000000;
	font-weight: 600;
	border-left: 10px solid #8db93c;
}

.m-tb15 {margin: 3em 0 3em 0;}

}/*@media (max-width: 767px)*/
