@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

html { 
	font-size: 62.5%;
}

body {
	inline-size: 100%;
	-webkit-text-size-adjust: 100%;
	margin: 0;
	color: #000;
	font-size: min(3.125vw, 24px);
  font-optical-sizing: auto;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
	font-weight: 500;
	line-height: 1.5;
	background: #0060b0;
}

img {
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}

* {box-sizing: border-box;}

.pc { display: block !important;}
.sp { display: none !important;}

.dsp_li { display: inline-block !important;}

@media screen and (max-width:768px) {
/*.pc { display: none !important }
.sp { display: block !important }
img { max-width: 100%; height: auto; width: auto; }
body { min-width: auto !important; overflow: inherit !important; font-size: 4.5vw; }
div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }*/
}


/* --------------------
レイアウト
--------------------*/
.container {
	position: relative;
	width: 100%;
	max-width: 768px;
	margin: 0 auto;
	box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.5);
}

/* --------------------
ボタン
--------------------*/
.btn_01 {
	position: relative;
	display: inline-block;
	margin: 1em 0;
	padding: 0.2em 2em;
	color: #fff;
	font-size: min(4.16vw, 32px);
	text-decoration: none;
	border: 1px solid #fff;
	border-radius: 2em;
	box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.4);
	background: linear-gradient(to bottom, rgba(0,107,7,1) 0%,rgba(0,185,0,1) 100%);
}

.btn_01:hover {
	background: linear-gradient(to bottom, rgba(0,185,0,1) 0%,rgba(0,107,7,1) 100%);
}

.btn_01::after {
	content: "";
	position: absolute;
	right: 1em;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 0;
  height: 0;
  border-style: solid;
  border-top: 0.25em solid transparent;
  border-bottom: 0.25em solid transparent;
  border-left: 0.5em solid #ffff00;
  border-right: 0;
}



/* --------------------
文字色
--------------------*/
.fc_01 { color: #f3bc4f !important;}/* オレンジ */

/* --------------------

header, footer

--------------------*/
header {
	padding: min(20px, 2.6vw) ;
}

header h1 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	margin: 0;
	padding-left: min(13vw, 100px);
	color: #fff;
	font-size: min(6.25vw, 48px);
	font-weight: 700;
	line-height: 1.2;
	background: url("../images/logo.svg") no-repeat left center / min(10.4vw, 80px) auto;
}

header h1 span {
	display: block;
}

header h1 .sub {
	font-size: min(3.125vw, 24px);
	font-weight: 500;
}

footer {
	background: #b73922;
	padding: min(5vw, 40px) min(5vw, 40px) min(26vw, 200px);
	color: #fff;
	text-align: center;
}

footer ul {
	margin: 0 0 min(5vw, 40px) 0;
	padding: 0;
	list-style: none;
}

footer a {
	text-decoration: none;
}

footer a:hover {
	color: #f3bc4f;
}

.fixed {
	position: fixed;
	z-index: 1000;
	bottom: 0;
	width: 100%;
	max-width: 768px;
	text-align: center;
	background: rgba(255,255,255,0.75);
}

.fixed p {
	margin-top: min(-2vw, -16px);
}

.fixed img {
	width: min(44.27vw, 340px);
}

.fixed .btn_01 {
	width: 95%;
	margin: min(1.3vw, 10px) 0;
	padding: 0.4em 2em;
	font-size: min(5.2vw, 40px);
}

/* --------------------

main

--------------------*/
main {
	display: block;
}

/* --------------------
#fv
--------------------*/
#fv {
	background: url("../images/fv_bottom.png") no-repeat left bottom / 100% auto, url("../images/fv.png") no-repeat right bottom / min(53.125vw, 408px) auto, url("../images/fv_bg.jpg") no-repeat left top / cover;
}

#fv .fv_txt {
	padding: min(7.8125vw, 60px) 0 min(10.4vw, 80px);
}


/* --------------------
#sec_intro
--------------------*/
#sec_intro {
	padding-bottom: min(7.8125vw, 60px);
	background: #fff;
}

#sec_intro .arrow_bg_01 {
	position: relative;
	z-index: 30;
	padding: min(2.6vw, 20px) 0;
	background: #f3bc4f;
}

#sec_intro .arrow_bg_01::after {
	content: "";
	position: absolute;
	bottom: -110px;
	left: 0;
	width: min(100%, 768px);
	height: min(14.3vw, 110px);
	background: url("../images/arrow_bg_01.png") no-repeat left bottom / 100% auto;
}

