@charset "utf-8";

/*共通枠*/

* {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

body {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1;
	color: #3E3A39;
	background-color: #fff;
}

body.is-menuOpen {
	position: fixed;
	width: 100%;
}

img {
	border:0;
	vertical-align:bottom;
}

*:focus {
	outline: none;
}

a {
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	cursor: pointer;
	text-decoration: none;
}
.nolink {
	pointer-events: none;
}

/* 共通
======================================================*/

.container {
	width: 100%;
	max-width: 306px;
	margin: 0 auto;
}
.container_wrap {
	padding: 0;
}

.anchor {
	padding-top: 50px;
	margin-top: -50px;
	display: block;
	position: relative;
	z-index: -1;
}

/* header
======================================================*/

.header {
	width: 100%;
	height: 50px;
	position: fixed;
	box-shadow: 0px 3px 6px rgba(0,0,0,0.16);
	background-color: #fff;
	z-index: 999;
	text-align: center;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	top: 0px;
	z-index: 100;
}
.header h1 {
	display: inline-block;
}
.header h1 a {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
.header h1 a .txt {
	margin-right: 5px;
	position: relative;
}
.header h1 a .txt span {
	font-weight: 700;
	font-size: 12px;
	color: #3E3A39;
	text-align: left;
}
.header h1 a .txt span:nth-of-type(1) {
	display: block;
	letter-spacing: 0.09em;
}
.header h1 a .txt span:nth-of-type(2) {
	display: block;
	letter-spacing: -0.025em;
	margin-top: 2px;
}
.header h1 a .img {
	padding: 0;
	position: relative;
	top: -4px;
}
.header h1 a .img img {
	width: auto;
	height: 22.92px;
}

.head_cc {
	height: 60px;
	background-color: #DA000F;
	color: #fff;
	text-align: center;
	font-weight: 900;
	line-height: 60px;
	font-size: 21px;
	margin-top: 50px;
}
.head_cc span {
	letter-spacing: -0.2em;
}


/* top_view
======================================================*/

.sc01 {
	background: url("../img/top_view_back2.png?001") center top repeat-y;
	background-color: #DA000F;
	padding-bottom: 60px;
}
.top_view_container {
	width: 100%;
	max-width: 450px;
	margin: 0 auto;
}
.top_view {
	position: relative;
}
.top_view p img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 359px) {

.top_view .head_txt {
	font-size: 13px;
}

}


.top_view .main_txt {
	text-align: center;
	margin-top: 8px;
}
.top_view .main_txt img {
	width: 100%;
	max-width: 306px;
	height: auto;
}

.uketuketyu_wrap {
	padding: 0 10px;
}

.uketuketyu_container {
	width: 100%;
	max-width: 450px;
	margin: 40px auto 0 auto;
}
.top_view_uketuketyu {
	border: solid 5px #DA000F;
	text-align: center;
	padding: 34px 0;
}
.top_view_uketuketyu p {
	padding: 0 20px;
}
.top_view_uketuketyu p img {
	max-width: 100%;
	height: auto;
}
.uketuketyu_txt {
	font-weight: 500;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.03em;
	text-indent: 0.03em;
	text-align: center;
	margin-top: 15px;
}
@media screen and (max-width: 359px) {

.uketuketyu_txt {
	font-size: 15px;
}

}


.top_view_info {
	margin-top: 70px;
}
.top_view_info dl dt {
	height: 90px;
	padding-top: 9px;
	text-align: center;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 900;
	color: #fff;
	background-color: #DA000F;
	box-sizing: border-box;
}
.top_view_info dl dt span {
	letter-spacing: -0.2em;
}
.top_view_info dl dd {
	line-height: 1.5;
	text-align: center;
	font-weight: 700;
	color: #DA000F;
	font-size: 16px;
	margin-top: 27px;
}
.top_view_info dl dd span {
	letter-spacing: -0.2em;
}
.top_view_info a {
	margin-top: 18px;
	height: 69px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	box-sizing: border-box;
	border: solid 2px #DA000F;
	border-radius: 100vh;
	background: url("../img/list01.svg") center right 33px no-repeat;
	background-color: #fff;
	font-size: 20px;
	font-weight: 700;
	color: #DA000F;
	padding-left: 26px;
	transition: background 0.3s;
}
.top_view_info a:hover {
	background: url("../img/list01.svg") center right 18px no-repeat;
}

@media screen and (max-width: 359px) {

.top_view_schedule_img ul li img {
	max-width: 80%;
	height: auto;
}

}

/* sc02
======================================================*/

.sc02 {
	padding: 90px 0 60px 0;
	text-align: center;
}
.sc02 h2 {
	text-align: center;
	display: inline-block;
	padding: 0 31px;
	position: relative;
}
.sc02 h2::before {
	content:"";
	display: block;
	position: absolute;
	bottom: -9px;
	left: 0px;
	width: 100%;
	height: 20px;
	background-color: #FFEE45;
}
.sc02 h2 span:nth-of-type(1) {
	font-weight: 900;
	font-size: 40px;
	color: #DA000F;
	line-height: 1;
	position: relative;
}
.sc02 h2 span:nth-of-type(2) {
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	position: relative;
}
.sc02 .head_txt {
	font-weight: 900;
	font-size: 13px;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
	line-height: 1.53;
	color: #DA000F;
	margin-top: 20px;
	background: url("../img/sc02_01.svg") center top no-repeat;
	background-size: 100% auto;
	padding: 4px 0 0 0;
}
.sc02 h3 {
	font-weight: 700;
	font-size: 22px;
	color: #DA000F;
	margin-top: 10px;
}
.sc02 .txt {
	font-weight: 500;
	font-size: 16px;
	line-height: 1.5;
	margin-top: 26px;
}
.sc02 .txt span {
	letter-spacing: -0.2em;
}


/* sc03
======================================================*/

.sc03 {
	padding: 40px 0 90px 0;
	background-color: #FDF7F7;
}
.sc03_content {
	border: solid 2px #DA000F;
	box-sizing: border-box;
	border-radius: 3px;
	position: relative;
	padding: 36px 10px 28px 10px;
}
.sc03 h2 {
	text-align: center;
	position: absolute;
	top: -43px;
}
.sc03 h2 img {
	width: 100%;
	height: auto;
}
.sc03 p {
	font-weight: 500;
	font-size: 14px;
	line-height: 1.28;
	text-align: center;
}
.sc03 ul {
	list-style: none;
	display: -webkit-flex;
	display: flex;
	gap: 0 5px;
	margin-top: 13px;
}
.sc03 ul li {
	width: calc(( 100% - 10px ) / 3 );
	background-color: #DA000F;
}
.sc03 ul li span:nth-of-type(1) {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	height: 38px;
	width: 100%;
	font-weight: 700;
	font-size: 12px;
	line-height: 1.16;
	text-align: center;
	color: #fff;
}
.sc03 ul li span:nth-of-type(2) {
	background-color: #DA000F;
	box-sizing: border-box;
	padding: 0 4px 4px 4px;
	display: block;
}
.sc03 ul li span:nth-of-type(2) span {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	background-color: #fff;
	height: 51.4px;
}


/* sc04
======================================================*/

.sc04 {
	padding: 0px 0 80px 0;
}
.sc04 h2 {
	text-align: center;
	display: inline-block;
	padding: 0;
	position: relative;
	width: 100%;
}
.sc04 h2::before {
	content:"";
	display: block;
	position: absolute;
	bottom: -9px;
	left: 0px;
	width: 100%;
	height: 20px;
	background-color: #FFEE45;
}
.sc04 h2 span:nth-of-type(1) {
	font-weight: 900;
	font-size: 40px;
	line-height: 1;
	position: relative;
}
.sc04 h2 span:nth-of-type(2) {
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	position: relative;
}
.sc04 h2 span:nth-of-type(2) span {
	font-weight: 900;
	font-size: 40px;
	line-height: 1;
	color: #DA000F;
}
.sc04 ul {
	list-style: none;
	margin-top: 30px;
}
.sc04 ul li {
	border: solid 2px #DA000F;
	background-color: #FDF7F7;
	padding: 28px 0 0 0;
}
.sc04 ul li:not(:first-child) {
	margin-top: 30px;
}
.sc04 dl {
	padding-bottom: 20px;
}
.sc04 dl dt {
	text-align: center;
	font-weight: 900;
	font-size: 20px;
	line-height: 1.4;
}
.sc04 dl dd .img {
	display: block;
	text-align: center;
	margin-top: 10px;
}
.sc04 dl dd .img img {
	max-width: 100%;
	height: auto;
}
.sc04 dl dd .txt {
	font-weight: 500;
	font-size: 16px;
	line-height: 1.375;
	text-align: center;
	margin-top: 12px;
}
.sc04 dl dd .kome {
	font-weight: 500;
	font-size: 14px;
	line-height: 1.42;
	text-align: center;
	margin-top: 6px;
}
.sc04 ul div {
	background-color: #DA000F;
	font-weight: 900;
	font-size: 14px;
	color: #fff;
	line-height: 2;
	padding: 17px 26px;
}


/* sc05
======================================================*/

.sc05 {
	padding: 83px 0 80px 0;
	background-color: #FDF7F7;
}
.sc05 h2 {
	text-align: center;
	display: inline-block;
	padding: 0;
	position: relative;
	width: 100%;
}
.sc05 h2::before {
	content:"";
	display: block;
	position: absolute;
	bottom: -9px;
	left: 0px;
	width: 100%;
	height: 20px;
	background-color: #FFEE45;
}
.sc05 h2 span:nth-of-type(1) {
	font-weight: 900;
	font-size: 30px;
	line-height: 1;
	position: relative;
}
.sc05 h2 span:nth-of-type(2) {
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	position: relative;
}
.voice_list {
	list-style: none;
	margin-top: 30px;
}
.voice_list li {
	border-top: solid 2px #DA000F;
	border-bottom: solid 2px #DA000F;
	padding: 19px 0;
}
.voice_list li:not(:first-child) {
	margin-top: 28px;
}
.voice_list li .img {
	display: block;
	text-align: center;
}
.voice_list li .img img {
	border-radius: 100%;
	width: 141px;
	height: 141px;
	border: solid 2px #DA000F;
}
.voice_list li .v_name {
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.03em;
	text-indent: 0.03em;
	text-align: center;
	display: block;
	margin-top: 20px;
}
.voice_list li p {
	font-weight: 500;
	font-size: 16px;
	line-height: 1.5;
	margin-top: 19px;
}


/* sc06
======================================================*/

.sc06 {
	padding: 40px 0 40px 0;
	background-color: #DA000F;
}
.sc06 h2 {
	width: 247px;
	margin :0 auto 0 auto;
	text-align: center;
	line-height: 1;
	font-weight: 900;
	font-size: 30px;
	color: #fff;
}
.sc06 h2 span.txt_wrap {
	position: relative;
	display: block;
}
.sc06 h2 span.txt_wrap:not(:first-child) {
	margin-top: 14px;
}
.sc06 h2 span.txt_wrap::before {
	content:"";
	display: block;
	position: absolute;
	bottom: -9px;
	left: 0px;
	width: 100%;
	height: 20px;
	background-color: #BA0001;
}
.sc06 h2 span.txt_wrap span {
	position: relative;
	z-index: 2;
}
.sc06_list {
	text-align: center;
}
.sc06 ul {
	list-style: none;
	margin-top: 30px;
	display: inline-block;
}
.sc06 ul li {
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	color: #fff;
	padding-left: 26px;
	background: url("../img/sc06_list.svg") left center no-repeat;
	min-height: 18px;
	text-align: left;
}
.sc06 ul li:not(:first-child) {
	margin-top: 17px;
}


/* sc07
======================================================*/

.sc07 {
	padding: 80px 0 80px 0;
	background: url("../img/sc07_back.svg") center top -1px no-repeat;
	background-color: #fff;
}
.sc07 .head_txt {
	background: url("../img/sc07_list.svg") center bottom no-repeat;
	text-align: center;
	font-weight: 900;
	font-size: 20px;
	line-height: 1;
	padding-bottom: 5px;
}
.sc07_h3_box {
	text-align: center;
}
.sc07_h3_box h3 {
	display: inline-block;
	width: 228px;
	margin-top: 13px;
}
.sc07_h3_box h3 .txt_wrap {
	display: block;
	position: relative;
}
.sc07_h3_box h3 .txt_wrap:not(:first-child) {
	margin-top: 12px;
}

.sc07_h3_box h3 .txt_wrap::before {
	content:"";
	display: block;
	position: absolute;
	bottom: -9px;
	left: 0px;
	width: 100%;
	height: 20px;
	background-color: #FFEE45;
}
.sc07_h3_box h3 .txt_wrap span {
	position: relative;
	z-index: 2;
	font-size: 30px;
	font-weight: 900;
}
.sc07_single {
	margin-top: 32px;
}
.sc07_single.st {
	margin-top: 40px;

}


.sc07_single h4 {
	font-weight: 900;
	font-size: 20px;
	letter-spacing: 0.05em;
	line-height: 1;
	display: inline-block;
	border-bottom: solid 1px #707070;
	padding-bottom: 5px;
}
.sc07_single dl dt {
	position: relative;
	margin-top: 15px;
}
.sc07_single dl dt span {
	display: inline-block;
	height: 37px;
	background-color: #DA000F;
	color: #fff;
	font-weight: 900;
	font-size: 20px;
	line-height: 37px;
	padding: 0 15px;
	margin-top: 0;
	letter-spacing: 0.05em;
}
.sc07_single dl dd .img {
	margin: 11px 0;
	display: block;
}
.sc07_single dl dd .txt {
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.03em;
	line-height: 1.5;
}
.sc07_single dl dd .txt span.lt0 {
	letter-spacing: 0;
}
.sc07_single dl dd .txt span.lt-50 {
	letter-spacing: -0.05em;
}
.sc07_single dl dd .txt span.lt-200 {
	letter-spacing: -0.2em;
}

/* sc08
======================================================*/

.sc08 {
	padding: 0px 0 80px 0;
	background-color: #FDF7F7;
}

.sc08 h2 {
	width: 263px;
	margin :0 auto 0 auto;
	text-align: center;
	line-height: 1;
	font-weight: 900;
	font-size: 30px;
}
.sc08 h2 span.txt_wrap {
	position: relative;
	display: block;
}
.sc08 h2 span.txt_wrap:nth-of-type(1) {
	position: relative;
	display: block;
	font-size: 40px;
	color: #DA000F;
}
.sc08 h2 span.txt_wrap:nth-of-type(2) {
	position: relative;
	display: block;
	width: 161px;
	margin: 0 auto;
}
.sc08 h2 span.txt_wrap:not(:first-child) {
	margin-top: 14px;
}
.sc08 h2 span.txt_wrap::before {
	content:"";
	display: block;
	position: absolute;
	bottom: -9px;
	left: 0px;
	width: 100%;
	height: 20px;
	background-color: #FFEE45;
}
.sc08 h2 span.txt_wrap span {
	position: relative;
	z-index: 2;
}
.sc08_content {
	margin-top: 35px;
}
.sc08_content dl {
	border-bottom: solid 1px #A3A3A3;
	padding-bottom: 23px;
}
.sc08_content dl:not(:first-child) {
	margin-top: 20px;
}
.sc08_content dl dt {
	font-weight: 700;
	font-size: 20px;
	line-height: 1;
	color: #DA000F;
}
.sc08_content dl dd {
	line-height: 1.5;
	font-weight: 500;
	font-size: 20px;
	margin-top: 14px;
}
.sc08_content dl dd span.y2025,
.sc08_content dl dd span.y2026 {
	font-weight: 700;
	display: block;
	text-indent: -0.5em;
}
.sc08_content dl dd span.y2026 {
	margin-top: 8px;
}
.sc08_content dl dd span.zuiji {
	font-weight: 700;
	font-size: 20px;
}
.sc08_content dl dd span.time {
	font-size: 18px;
	letter-spacing: -0.025em;
	position: relative;
	left: -0.5em;
}
.sc08_content dl dd span.time b:nth-of-type(1) {
	font-weight: 500;
	letter-spacing: -0.5em;
}
.sc08_content dl dd span.time b:nth-of-type(2) {
	font-weight: 500;
	letter-spacing: -0.2em;
}
.sc08_content dl dd ul {
	list-style: none;
}
.sc08_content dl dd ul li {
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.5;
	position: relative;
	padding-left: 20px;
}
.sc08_content dl dd ul li::before {
	content:"・";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
}
.sc08_content dl dd p {
	margin-top: 12px;
}
.sc08_content dl dd .gmap {
	margin-top: 20px;
}

.sc08_content a {
	margin-top: 40px;
	height: 69px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	box-sizing: border-box;
	border: solid 2px #DA000F;
	border-radius: 100vh;
	background: url("../img/list01.svg") center right 33px no-repeat;
	background-color: #fff;
	font-size: 20px;
	font-weight: 700;
	color: #DA000F;
	padding-left: 26px;
	transition: background 0.3s;
}
.sc08_content a:hover {
	background: url("../img/list01.svg") center right 18px no-repeat;
}


/* sc09
======================================================*/

.sc09 {
	padding: 80px 0 44px 0;
}
.sc09 h2 {
	width: 225px;
	margin :0 auto 0 auto;
	text-align: center;
	line-height: 1;
	font-weight: 900;
	font-size: 30px;
}
.sc09 h2 span.txt_wrap {
	position: relative;
	display: block;
}
.sc09 h2 span.txt_wrap:nth-of-type(1) {
	position: relative;
	display: block;
}
.sc09 h2 span.txt_wrap:nth-of-type(2) {
	position: relative;
	display: block;
	width: 206px;
	margin: 0 auto;
}
.sc09 h2 span.txt_wrap:not(:first-child) {
	margin-top: 14px;
}
.sc09 h2 span.txt_wrap::before {
	content:"";
	display: block;
	position: absolute;
	bottom: -9px;
	left: 0px;
	width: 100%;
	height: 20px;
	background-color: #FFEE45;
}
.sc09 h2 span.txt_wrap span {
	position: relative;
	z-index: 2;
}
.sc09_content {
	border-top: solid 2px #DA000F;
	border-bottom: solid 2px #DA000F;
	margin-top: 30px;
	padding-bottom: 28px;
}
.sc09_content .img {
	display: block;
	text-align: center;
	margin-top: 13px;
}
.sc09_content .img img {
	width: 141px;
	height: 141px;
	border-radius: 100%;
	border: solid 2px #DA000F;
}
.sc09_content p {
	font-weight: 500;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.03em;
	margin-top: 20px;
}


/* sc10
======================================================*/

.sc10 {
	padding: 0px 0 80px 0;
}
.sc10 h2 {
	width: 224px;
	margin :0 auto 0 auto;
	text-align: center;
	line-height: 1;
	font-weight: 900;
	font-size: 30px;
}
.sc10 h2 span.txt_wrap {
	position: relative;
	display: block;
}
.sc10 h2 span.txt_wrap::before {
	content:"";
	display: block;
	position: absolute;
	bottom: -9px;
	left: 0px;
	width: 100%;
	height: 20px;
	background-color: #FFEE45;
}
.sc10 h2 span.txt_wrap span {
	position: relative;
	z-index: 2;
}
.sc10_content {
	margin-top: 30px;
}
.qa_single {
	background-color: #FDF7F7;
	padding: 30px 10px 22px 10px;
}
.qa_single:not(:first-child) {
	margin-top: 21px;
}
.qa_single dt {
	position: relative;
	padding-left: 39px;
	font-weight: 700;
	font-size: 16px;
}
.qa_single dt::before {
	content:"Q";
	display: block;
	text-align: center;
	position: absolute;
	top: -8px;
	left: 0px;
	width: 30px;
	height: 30px;
	background-color: #DA000F;
	color: #fff;
	border-radius: 100%;
	font-size: 20px;
	font-weight: 700;
	line-height: 26px;
}
.qa_single dd {
	position: relative;
	padding-left: 39px;
	font-weight: 500;
	font-size: 16px;
	margin-top: 24px;
	line-height: 1.5;
}
.qa_single dd::before {
	content:"A";
	display: block;
	text-align: center;
	position: absolute;
	top: -1px;
	left: 0px;
	width: 30px;
	height: 30px;
	background-color: #FDF7F7;
	color: #DA000F;
	border-radius: 100%;
	font-size: 20px;
	font-weight: 700;
	line-height: 22px;
	box-sizing: border-box;
	border: solid 2px #DA000F;
}

/* sc11
======================================================*/

.sc11 {
	padding: 88px 0 100px 0;
	background-color: #FDF7F7;
}
.sc11 h2 {
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
}
.sc11 .head_txt {
	font-weight: 500;
	font-size: 20px;
	line-height: 1.5;
	text-align: center;
	margin-top: 59px;
}
.form_content {
	margin-top: 34px;
}
.form_content dl.form_single:not(:first-child) {
	margin-top: 27px;
}
.form_content dl.form_single dt {
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
}
.form_content dl.form_single dt span {
	color: #DA000F;
	display: inline-block;
	margin-left: 7px;
}
.form_content dl.form_single dd {
	margin-top: 17px;
}
.form_content .form_txt {
	height: 50px;
	box-sizing: border-box;
	border: solid 1px #DA000F;
	width: 100%;
	background-color: #fff;
	padding: 10px;
	font-size: 16px;
}
.form_content .form_txt.form_txtarea {
	height: 215px;
	line-height: 1.4;
}
.form_content .pp {
	width: 100%;
	height: 271px;
	overflow-y: scroll;
}
.form_content .pp::-webkit-scrollbar {
   width: 9px;
   opacity: 1
}

.form_content .pp::-webkit-scrollbar-track {
   background-color: #fff;
   border: solid 1px #B9B9B9;
   padding: 1px;
}
.form_content .pp::-webkit-scrollbar-thumb {
   background-color: #B9B9B9;
}
.form_content .pp_inner {
	padding: 9px 9px 9px 0;
	color: #333333;
}
.form_content .pp_inner p,
.form_content .pp_inner dl {
	font-size: 14px;
	font-weight: 400;
}
.form_content .pp_inner dl,
.form_content .pp_inner dl:not(:first-child) {
	margin-top: 1.5em;
}
.form_content .pp_inner dl dt {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.42;
}
.form_content .pp_inner p,
.form_content .pp_inner dl dd {
	margin-top: 0;
	text-align: justify;
	word-break: break-all;
	line-height: 1.42;
}
.form_content .pp_inner a {
	color: #333333;
}


.send .send_btn {
	margin-top: 18px;
	height: 69px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	box-sizing: border-box;
	border: solid 2px #DA000F;
	border-radius: 100vh;
	background: url("../img/list01.svg") center right 33px no-repeat;
	background-color: #fff;
	font-size: 20px;
	font-weight: 700;
	color: #DA000F;
	padding-left: 26px;
	transition: background 0.3s;
	width: 100%;
	text-align: left;
}
.send .send_btn:hover {
	background: url("../img/list01.svg") center right 18px no-repeat;
}

.form_single .days {

}
.form_single .days .wpcf7-list-item {
	margin: 0;
	height: 28px;
	display: block;
}
.form_single .days .wpcf7-list-item:not(:first-child) {
	margin-top: 10px;
}
.form_single .days .wpcf7-list-item label {

}
.form_single .days .wpcf7-list-item label input {
	width: 28px;
	height: 28px;
	position: relative;
}
.form_single .days .wpcf7-list-item label .wpcf7-list-item-label {
	font-size: 16px;
	font-weight: 400;
	position: relative;
	top: -8px;
	left: 8px;
}


.doi_box {
	margin-top: 20px;
}
.doi_box .wpcf7-list-item {
	margin: 0;
	height: 28px;
	display: block;
}
.doi_box .wpcf7-list-item label input {
	width: 28px;
	height: 28px;
	position: relative;
}
.doi_box .wpcf7-list-item label .wpcf7-list-item-label {
	font-size: 16px;
	font-weight: 400;
	position: relative;
	top: -8px;
	left: 8px;
}

.days_general_set,
.days_student_set {
	display: flex;
	position: relative;
	align-items: flex-start
}
.days_general_set fieldset,
.days_student_set fieldset {
	box-sizing: border-box;
}
.days_general_field,
.days_student_field {
	width: calc( 100% - 140px );
	border: none;
}
.time_general_field,
.time_student_field {
	width: 140px;
	border: none;
	position: relative;
}
.days_general_set input {
	width: 100%;
	font-weight: 400;
	font-size: 18px;
	color: #333;
	line-height: 1;
	padding: 0px 15px 0px 15px;
	background-color: #fff;
	border:solid 1px #777;
	height: 50px;
	box-sizing: border-box;
}
.days_student_set input {
	width: 100%;
	font-weight: 400;
	font-size: 18px;
	color: #333;
	line-height: 1;
	padding: 0px 15px 0px 15px;
	background-color: #fff;
	border:solid 1px #777;
	height: 50px;
	box-sizing: border-box;
}

::placeholder {
	color: #333;
	font-size: 16px;
}
.days_general_set select,
.days_student_set select {
	appearance: none;
}
.days_general_set .wpcf7-form-control::after,
.days_general_set .wpcf7-form-control::after {
         content: "";
         display: block;
         width: 20px;
         height: 20px;
	background: url("../img/cl_icon.svg") center center no-repeat;
	background-size: 20px auto;
         position: absolute;
         top: 15px;
         right: 10px;
         pointer-events: none;
}
.days_general_set .cd_icon,
.days_student_set .cd_icon {
         content: "";
         display: block;
         width: 20px;
         height: 20px;
	background: url("../img/cl_icon.svg") center center no-repeat;
	background-size: 20px auto;
         position: absolute;
         top: 15px;
         left: 134px;
         pointer-events: none;
}

.time_general_field .time_general,
.time_student_field .time_student {
	padding: 10px 15px 10px 15px;
	border:solid 1px #777;
	border-radius: 0px;
	height: 50px;
	box-sizing: border-box;
	background-color: #fff;
	width: 100%;
}
.time_general_field::before,
.time_student_field::before {
	position: absolute;
	top: 20px;
	right: 6px;
	width: 10px;
	height: 10px;
	content: "▼";
	pointer-events: none;
	z-index: 10;
	font-size: 10px;
}
/* sc12
======================================================*/

.sc12 {
	padding: 85px 0 70px 0;
	background-color: #FDF7F7;
}

.sc12 h2 {
	width: 228px;
	margin :0 auto 0 auto;
	text-align: center;
	line-height: 1;
	font-weight: 900;
	font-size: 30px;
}
.sc12 h2 span.txt_wrap {
	position: relative;
	display: block;
}
.sc12 h2 span.txt_wrap:not(:first-child) {
	margin-top: 6px;
}
.sc12 h2 span.txt_wrap::before {
	content:"";
	display: block;
	position: absolute;
	bottom: -9px;
	left: 0px;
	width: 100%;
	height: 20px;
	background-color: #FFEE45;
}
.sc12 h2 span.txt_wrap span.txt {
	position: relative;
	z-index: 2;
}
.sc12 h2 span.txt_wrap span.txt span {
	font-size: 40px;
	color: #DA000F;
}
.sc12 p {
	font-weight: 700;
	font-size: 20px;
	line-height: 1.5;
	width: 255px;
	margin: 33px auto 0 auto;
}


/* sc13
======================================================*/

.sc13 {
	padding: 85px 0 90px 0;
	background-color: #FDF7F7;
}
.sc13_h2 {
	width: 100%;
	max-width: 450px;
	margin: 0 auto;
}
.sc13 h2 {
	width: 100%;
	margin: 0 auto 0 auto;
	text-align: center;
	line-height: 1;
}

.sc13 h2 span.txt_wrap {
	position: relative;
	display: block;
}
.sc13 h2 span.txt_wrap:nth-of-type(1) {
	font-weight: 900;
	font-size: 40px;
	color: #DA000F;
	position: relative;
	display: inline-block;
}
.sc13 h2 span.txt_wrap:nth-of-type(2) {
	font-weight: 900;
	font-size: 30px;
	color: #3E3A39;
	position: relative;
	display: inline-block;
	width: 140px;
	margin: 0 auto;
	top: 1px;
}
.sc13 h2 span.txt_wrap:not(:first-child) {
	margin-top: 14px;
}
.sc13 h2 span.txt_wrap::before {
	content:"";
	display: block;
	position: absolute;
	bottom: -9px;
	left: 0px;
	width: 100%;
	height: 20px;
	background-color: #FFEE45;
}
.sc13 h2 span.txt_wrap:nth-of-type(1) i {
	font-style: normal;
	letter-spacing: -0.3em;
}
.sc13 h2 span.txt_wrap span {
	position: relative;
	z-index: 2;
}
.sc13_txt {
	margin-top: 70px;
}
.sc13_txt p {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.875;
}
.sc13_txt p:not(:first-child) {
	margin-top: 30px;
}

@media screen and (max-width: 499px) {

.sc13 h2 span.txt_wrap:nth-of-type(1) {
	display: block;
	width: 300px;
	margin: 0 auto;
}
.sc13 h2 span.txt_wrap:nth-of-type(2) {
	display: block;
}

}


/* sc14
======================================================*/

.sc14 {
	padding: 85px 0 90px 0;
	background-color: #fff;
}
.sc14 h2 {
	width: 100%;
	margin: 0 auto 0 auto;
	text-align: center;
	line-height: 1;
	font-weight: 900;
	font-size: 30px;
	color: #3E3A39;
}

.sc14 h2 span.txt_wrap {
	position: relative;
	display: block;
}
.sc14 h2 span.txt_wrap:nth-of-type(1) {
	width: 281px;
	margin: 0 auto;
}
.sc14 h2 span.txt_wrap:nth-of-type(2) {
	width: 228px;
	margin: 0 auto;
	line-height: 1;
	position: relative;
	top: -8px;
}
.sc14 h2 span.txt_wrap i {
	font-style: normal;
	color: #DA000F;
	font-size: 40px;
}
.sc14 h2 span.txt_wrap:not(:first-child) {
	margin-top: 14px;
}
.sc14 h2 span.txt_wrap::before {
	content:"";
	display: block;
	position: absolute;
	bottom: -9px;
	left: 0px;
	width: 100%;
	height: 20px;
	background-color: #FFEE45;
}

.sc14 h2 span.txt_wrap span {
	position: relative;
	z-index: 2;
}
.sc14 .head_list {
	font-weight: 700;
	font-size: 20px;
	line-height: 1.5;
	margin-top: 35px;
}
.sc14_info {
	margin-top: 60px;
}
.sc14_info dl {
	border-bottom: solid 1px #A3A3A3;
}
.sc14_info dl:not(:first-child) {
	margin-top: 26px;
}
.sc14_info dl dt {
	font-weight: 700;
	font-size: 20px;
	line-height: 1;
	color: #DA000F;
}
.sc14_info dl dd {
	font-size: 20px;
	line-height: 1.5;
	font-weight: 500;
	letter-spacing: 0.03em;
	padding: 15px 0;
}
.sc14_info dl dd b {
	font-weight: 500;
	letter-spacing: -0.25em;
}
.sc14_info dl dd span.time2 {
	font-size: 19px;
}
.sc14_info_nen {
	display: block;
	font-weight: 700;
	font-size: 20px;
	line-height: 1;
	position: relative;
	left: -12px;
}
.sc14_info_day {
	display: block;
	margin-top: 8px;
}
.sc14_tg_list {
	display: block;
	font-size: 20px;
	font-weight: 700;
}
.sc14_tg_txt {
	display: block;
	font-size: 18px;
	font-weight: 500;
}
.sc14_btn a {
	margin-top: 70px;
	height: 69px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	box-sizing: border-box;
	border: solid 2px #DA000F;
	border-radius: 100vh;
	background: url("../img/list01.svg") center right 33px no-repeat;
	background-color: #fff;
	font-size: 20px;
	font-weight: 700;
	color: #DA000F;
	padding-left: 26px;
	transition: background 0.3s;
}
.sc14_btn a:hover {
	background: url("../img/list01.svg") center right 18px no-repeat;
}

/* thanks
======================================================*/

.thanks {
	padding: 135px 0 135px 0;
}
.thanks h2 {
	width: 224px;
	margin :0 auto 0 auto;
	text-align: center;
	line-height: 1;
	font-weight: 900;
	font-size: 30px;
}
.thanks h2 span.txt_wrap {
	position: relative;
	display: block;
}
.thanks h2 span.txt_wrap::before {
	content:"";
	display: block;
	position: absolute;
	bottom: -9px;
	left: 0px;
	width: 100%;
	height: 20px;
	background-color: #FFEE45;
}
.thanks h2 span.txt_wrap span {
	position: relative;
	z-index: 2;
}
.thanks p {
	font-weight: 700;
	font-size: 16px;
	text-align: center;
	line-height: 1.5;
	color: #DA000F;
	margin-top: 40px;
}

/* footer
======================================================*/


.footer_sc {
	width: 100%;
	height: 387px;
	background: url("../img/footer_img.jpg") center top no-repeat;
	background-size: cover;
	position: relative;
	box-sizing: border-box;
	padding: 50px 0 0 0;
}
.footer_sc .link_list {
	list-style: none;
}
.footer_sc .link_list li:nth-of-type(1) a {
	display: block;
	height: 80px;
	line-height: 80px;
	font-weight: 700;
	font-size: 20px;
	color: #fff;
	background-color: #DA000F;
	text-align: center;
}
.footer_sc .link_list li:nth-of-type(2) {
	margin-top: 15px;
}
.footer_sc .link_list li:nth-of-type(2) a {
	display: block;
	height: 60px;
	line-height: 60px;
	font-weight: 700;
	font-size: 20px;
	color: #fff;
	background: url("../img/inst.svg") center left 62px no-repeat;
	background-color: #DA000F;
	text-align: center;
}
.footer_sc dl {
	text-align: center;
	margin-top: 40px;
	color: #fff;
	font-size: 14px;
}
.footer_sc dl dt {
	font-weight: 700;
	line-height: 1.42;
}
.footer_sc dl dd {
	font-weight: 400;
	line-height: 1.42;
}
.footer_sc dl dd a {
	color: #fff;
}
.copy {
	background-color: #DA000F;
	padding: 10px 0 160px 0;
}
.copy p {
	text-align: center;
	font-size: 16px;
	color: #fff;
	font-weight: 500;
	line-height: 1;
}

.footer_nav {
	width: 100%;
	height: 150px;
	padding: 38px 0 0 0;
	position: relative;
	background-color: rgba(255,255,255,0.5);
	box-shadow: 0px 3px 6px rgba(0,0,0,0.16);
	position: fixed;
	bottom: 0px;
	z-index: 100;
}
.footer_nav .inner {
	position: relative;
}
.footer_nav .pagetop {
	display: block;
	box-sizing: border-box;
	width: 50px;
	height: 50px;
	border: solid 3px #DA000F;
	border-radius: 100%;
	background: url("../img/pagetop.svg") center center no-repeat;
	background-color: #FFFFFF;
	position: absolute;
	right: -24px;
	top: -65px;
}
.footer_nav .to_form {
	display: block;
	box-sizing: border-box;
	position: relative;
	height: 97.5px;
}
.footer_nav .to_form span:nth-of-type(1) {
	display: block;
	height: 47px;
	background: url("../img/ft_01.svg") center top no-repeat;
	text-align: center;
	font-weight: 700;
	font-size: 14px;
	color: #fff;
	line-height: 39px;
	position: absolute;
	top: -18px;
	width: 100%;
}
.footer_nav .to_form span:nth-of-type(2) {
	display: block;
	box-sizing: border-box;
	height: 97.5px;
	padding: 41px 0 0 26px;
	background: url("../img/ft_sankaku.svg") right 25px bottom 38px no-repeat;
	background-color: #FFEE45;
	border: solid 2px #3E3A39;
	border-radius: 10px;
	color: #3E3A39;
	font-weight: 900;
	font-size: 20px;
	transition: background 0.3s;
}
.footer_nav .to_form:hover span:nth-of-type(2) {
	background: url("../img/ft_sankaku.svg") right 18px bottom 38px no-repeat;
	background-color: #FFEE45;
}

@media screen and (max-width: 374px) {

.footer_nav .pagetop {
	right: -20px;
	top: -65px;
}

}

@media screen and (max-width: 359px) {

.footer_nav .pagetop {
	right: -5px;
	top: -68px;
}

}


/* contactform7設定
======================================================*/

.wpcf7-not-valid-tip{
   box-sizing: border-box;
   border-bottom: 1px dotted #CB4A2D;
   color: #CB4A2D;
   margin-top: 4px;
   margin-bottom: 10px;
   padding: 6px 6px 6px 30px;
   text-indent: -30px;
   font-size: 14px;
}
.wpcf7-not-valid-tip::before{
   content: "";
   background: url(../img/sankaku.png) no-repeat center/cover;
   background-size: 14px auto;
   display: inline-block;
   margin-right: 10px;
   margin-bottom: 4px;
   vertical-align: middle;
   width: 14px;
   height: 14px;
}

div.wpcf7 .wpcf7-spinner {
    display: none;
}

/* エラーメッセージの枠色　青対策 */
div.wpcf7-response-output {
    border-color: #fdf7f7 !important;
    color:#DA000F;
    line-height: 1.4;
    font-size: 14px;
	display: none !important;
}

/* エラーメッセージの枠色 */
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	color: #fff;
	font-weight: 700;
	border: 1px solid #DA000F;
	background-color: #DA000F;
	border-radius: 2px;
	margin: 40px 0 0 0;
	padding: 0.8em 1em;
	text-align: center;
	font-size: 16px;
	line-height: 1.4;
	display: block !important;
}

/* clearfix：float対策
======================================================*/

.clear:after {
	content: "";
	display: block;
	clear: both;
}
 
.clear:before {
　　　　content: "";
	display: block;
	clear: both;
}
 
.clear {
	display: block;
}