#sec_intro .arrow_bg_01 p {
	margin: 0 0 1em;
	color: #000;
	font-size: min(3.9vw, 30px);
	font-weight: 700;
	text-align: center;
}

#sec_intro .arrow_bg_01 p span {
	display: inline-block;
	margin: min(5px, 0.65vw);
	padding: 0 min(5px, 0.65vw);
	color: #fff;
	font-size: min(7vw, 54px);
	background: #b73922;
}

#sec_intro .arrow_bg_02 {
	position: relative;
	z-index: 20;
	margin-bottom: min(7.8125vw, 60px);
	padding: min(170px, 22vw) 0 min(7.8125vw, 60px);;
	background: url("../images/arrow_bg_02.png") no-repeat left bottom / 100% auto, #fbebca;
	overflow: hidden;
}

#sec_intro .arrow_bg_02 h2 {
	margin: 0;
	color: #0060b0;
	font-size: min(7.8125vw, 60px);
	text-align: center;
}

#sec_intro .arrow_bg_02 h2 span {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-bottom: 0.8em;
	font-size: min(4.6875vw, 36px);
	background: url("../images/line_02.svg") no-repeat left bottom / 100% auto;
}

#sec_intro .arrow_bg_02 .pic {
	position: relative;
	margin-top: min(7.8125vw, 60px);
}

#sec_intro .arrow_bg_02 .pic::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    transform: skewY(-7deg);
    z-index: -1;
}

#sec_intro .arrow_bg_02 .pic p {
	padding: min(5.2vw, 40px) min(5.2vw, 40px) min(5.2vw, 40px) min(30vw, 230px);
	color: #0060b0;
	font-size: min(3.6vw, 28px);
}

#sec_intro .arrow_bg_02 .pic p span {
	color: #b73922;
	font-weight: 700;
}

#sec_intro .arrow_bg_02 .pic .img {
	position: absolute;
	left: 0;
	top: min(5.2vw, 40px);
	width: min(35.6vw, 274px);
}

#sec_intro .arrow_bg_02 .list {
	position: relative;
	padding: min(28.6vw, 220px) min(5.2vw, 40px) min(5.2vw, 40px);
}

#sec_intro .arrow_bg_02 .list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#sec_intro .arrow_bg_02 .list li {
	margin-bottom: min(5.2vw, 40px);
	padding: min(3.9vw, 30px);
	color: #002e73;
	font-size: min(4.6875vw, 36px);
	letter-spacing: 0.1em;
	background: #fff;
	border: min(1vw, 8px) solid #f3bc4f;
}

#sec_intro .arrow_bg_02 .list li span {
	color: #b73922;
	font-size: min(6.25vw, 48px);
	font-weight: 700;
}

#sec_intro .arrow_bg_02 .list .img_01 {
	position: absolute;
	top: min(-2.6vw, -20px);
	right: min(7.8125vw, 60px);
	width: min(38.28vw, 294px);
}

#sec_intro .arrow_bg_02 .list .img_02 {
	position: absolute;
	top: min(78.125vw, 600px);
	right: min(2.6vw, 20px);
	width: min(21.74vw, 167px);
}

#sec_intro .arrow_bg_02 .list .img_03 {
	position: absolute;
	bottom: min(13vw, 100px);
	right: min(7.8125vw, 60px);
	width: min(23vw, 177px);
}

@media screen and (max-width:768px) {
#sec_intro .arrow_bg_01::after {
	bottom: -14vw;
}

#sec_intro .arrow_bg_02::after {
	bottom: -14vw;
}

}

/* --------------------
#sec_point
--------------------*/
#sec_point {
	padding: min(7.8125vw, 60px) 0;
	background: #fff;
	overflow: hidden;
}

#sec_point h2 {
	position: relative;
	z-index: 5;
	margin: 0;
	padding: 1.5em 0;
	color: #fff;
	font-size: min(3.9vw, 30px);
	text-align: center;
	line-height: 1;
	text-shadow: rgb(183, 57, 34) 3px 0px 0px, rgb(183, 57, 34) 2.83487px 0.981584px 0px, rgb(183, 57, 34) 2.35766px 1.85511px 0px, rgb(183, 57, 34) 1.62091px 2.52441px 0px, rgb(183, 57, 34) 0.705713px 2.91581px 0px, rgb(183, 57, 34) -0.287171px 2.98622px 0px, rgb(183, 57, 34) -1.24844px 2.72789px 0px, rgb(183, 57, 34) -2.07227px 2.16926px 0px, rgb(183, 57, 34) -2.66798px 1.37182px 0px, rgb(183, 57, 34) -2.96998px 0.42336px 0px, rgb(183, 57, 34) -2.94502px -0.571704px 0px, rgb(183, 57, 34) -2.59586px -1.50383px 0px, rgb(183, 57, 34) -1.96093px -2.27041px 0px, rgb(183, 57, 34) -1.11013px -2.78704px 0px, rgb(183, 57, 34) -0.137119px -2.99686px 0px, rgb(183, 57, 34) 0.850987px -2.87677px 0px, rgb(183, 57, 34) 1.74541px -2.43999px 0px, rgb(183, 57, 34) 2.44769px -1.73459px 0px, rgb(183, 57, 34) 2.88051px -0.838247px 0px;
}

#sec_point h2::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(to right, #bc3b24 0%,#e57536 50%,#f4bc4f 100%);
	transform: skewY(-7deg);
}

#sec_point h2 .txt_01 {
	font-size: min(13vw, 100px);
}

#sec_point h2 .txt_02 {
	font-size: min(9.375vw, 72px);
}

#sec_point h2 .txt_03 {
	font-size: min(7.29vw, 56px);
}

#sec_point .point {
	position: relative;
	margin-top: min(13vw, 100px);
}

#sec_point .point .img {
	position: absolute;
	left: 0;
	top: min(-2.6vw, -20px);
}

#sec_point .point .img img {
	width: min(94.79vw, 728px);
	border: 1px solid #e5e5e5;
	box-shadow: 5px 5px 8px 0px rgba(0, 0, 0, 0.25);
}

#sec_point .point .text {
	margin: min(5.2vw, 40px) 0 min(5.2vw, 40px) min(2.6vw, 20px);
	padding: min(54.6875vw, 420px) min(5.2vw, 40px) min(5.2vw, 40px) min(5.2vw, 40px);
	background: #fbebca;
}

#sec_point .point .text h3 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-left: min(-1.3vw, -10px);
}

#sec_point .point .text h3 .number {
	display: inline-flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-right: 0.5em;
	color: #b73922;
	font-size: min(2.6vw, 20px);
	text-align: center;
	font-weight: 700;
	width: min(16.276vw, 125px);
	height: min(15.625vw, 120px);
	background: url("../images/parts_04.png") no-repeat center center / 100% 100%;
}

#sec_point .point .text h3 .number span {
	font-size: min(6.25vw, 48px);
}

#sec_point .point .text h3 .tit {
	flex: 1;
	color: #b73922;
	font-size: min(6.5vw, 50px);
}

#sec_point .point .text h3 .tit.fs_s {
	font-size: min(5.2vw, 40px);
}

#sec_point .point .text {
	font-size: min(3.9vw, 30px);
}

#sec_point .point .text .bdr_box {
	margin: 1em 0;
	padding: min(2.6vw, 20px);
	background: #fff;
	border: 5px solid #e5e5e5;
}

/* --------------------
#sec_entry
--------------------*/
#sec_entry {
	position: relative;
	padding: 0 min(5.2vw, 40px);
	background: url("../images/bg_02.jpg") no-repeat left top min(5.2vw, 40px) / 100% auto, #fff;
}

#sec_entry h2 {
	margin: 0;
	padding-top: 0.2em;
	width: min(61.84vw, 475px);
	height: min(28.255vw, 217px);
	color: #0060b0;
	font-size: min(7.8125vw, 60px);
	text-align: center;
	background: url("../images/parts_05.png") no-repeat left top / 100% 100%;
}

#sec_entry h2 span {
	font-size: min(6.25vw, 48px);
}

#sec_entry p {
	margin-bottom: 1.5em;
	color: #fff;
	font-size: min(3.125vw, 24px);
}

#sec_entry .pic {
	position: absolute;
	right: 0;
	bottom: 0;
	width: min(49.7vw, 382px);
}

#sec_entry .btn_01 {
	position: relative;
	z-index: 10;
}

/* --------------------
#sec_support
--------------------*/
#sec_support {
	padding: min(13vw, 100px) 0;
	background: #fbebca;
}

#sec_support .bg_box {
	margin: 0 min(2.6vw, 20px) min(5.2vw, 40px);
	padding: min(5.2vw, 40px) min(2.6vw, 20px);
	background: #fff;
	border-radius: min(6.5vw, 60px);
	box-shadow: 5px 5px 8px 0px rgba(0, 0, 0, 0.25);
}

#sec_support .bg_box h2 {
	margin: 0 0 1em 0;
	color: #f19149;
	font-size: min(5.2vw, 40px);
	text-align: center;
}

#sec_support .bg_box ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

#sec_support .bg_box li {
	display: flex;
	align-items: center;
	margin-top: 1em;
}

#sec_support .bg_box li .number {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: min(9.765625vw, 75px);
	height: min(9.375vw, 72px);
	padding-right: 0.1em;
	color: #fff;
	font-size: min(6.25vw, 48px);
	font-weight: 700;
	line-height: 1;
	background: url("../images/parts_08.png") no-repeat center center / 100% 100%;
}

#sec_support .bg_box li .txt {
	flex: 1;
	margin-left: 0.5em;
	color: #000;
	font-size: min(2.86vw, 22px);
	font-weight: 700;
	line-height: 1.3;
}

#sec_support .bg_box li .txt span {
	color: #b73922;
}

#sec_support .lead {
	height: min(68.359375vw, 525px);
	padding: min(5.2vw, 40px);
	background: url("../images/support_bg.png") no-repeat left top / 100% auto;
}

#sec_support .lead p {
	margin: 0;
	color: #000;
	font-size: min(3.6458vw, 28px);
	font-weight: 700;
	letter-spacing: 0.1em;
}

#sec_support .lead .line {
	font-size: min(5.46875vw, 42px);
	font-weight: 700;
	background: linear-gradient(to bottom, rgba(242,191,77,0) 0%,rgba(242,191,77,0) 70%,rgba(242,191,77,1) 70%,rgba(242,191,77,1) 100%);
}

#sec_support .note {
	padding: min(5.2vw, 40px) min(2.6vw, 20px) 0;
	text-align: center;
}

/* --------------------
#sec_greeting
--------------------*/
#sec_greeting {
	padding: min(6.5vw, 50px) min(6.5vw, 50px) min(5.2vw, 40px);
	background: url("../images/img_greeting.png") no-repeat right bottom / min(36.458vw, 280px) auto, #d9e7f3;
}

#sec_greeting h2 {
	margin: 0 0 0.5em 0;
	color: #0060b0;
	font-size: min(6.25vw, 48px);
	text-align: center;
}

#sec_greeting p {
	margin: 0 min(31.25vw, 240px) 0 0;
	font-size: min(2.34375vw, 18px);
}

#sec_greeting .name {
	margin: 0 0 1em 0;
	font-size: min(2.86vw, 22px);
	text-align: center;
}

/* --------------------
#sec_media
--------------------*/
#sec_media {
	padding: min(13vw, 100px) min(5.2vw, 40px);
	background: #fff;
}

#sec_media .inner {
	padding: min(5.2vw, 40px);
	border: 3px solid #0060b0;
}

#sec_media .inner h2 {
	margin: -2em 0 1.5em;
	color: #0060b0;
	font-size: min(4.427vw, 34px);
	text-align: center;
	background: #fff;
}

/* --------------------
#sec_voice
--------------------*/
#sec_voice {
	padding: 0;
	background: #fff;
}

#sec_voice h2 {
	margin: 0 0 1em 0;
	padding: 0;
	color: #0060b0;
	font-size: min(7.8125vw, 60px);
	text-align: center;
}

#sec_voice h2 span {
	padding: 0 0.5em 0.3em;
	background: url("../images/line_03.svg") no-repeat left bottom / 100% auto;
}

#sec_voice .slider {
	padding: min(5.2vw, 40px) min(7.8125vw, 60px) min(10.4vw, 80px);
	background: #f3bc4f;
}

#sec_voice .slider .slick-item {
	padding: min(5.2vw, 40px);
	background: #fff;
}

.slick-dotted.slick-slider {
   margin-bottom: 0;
}

.slick-prev, .slick-next {
	height: min(3.9vw, 30px);
	width: min(3.9vw, 30px);
}

.slick-prev {
	left: min(2vw, 15px);
}

.slick-next {
	right: min(2vw, 15px);
}

.slick-prev:before, 
.slick-next:before {
	font-size: min(3.9vw, 30px);
}

.slick-dots {
	bottom: 1em;
	width: calc(100% - min(15.625vw, 120px));
}

.slick-dots li button:before {
	width: min(3.125vw, 24px);
	height: min(3.125vw, 24px);
	font-size: min(3.125vw, 24px);
	line-height: 1;
	color: #fff;
	opacity: 1;
}

.slick-dots li.slick-active button:before {
	color: #b73922;
	opacity: 1;
}

#sec_voice .slider .slick-item h3 {
	margin: 0;
	padding: 1em 0;
	font-size: min(3.6458vw, 28px);
	text-align: center;
	background: url("../images/parts_07.png") no-repeat center center / auto 100%;
}

#sec_voice .slider .slick-item h3 span {
	display: block;
	font-weight: 500;
}

#sec_voice .slider .slick-item p {
	font-size: min(2.6vw, 20px);
}

#sec_voice .slider .slick-item .bg {
	margin-top: 1em;
	padding: 1em;
	background: #fbebca;
}

#sec_voice .slider .slick-item h4 {
	margin: 0;
	font-size: min(3.125vw, 24px);
	text-align: center;
}

/* --------------------
#sec_line
--------------------*/
#sec_line {
	padding: min(13vw, 100px) min(5.2vw, 40px) min(5.2vw, 40px);
	background: #ebebeb;
}

#sec_line h2 {
	margin: 0 0 1em 0;
	padding: 0;
	color: #0060b0;
	font-size: min(7.8125vw, 60px);
	text-align: center;
}

#sec_line .btn_01 {
	position: relative;
	display: block;
	width: 80%;
	text-align: center;
	margin: 0 auto;
}

#sec_line .search {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 80%;
	margin: 2em auto;
	padding: 10px;
	border: 3px solid #00b900;
	background: #fff;
}

#sec_line .search span:first-child {
	color: #00b900;
	font-size: min(3.9vw, 30px);
	font-weight: 700;
	line-height: 1;
}

#sec_line .search span:last-child {
	display: inline-block;
	padding: 10px;
	color: #fff;
	font-size: min(3.125vw, 24px);
	font-weight: 400;
	line-height: 1;
	background: #000;
}

#sec_line .step {
	margin-top: 2em;
	padding: min(2.6vw, 20px);
	background: #fff;
}

#sec_line .step .inner:not(:first-child) {
	margin-top: 2em;
}

#sec_line .step .inner {
	text-align: center;
}

#sec_line .step h3 {
	margin: 0 0 1em 0;
	padding: 5px;
	color: #0060b0;
	font-size: min(5.2vw, 40px);
	font-weight: 500;
	text-align: center;
	background: #b2cfe7;
}

/* --------------------
#sec_qa
--------------------*/
#sec_qa {
	padding: min(13vw, 100px) min(5.2vw, 40px) min(5.2vw, 40px);
	background: #fff;
}

#sec_qa h2 {
	margin: 0 0 1em 0;
	padding: 0;
	color: #0060b0;
	font-size: min(7.8125vw, 60px);
	text-align: center;
}

#sec_qa h2 span {
	padding: 0 0.5em 0.5em;
	background: url("../images/line_03.svg") no-repeat left bottom / 100% auto;
}

#sec_qa h3 {
	margin: 2em 0 1em;
	padding: 0;
	color: #b73922;
	font-size: min(5.2vw, 40px);
	text-align: center;
}

#sec_qa .accordion {
	margin: 1em 0;
}

#sec_qa .toggle {
	display: none;
}

#sec_qa .label {
	padding: min(3.9vw, 30px) min(7.8125vw, 60px) min(3.9vw, 30px) min(14.3vw, 110px);
	display: block;
	color: #fff;
	font-size: min(3.9vw, 30px);
	cursor: pointer;
	background: url("../images/icon_q.png") no-repeat left min(3.255vw, 25px) center / min(7.8125vw, 60px) auto, linear-gradient(135deg, #f4bc4f 0%,#e57536 50%,#bc3b24 100%);
	border-radius: min(3.9vw, 30px);
}

#sec_qa .label::before{
	content:"";
	width: min(1.95vw, 15px);
	height: min(1.95vw, 15px);
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: min(3.9vw, 30px);
	transform: rotate(135deg);
}

#sec_qa .label,
#sec_qa .content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
}

#sec_qa .content {
	height: 0;
	margin-bottom: 20px;
	padding: 0 20px;
	overflow: hidden;
}

#sec_qa .content p {
	margin: 0;
	font-size: min(2.86vw, 22px);
}

#sec_qa .toggle:checked + .label {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

#sec_qa .toggle:checked + .label + .content {
	height: auto;
	padding: min(3.9vw, 30px) min(3.9vw, 30px) min(3.9vw, 30px) min(14.3vw, 110px);
	background: url("../images/icon_a.png") no-repeat left min(3.255vw, 25px) top min(3.9vw, 30px) / min(7.8125vw, 60px) auto, #fdf5e4;
	border-bottom-left-radius: min(3.9vw, 30px);
	border-bottom-right-radius: min(3.9vw, 30px);
	border: 3px solid #f19149;
	border-top: none;
}

#sec_qa .toggle:checked + .label::before {
	transform: rotate(-45deg) !important;
}
