@charset "utf-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
strike,
strong,
sub,
sup,
tt,
var,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	font-family: 'Noto Sans JP', sans-serif;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

html,
html:focus-within {
	scroll-behavior: smooth;
}

body {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}



/* pc
----------------------*/

/*++++++++++++++++++++++++
all
+++++++++++++++++++++++++*/
body {
	width: 100%;
	position: relative;
}

h1 {
	color: #f79c7c;
	font-size: 33px;
	font-weight: nomal;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.1em;
}

h2 {
	display: block;
	color: #f79c7c;
	font-size: 24px;
	font-weight: 500;
}

h3 {
	color: #646464;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.1em;
}

h4 {
	color: #646464;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.1em;
}

h5 {
	color: #f79c7c;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

p {
	color: #646464;
	line-height: 1.7;
}

a {
	color: #646464;
	text-decoration: none;
	transition: 0.3s;
}

small {
	font-size: 80%;
	font-weight: normal;
}

/*flex*/
.flex_r {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}

.flex_c {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}

.pc_only {
	display: inherit;
}

.sp_only {
	display: none;
}

/**/




/*++++++++++++++++++++++++
header
+++++++++++++++++++++++++*/
header {
	width: 100%;
	height: 100vh;
	z-index: 0;

	position: relative;
	animation-name: fadeBG;
	animation-delay: 3.3s;
	animation-duration: 1s;
	animation-fill-mode: forwards;
}

@keyframes fadeBG {
	0% {
		background: #fff;
	}

	100% {
		background: #FDF1E5;
	}
}

header .top_logo {
	max-width: 200px;
	width: 20%;
	position: absolute;
	z-index: 1;
	top: 30px;
	left: 30px;
	padding: 5px 10px;
	background: #fff;
}

header .top_logo img {
	width: 100%;
}

header .top_text {
	position: absolute;
	bottom: 40vh;
	left: 0;
	right: 0;
	text-align: center;
}

header .top_text h2 {
	margin: 3vh 0;
	font-size: 22px;
}

header .top_text h1,
header .top_text h2 {
	opacity: 0;
	animation-name: fadeTITLE;
	animation-delay: 1.6s;
	animation-duration: 1.5s;
	animation-fill-mode: forwards;
}

header .top_text p,
header .top_text img {
	opacity: 0;
	animation-name: fadeTITLE;
	animation-delay: 2.5s;
	animation-duration: 1.5s;
	animation-fill-mode: forwards;
}

@keyframes fadeTITLE {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

header .top_text img {
	width: 80px;
	margin: 0 -350px -95px 0;
}

header .slider {
	width: 100%;
	max-width: 100%;
	height: 30vh;
	position: absolute;
	bottom: 0;
	overflow: hidden;
}

header .slider .slick-slide {
	width: auto !important;
	height: auto;
	position: relative;

	margin: 0 30px;
	float: left;

	width: 30vh !important;
	height: 30vh;
}

header .slider .slick-slide li,
header .slider .slick-slide img {
	width: 100%;
	height: 100%;
}


header svg {
	max-width: 100%;
	width: 100%;
	height: auto;

	position: absolute;
	top: 8vh;
	left: 0;
	right: 0;
	z-index: 0;
}

header .svg-elem-1 {
	-webkit-animation: animate-svg-stroke-1 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both;
	animation: animate-svg-stroke-1 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both;
}

@-webkit-keyframes animate-svg-stroke-1 {
	0% {
		stroke-dashoffset: 5798.689453125px;
		stroke-dasharray: 5798.689453125px;
	}

	100% {
		stroke-dashoffset: 11597.37890625px;
		stroke-dasharray: 5798.689453125px;
	}
}

@keyframes animate-svg-stroke-1 {
	0% {
		stroke-dashoffset: 5798.689453125px;
		stroke-dasharray: 5798.689453125px;
	}

	100% {
		stroke-dashoffset: 11597.37890625px;
		stroke-dasharray: 5798.689453125px;
	}
}

/**/





/*++++++++++++++++++++++++
main
+++++++++++++++++++++++++*/
#main {
	width: 100%;
	max-width: 100%;
	position: relative;
	z-index: 2;
	background: #fff;
}


#main>a.top_icon {
	display: block;
	width: 80px;
	height: 80px;
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 2;
}

#main>a.top_icon img {
	width: 100%;
	height: auto;
}


#main section {
	width: 100%;
	padding: 50px 0;
	box-sizing: border-box;
}

#main section .title {
	width: 100%;
	height: 100px;
	position: relative;
	margin: 0px auto;
}

#main section .title_line {
	position: absolute;
	bottom: 0px;
	z-index: 0;
	width: 100%;
	border-bottom: 10px solid #E6E6E6;
	transform: scaleX(0);
	transition: transform 1s;
	transform-origin: left center;
}

#main section .title_line.title_active {
	transform: scaleX(1);
}

#main section .title .flex_r,
#main section .sec_inner {
	width: 90%;
	max-width: 1000px;
	margin: 80px auto;
}

#main section .title .flex_r {
	margin: 0 auto;
	align-items: flex-start;
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	left: 0;
}

#main section .title h2 img {
	max-width: 400px;
	width: 100%;
	margin-top: 5px;
}

#main section .title h3 {
	margin-top: 60px;
}

#main .white_box {
	background-color: #fff;
	padding: 20px 30px;
	box-sizing: border-box;
	border-radius: 15px;
}


/*fade*/
.fadein {
	opacity: 0;
	visibility: hidden;
	transition: 1s;
	transform: translateY(10px);
	transition-delay: 0.2s;
}

.fadein.fadein2 {
	transition-delay: 0.5s;
}

.fadein.fadein3 {
	transition-delay: 0.8s;
}

.fadein.fadein_active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}


/**/



/*sec1*/
#sec1 .sec1_bg {
	width: 100%;
	overflow: hidden;

	margin: 0px auto 0;
	padding: 80px 0;
	border-radius: 50px;
	box-sizing: border-box;
	background-color: #FDF1E5;
	box-shadow: inset 50px 30px 50px rgba(255, 255, 255, 1),
		inset -50px -30px 50px rgba(255, 255, 255, 1);
}

#sec1 .sec_inner {
	margin: 0 auto !important;
}

#sec1 .sec_inner p {
	text-align: center;
}

#sec1 .sec_box {
	margin: 50px auto;
	position: relative;
}

/*line*/
#sec1 .sec_box .sec1_line {
	position: absolute;
	width: 15%;
	height: 2px;
	border-bottom: 1px dashed #828282;
	transition: transform 1.5s;
	transform-origin: right center;
}

#sec1 .sec_box .sec1_line:nth-child(1) {
	transform: rotate(-40deg) scaleX(0);
	right: 50%;
}

#sec1 .sec_box .sec1_line:nth-child(3) {
	transform: rotate(40deg) scaleX(0);
	right: 42%;
	top: 35%;
}

#sec1 .sec_box .sec1_line:nth-child(5) {
	transform: rotate(-40deg) scaleX(0);
	right: 20%;
	transition: transform 2s;
}

#sec1 .sec_box .sec1_line:nth-child(3).line_active {
	transform: rotate(40deg) scaleX(1);
	transform-origin: left center;
}

#sec1 .sec_box .sec1_line:nth-child(1).line_active,
#sec1 .sec_box .sec1_line:nth-child(5).line_active {
	transform: rotate(-40deg) scaleX(1);
}

/*img*/
#sec1 .sec_box img {
	display: block;
	height: 30%;
	max-height: 500px;
}

#sec1 .sec_box img:nth-child(2) {
	margin: 10% auto 0 0;
}

#sec1 .sec_box img:nth-child(4) {
	margin: -35% 0 0 auto;
}

#sec1 .sec_box img:nth-child(6) {
	margin: -8% auto 0 20%;
}

/**/


/*sec2*/
#sec2 {
	margin-top: 50px;
	background-image: url(./img/sec2_bg.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;
	height: auto;
}

#sec2 .title {
	margin-top: -50px !important;
}

#sec2 .sec_inner {
	box-sizing: border-box;
	margin-bottom: 0 !important;
}

#sec2 .sec_inner h3,
#sec2 .sec_inner h4,
#sec2 .sec_inner p {
	display: block;
	line-height: 1.8;
	box-sizing: border-box;
	margin: 30px 0 0;
}

#sec2 .sec_inner h3 {
	font-size: 30px;
}

#sec2 .sec_inner h4 {
	font-weight: normal;
}

/**/


/*sec3*/
#sec3 {
	padding: 0;
}

#sec3 .sec3_bg {
	padding: 10px 0;
	background: #FDF1E5;
}

#sec3 .sec3_bg .flex_r>div {
	width: 50%;
	padding: 0;
}

#sec3 .sec3_bg .flex_r>div h3 {
	width: 100%;
	font-weight: normal;
	line-height: 1.8;
}

#sec3 .sec3_bg .flex_r>div>p {
	line-height: 1.8;
	margin: 30px 0;
}

#sec3 .sec3_bg .white_box {
	border-radius: 0px;
}

#sec3 .sec3_bg .white_box p {
	line-height: 2;
	display: inline;
	background: linear-gradient(transparent 60%, #FDE6DF 60%);
}

#sec3 .sec3_bg .flex_r img {
	width: 45%;
	max-width: 400px;
}

/**/

/*sec4*/
#sec4 {
	padding: 0;
}

#sec4 .split_box {
	position: relative;
}

#sec4 .split_left,
#sec4 .split_right {
	height: 100%;
}

/*split_left*/
#sec4 .split_left {
	width: 38%;
	height: 100vh;

	position: sticky;
	top: 0;
	left: 0;
	padding: 0;
}

.split_left>img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	transition: 0.5s ease-in-out;
	z-index: 0;
	right: 110%;
}

.split_left.bg_show1>img.split_bg1,
.split_left.bg_show2>img.split_bg2,
.split_left.bg_show3>img.split_bg3,
.split_left.bg_show4>img.split_bg4,
.split_left.bg_show5>img.split_bg5 {
	right: 0%;
}

#sec4 .split_left .split_button {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-end;
	padding: 50px;
	box-sizing: border-box;

	position: absolute;
	top: 0;
}

#sec4 .split_left .split_button.sp_only {
	display: none;
}

#sec4 .split_left button {
	margin: 10px;
	padding: 0;
	border: 0;
	border-radius: 50px;
	background-color: rgba(204, 204, 204, 0.8);
}

#sec4 .split_left button:nth-child(3) {
	margin-bottom: 50px;
}

#sec4 .split_left button a {
	display: block;
	width: 250px;
	padding: 10px 10px;
	box-sizing: border-box;
	text-align: center;
	font-weight: bold;
	font-size: 16px;
	color: #808080;
}

#sec4 .split_left.bg_show1 button:nth-child(1) a,
#sec4 .split_left.bg_show2 button:nth-child(2) a,
#sec4 .split_left.bg_show3 button:nth-child(3) a,
#sec4 .split_left.bg_show4 button:nth-child(4) a,
#sec4 .split_left.bg_show5 button:nth-child(5) a,
#sec4 .split_left button.active a {
	color: #fff;
}

#sec4 .split_left.bg_show1 button:nth-child(1),
#sec4 .split_left button:nth-child(1).active {
	background-color: #B3C88C;
}

#sec4 .split_left.bg_show2 button:nth-child(2),
#sec4 .split_left button:nth-child(2).active {
	background-color: #91BEC8;
}

#sec4 .split_left.bg_show3 button:nth-child(3),
#sec4 .split_left button:nth-child(3).active {
	background-color: #F5BEAA;
}

#sec4 .split_left.bg_show4 button:nth-child(4),
#sec4 .split_left button:nth-child(4).active {
	background-color: #FAAB8B;
}

#sec4 .split_left.bg_show5 button:nth-child(5),
#sec4 .split_left button:nth-child(5).active {
	background-color: #FAAB8B;
}

/*split_right*/
#sec4 .split_right {
	width: 62%;
	padding: 0;
	margin-top: -100vh;
	margin-left: 38%;
}

#sec4 .split_inner#p1 {
	background-color: rgba(179, 200, 140, 0.3);
}

#sec4 .split_inner#p1 .marker {
	background: linear-gradient(transparent 60%, rgba(179, 200, 140, 0.4) 60%);
}

#sec4 .split_inner#p1 h5 {
	color: #B3C88C;
}

#sec4 .split_inner#p2 {
	background-color: rgba(145, 190, 200, 0.3);
}

#sec4 .split_inner#p2 h5 {
	color: #91BEC8;
}

#sec4 .split_inner#p3 {
	background-color: rgba(245, 190, 170, 0.3);
}

#sec4 .split_inner#p3 h5 {
	color: #FAAB8B;
}

#sec4 .split_inner#p4 {
	background-color: #FDF1E5;
}

#sec4 .split_inner#p4 h5 {
	color: #FAAB8B;
}

#sec4 .split_inner#p5 {
	background-color: #FFF6DE;
}

#sec4 .split_inner#p5 h5 {
	color: #FAAB8B;
}


#sec4 .split_inner .split_contents {
	width: 70%;
	max-width: 550px;
	padding: 150px 0 50px 50px;
	box-sizing: border-box;
}

#sec4 .split_inner .split_contents>h3 {
	position: relative;
	text-align: center;
	font-weight: bold;
}

#sec4 .split_inner .split_contents>h3 img {
	position: absolute;
	top: -100px;
	left: 5%;
}

#sec4 .split_inner .split_contents>h4 {
	font-size: 22px;
	font-weight: normal;
	line-height: 1.8;
	margin: 50px auto;
}

#sec4 .split_inner .split_contents p {
	line-height: 2;
}

#sec4 .split_inner .split_contents .accordion_inner {
	margin: 80px auto;
}

#sec4 .split_inner .split_contents .accordion_inner>img {
	display: block;
	margin: 80px auto 20px;
}

#sec4 .split_inner .split_contents .accordion_inner .white_box {
	padding: 30px 50px;
}

#sec4 .split_inner .split_contents .accordion_inner .white_box h5 {
	margin: 10px 0;
}

#sec4 .split_inner .split_contents .accordion_inner .white_box p {
	margin: 10px 0;
}

#sec4 .split_inner .split_contents .accordion_inner .white_box .bg_box {
	background: #B3C88C;
	color: #fff;
	padding: 20px 30px;
	line-height: 2;
	border-radius: 10px;
}

#sec4 .split_inner .split_contents .accordion_inner .white_box>img {
	width: 100%;
}

#sec4 .sp_only.sp_accordion {
	display: none;
}

/**/



/*sec5*/
#sec5 {
	padding: 0;
}

#main section#sec5 .title h2 img {
	margin-top: -10px;
}


#main section#sec5 .sec_inner {
	width: 100%;
	max-width: none;
}

#main #sec5 .slider .flex_r span:nth-child(1) {
	font-size: 18px;
	font-weight: 500;
	color: #F79C7C;
}

#main #sec5 .slider .flex_r span:nth-child(2) {
	font-size: 16px;
	font-weight: 500;
	color: #646464;
}

#main #sec5 .slider h5 {
	font-size: 16px;
	font-weight: bold;
	color: #646464;
	margin: 20px 0;
}

#main #sec5 .slider p {
	font-size: 16px;
	margin: 10px 0 50px;
	line-height: 2;
}

#main #sec5 .slider a {
	display: block;
	text-align: center;
	font-weight: 500;
	margin: 0 auto;
	width: 80px;
	color: #646464;
	padding-bottom: 5px;
	border-bottom: 3px solid #646464;
}

#main #sec5 .slider a:hover {
	color: #F79C7C;
	border-color: #F79C7C;
}

#main #sec5 .slider li {
	position: relative;
}

#main #sec5 .slider li .comment_inner {
	padding: 0 50px;
	box-sizing: border-box;
}

#main #sec5 .slider li .comment_inner>img {
	width: 180px;
	margin: 0px auto;
}

#main #sec5 .slider li .comment_inner>div {
	min-height: 400px;
	width: 100%;
	padding: 30px 30px 40px;
	box-sizing: border-box;
	border-radius: 15px;
	position: relative;
}

#main #sec5 .slider li .comment_inner img.img_1,
#main #sec5 .slider li .comment_inner img.img_2 {
	position: absolute;
	display: block;
	z-index: 1;
}

#main #sec5 .slider li.comment1 .comment_inner img.img_1 {
	width: 56px;
	top: 30%;
	left: -30px;
}

#main #sec5 .slider li.comment1 .comment_inner img.img_2 {
	width: 70px;
	top: 60%;
	right: -30px;
}


#main #sec5 .slider li.comment2 .comment_inner img.img_1 {
	width: 56px;
	top: 60%;
	left: -30px;
}

#main #sec5 .slider li.comment2 .comment_inner img.img_2 {
	width: 75px;
	top: 20%;
	right: -40px;
}

#main #sec5 .slider li.comment1 .comment_inner>div {
	margin-top: 50px;
	background: #FFF6DE;
	z-index: 0;
}

#main #sec5 .slider li.comment1 .comment_inner>div::before,
#main #sec5 .slider li.comment2 .comment_inner>div::before {
	content: "";
	border: 20px solid transparent;
	position: absolute;
	left: 45%;
}

#main #sec5 .slider li.comment1 .comment_inner>div::before {
	border-bottom: 20px solid #FFF6DE;
	top: -40px;
}

#main #sec5 .slider li.comment2 .comment_inner>div {
	margin-bottom: 50px;
	background: #FDF1E5;
}

#main #sec5 .slider li.comment2 .comment_inner>div::before {
	border-top: 20px solid #FDF1E5;
	bottom: -40px;
}


/* slick css */
#sec5 .slick-slider {
	margin: 30px auto 0;
	position: relative;

	display: block;
	box-sizing: border-box;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

#sec5 .slick-list {
	position: relative;

	display: block;
	overflow: hidden;

	margin: 0 0 30px;
	padding: 0;
}

#sec5 .slick-list:focus {
	outline: none;
}

#sec5 .slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

#sec5 .slick-slider #sec5 .slick-track,
#sec5 .slick-slider #sec5 .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

#sec5 .slick-track {
	position: relative;
	top: 0;
	left: 0;

	display: block;
	margin-left: auto;
	margin-right: auto;
}

#sec5 .slick-track:before,
#sec5 .slick-track:after {
	display: table;

	content: '';
}

#sec5 .slick-track:after {
	clear: both;
}

#sec5 .slick-loading #sec5 .slick-track {
	visibility: hidden;
}

#sec5 .slick-slide {
	/*	display: none;*/
	float: left;

	height: 100%;
	min-height: 1px;
}

[dir='rtl'] #sec5 .slick-slide {
	float: right;
}

#sec5 .slick-slide img {
	display: block;
}

#sec5 .slick-slide.dragging img {
	pointer-events: none;
}

#sec5 .slick-initialized #sec5 .slick-slide {
	display: block;
}

#sec5 .slick-loading #sec5 .slick-slide {
	visibility: hidden;
}

#sec5 .slick-vertical #sec5 .slick-slide {
	display: block;

	height: auto;

	border: 1px solid transparent;
}

#sec5 .slick-arrow#sec5 .slick-hidden {
	display: none;
}

/* slider css */
#sec5 .slider .slick-slide {
	height: auto;
	width: 450px;
	margin: 0;
	position: relative;
	overflow: hidden;
}

#sec5 .slider .slick-slide img {
	display: block;
	/*
	width: 100%;
	height: 100%;*/
	object-fit: cover;
}

#sec5 .arrows {
	width: 50%;
	margin: 0 auto;
	height: 0px;
	position: relative;
}

#sec5 .arrows .slick-prev,
#sec5 .arrows .slick-next {
	position: absolute;
	top: 5px;

	font-size: 0;
	padding: 0;
	border: 0;
	outline: none;
	cursor: pointer;
}

#sec5 .arrows .slick-prev::before,
#sec5 .arrows .slick-next::before {
	position: absolute;
	content: "";
	top: 4px;
	width: 80px;
	height: 10px;
	border-top: 1px solid coral;
}

#sec5 .arrows .slick-prev::after,
#sec5 .arrows .slick-next::after {
	position: absolute;
	content: "";
	width: 8px;
	height: 8px;
	border-top: 1px solid coral;
	border-right: 1px solid coral;
}


#sec5 .arrows .slick-prev {
	left: 0;
}

#sec5 .arrows .slick-prev::after,
#sec5 .arrows .slick-prev::before {
	left: 0px;
}

#sec5 .arrows .slick-prev::after {
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}

#sec5 .arrows .slick-next {
	right: 0px;
}

#sec5 .arrows .slick-next::after,
#sec5 .arrows .slick-next::before {
	right: 0px;
}

#sec5 .arrows .slick-next::after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*dots*/
#sec5 .dots .slick-dots {
	width: 100%;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

#sec5 .dots .slick-dots div {
	display: inline-block;
}

#sec5 .dots .slick-dots button {
	display: block;
	width: 12px;
	height: 12px;
	margin: 6px;
	font-size: 0;
	padding: 0;
	border: 0;
	outline: none;
	cursor: pointer;
	background: #fff;
	border: 1px solid coral;
	border-radius: 50%;
}

#sec5 .dots .slick-dots .slick-active button {
	background: coral;
}

/**/

/*sec6*/
#main section#sec6 .title h2 {
	margin-top: 10px;
}


#sec6 .sec6_bg {
	padding: 10px 0;
	background: #FFF6DE;
}

#sec6 h3 {
	margin: 50px 0;
}

#sec6 .white_box h5 {
	margin: 15px auto 0;
}

#sec6 .white_box p {
	margin: 5px auto 15px;
}


/**/

/*sec7*/
#main section#sec7 {
	padding-bottom: 0;
}

#sec7 .sec7_bg {
	padding: 10px 0;
	background: #FDF1E5;
}

#sec7 h3 {
	margin: 50px 0;
}

#sec7 .white_box {
	margin: 30px auto;
}

#sec7 .white_box h5 {
	line-height: 1.8;
}

/**/


/*++++++++++++++++++++++++
footer
+++++++++++++++++++++++++*/
footer>div {
	max-width: 100%;
	margin: 0 auto;
	padding: 120px 0 100px;
	background: url(./img/footer_bg.jpg);
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
}

footer div h4 {
	margin: 0 auto;
	text-align: center;
	line-height: 1.7;
	font-weight: 300;
	font-size: 28px;
}

footer div p {
	margin: 20px auto 50px;
	text-align: center;
	font-weight: 300;
	font-size: 22px;
}

footer .footer_link {
	width: 1000px;
	max-width: 90%;
	margin: 100px auto 0;
}

footer .footer_link a {
    width: 30%;
    max-width: 300px;
	padding: 18px 0;
	box-sizing: border-box;
	border-radius: 30px;
	text-align: center;
	background-color: rgba(255, 255, 255, 0.7);
	border: 1px solid #f79c7c;
	color: #f79c7c;
}

footer .footer_link a:hover {
	background-color: #f79c7c;
	color: #fff;
}

footer .foot_logo {
	width: 100%;
	background: #fff;
	padding: 15px 0;
}

footer .foot_logo a {
	display: block;
	margin: 0 auto;
	max-width: 200px;
	width: 20%;
}

footer .foot_logo a img {
	width: 100%;
}

footer .foot_logo p {
	font-size: 15px;
	margin: 10px auto;
	line-height: 1.2;
}

footer>p {
	width: 100%;
	padding: 20px 0;
	font-size: 14px;
	text-align: center;
	letter-spacing: 0.1em;
	background-color: #FBCDBD;
}

/****/


/* sp 1024px
----------------------*/
@media screen and (max-width:1024px) {


	/*line*/
	#sec1 .sec_box .sec1_line {
		width: 60px;
	}

	#sec1 .sec_box .sec1_line:nth-child(1) {
		right: 50%;
		top: 0px;
	}

	#sec1 .sec_box .sec1_line:nth-child(3) {
		right: 45%;
		top: 300px;
	}

	#sec1 .sec_box .sec1_line:nth-child(5) {
		right: 25%;
		top: 700px;
	}

	/*img*/
	#sec1 .sec_box img {
		height: 400px;
	}

	#sec1 .sec_box img:nth-child(2) {
		margin: 100px auto 0 0;
	}

	#sec1 .sec_box img:nth-child(4) {
		margin: -100px 0 0 auto;
	}

	#sec1 .sec_box img:nth-child(6) {
		margin: 50px auto 0 auto;
	}


}



/* sp 768px
----------------------*/
@media screen and (max-width:768px) {

	header,
	header .top2,
	header .top3 {
		width: 100%;
	}

	header .top_logo {
		max-width: 200px;
		width: 25%;
		top: 20px;
		left: 20px;
		padding: 5px 5px;
		background: #fff;
	}

	/*++++++++++++++++++++++++
all
+++++++++++++++++++++++++*/
	h1 {
		font-size: 26px;
		margin: 30px auto;
	}

	h2 {
		font-size: 24px;
		line-height: 1.6;
	}

	h3 {
		font-size: 20px;
		letter-spacing: 0.05em;
	}

	h4 {
		font-size: 16px;
	}

	p {
		line-height: 1.;
	}

	small {
		font-size: 70%;
	}

	/*flex*/
	.flex_r {
		flex-direction: column;
		justify-content: flex-start;
	}

	.flex_c {
		justify-content: flex-start;
	}

	.pc_only {
		display: none;
	}

	.sp_only {
		display: block;
	}

	/**/


	/*++++++++++++++++++++++++
header
+++++++++++++++++++++++++*/
	header {
		height: 94vh;
		overflow: hidden;
	}

	header svg {
		max-width: 135%;
		width: 135%;
		height: auto;

		top: 3vh;
		left: -15%;
	}

	header .top_text {
		bottom: 36vh;
	}

	header .top_text h2 {
		margin: 30px auto;
	}

	header .top_text img {
		width: 80px;
		margin: 0 0 -150px 0;
	}

	header .slider {
		height: 20vh;
	}

	header .slider .slick-slide {
		margin: 0 20px;
		float: left;
		width: 20vh !important;
		height: 20vh;
	}

	/**/


	/*++++++++++++++++++++++++
main
+++++++++++++++++++++++++*/
	#main {
		width: 100%;
		max-width: 100%;
		z-index: 1;
	}

	/**/
	#main section {
		padding: 50px 0;
	}

	#main section .title {
		margin: 0px auto;
	}

	#main section .title_line {
		border-bottom: 8px solid #E6E6E6;
	}

	#main section .title .flex_r,
	#main section .sec_inner {
		width: 85%;
		max-width: none;
		margin: 80px auto;
	}

	#main section .title .flex_r {
		margin: 0 auto;
		align-items: flex-start;
		position: absolute;
		z-index: 1;
		top: 0;
		right: 0;
		left: 0;
	}

	#main section .title h2 img {
		width: 300px;
		margin-top: 25px;
	}

	#main section .title h3 {
		margin-top: 60px;
	}

	#main section .title h3 {
		margin: 10px 0 20px;
		font-size: 22px;
	}

	#main .white_box {
		background-color: #fff;
		padding: 10px 20px;
		box-sizing: border-box;
		border-radius: 15px;
	}


	/*fade*/

	/**/



	/*sec1*/
	#sec1 .sec1_bg {
		width: 100%;

		margin: 10px auto 0;
		padding: 80px 0;
		border-radius: 30px;
		box-shadow: inset 30px 30px 50px rgba(255, 255, 255, 1),
			inset -30px -30px 50px rgba(255, 255, 255, 1);
	}

	#sec1 .sec_inner {
		width: 100%;
		margin: 0 auto;
	}

	#sec1 .sec_inner p {
		width: 100%;
		margin: 0 auto;
	}

	#sec1 .sec_box {
		margin: 50px auto;
		position: relative;
	}

	/*line*/
	#sec1 .sec_box .sec1_line {
		width: 60px;
		height: 2px;
	}

	#sec1 .sec_box .sec1_line:nth-child(1) {
		transform: rotate(-90deg) scaleX(0);
		right: 50%;
		top: -80px;
	}

	#sec1 .sec_box .sec1_line:nth-child(3) {
		transform: rotate(60deg) scaleX(0);
		right: 50%;
		top: 450px;
	}

	#sec1 .sec_box .sec1_line:nth-child(5) {
		transform: rotate(-65deg) scaleX(0);
		right: 25%;
		top: 930px;
	}

	#sec1 .sec_box .sec1_line:nth-child(3).line_active {
		transform: rotate(60deg) scaleX(1);
		transform-origin: left center;
	}

	#sec1 .sec_box .sec1_line:nth-child(1).line_active {
		transform: rotate(-90deg) scaleX(1);
	}

	#sec1 .sec_box .sec1_line:nth-child(5).line_active {
		transform: rotate(-65deg) scaleX(1);
	}

	/*img*/
	#sec1 .sec_box img {
		height: 400px;
	}

	#sec1 .sec_box img:nth-child(2) {
		margin: 100px auto 0 30px;
	}

	#sec1 .sec_box img:nth-child(4) {
		margin: 80px 0 0 auto;
	}

	#sec1 .sec_box img:nth-child(6) {
		margin: 120px 0 0 -30px;
	}

	/**/


	/*sec2*/
	#sec2 {
		margin-top: 50px;
		background-image: url(./img/sec2_bg.png);
		background-size: cover;
		background-position: top center;
		height: auto;
	}

	#sec2 .title {
		margin-top: -50px !important;
	}

	#sec2 .sec_inner h3,
	#sec2 .sec_inner h4,
	#sec2 .sec_inner p {
		line-height: 1.8;
		margin: 30px 0 0;
	}

	#sec2 .sec_inner h3 {
		font-size: 28px;
	}

	#sec2 .sec_inner h4 {
		font-weight: 500;
	}

	/**/


	/*sec3*/
	#sec3 {
		padding: 0;
	}

	#sec3 .sec3_bg {
		padding: 10px 0;
		background: #FDF1E5;
	}

	#sec3 .sec3_bg .flex_r>div {
		width: 100%;
	}

	#sec3 .sec3_bg .flex_r>div h3 {
		width: 100%;
		font-weight: normal;
		line-height: 1.8;
	}

	#sec3 .sec3_bg.flex_r>div>p {
		line-height: 1.8;
		margin: 30px 0;
	}

	#sec3 .sec3_bg .flex_r img {
		width: 100%;
		max-width: 300px;
		margin-top: 50px;
	}

	/**/

	/*sec4*/
	#sec4 .pc_only {
		display: none;
	}

	#sec4 .sp_only {
		display: block;
	}

	#sec4 {
		padding: 0;
	}

	#sec4 .split_box {
		position: relative;
		height: auto;
	}

	#sec4 .split_left,
	#sec4 .split_right {
		position: initial;
		width: 100%;
		height: auto;
	}

	/*split_left*/
	#sec4 .split_left {
		margin: 50px 0;
	}

	#sec4 .split_left .split_button {
		width: 90%;
		max-width: 400px;
		position: inherit;
		height: 100%;
		align-items: center;
		padding: 50px 0;
		margin: 0 auto;
	}

	#sec4 .split_left .split_button.sp_only {
		display: flex;
	}

	#sec4 .split_left .split_button.pc_only {
		display: none;
	}

	#sec4 .split_left button {
		width: 100%;
		max-width: none;
		align-items: center;
		padding: 0;
		border: 0;
		height: auto;
		margin: 10px auto;
	}

	#sec4 .split_left button a {
		color: #fff;
		width: 100%;
		display: block;
		padding: 15px 0;
		font-size: 18px;
		margin: 0 auto;
		position: relative;
	}

	#sec4 .split_left button a::after {
		content: "";
		position: absolute;
		right: 23px;
		top: 23px;
		border: 11px solid transparent;
		border-top: 11px solid #fff;
	}

	#sec4 .split_left button:nth-child(1) {
		background-color: #B3C88C;
		display: block !important;
	}

	#sec4 .split_left button:nth-child(2) {
		background-color: #91BEC8;
	}

	#sec4 .split_left button:nth-child(3) {
		background-color: #F5BEAA;
		margin-bottom: 10px;
	}

	#sec4 .split_left button:nth-child(4) {
		background-color: #FAAB8B;
	}

	#sec4 .split_left button:nth-child(5) {
		background-color: #FAAB8B;
	}

	/*split_right*/
	#sec4 .split_right {
		right: 0;
		padding: 0;
		margin-top: 0vh;
		margin-left: auto;
	}

	#sec4 .split_right span.sp_only {
		padding-top: 50px;
		margin-top: -50px;
	}

	#sec4 .split_inner .split_contents {
		width: 85%;
		max-width: none;
		margin: 0 auto;
		padding: 0 0 100px;
		box-sizing: border-box;
	}

	#sec4 .split_inner .split_contents>h3 {
		font-size: 18px;
		margin-bottom: 30px;
	}

	#sec4 .split_inner .split_contents>h3 img {
		position: absolute;
		top: -100px;
		left: -10px;
	}

	#sec4 .split_inner .split_contents .accordion_inner .white_box {
		padding: 20px 30px;
	}

	/**/
	#sec4 .split_contents_sp {
		width: 100%;
		height: 30vh;
		max-height: 300px;
		margin: 0 0 150px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
		position: relative;
	}

	#sec4 #p4 .split_contents_sp,
	#sec4 #p5 .split_contents_sp {
		margin: 0 0 100px;
	}

	#sec4 .split_contents_sp h3 {
		width: 90%;
		max-width: 400px;
		display: block;
		margin: 0 auto;
		padding: 20px 0;
		box-sizing: border-box;
		border-radius: 30px;
		color: #fff;
		font-size: 18px;
		text-align: center;

		position: absolute;
		top: -30px;
		right: 0;
		left: 0;
	}

	#sec4 #p1 .split_contents_sp {
		background-image: url(./img/sec4_sp1.jpg);
	}

	#sec4 #p2 .split_contents_sp {
		background-image: url(./img/sec4_sp2.jpg);
	}

	#sec4 #p3 .split_contents_sp {
		background-image: url(./img/sec4_sp3.jpg);
	}

	#sec4 #p4 .split_contents_sp {
		background-image: url(./img/sec4_sp4.jpg);
	}

	#sec4 #p5 .split_contents_sp {
		background-image: url(./img/sec4_sp5.jpg);
	}

	#sec4 #p1 .split_contents_sp h3 {
		background-color: #B3C88C;
	}

	#sec4 #p2 .split_contents_sp h3 {
		background-color: #91BEC8;
	}

	#sec4 #p3 .split_contents_sp h3 {
		background-color: #F5BEAA;
	}

	#sec4 #p4 .split_contents_sp h3 {
		background-color: #FAAB8B;
	}

	#sec4 #p5 .split_contents_sp h3 {
		background-color: #FAAB8B;
	}

	#sec4 .split_contents_sp img {
		display: block;
		width: 100%;
	}

	/*accordion*/
	#sec4 .accordion_inner {
		display: none;
		margin: 0px auto !important;
		padding: 0;
		box-sizing: border-box;
		margin-top: 3px;
	}

	#sec4 .split_inner .split_contents .accordion_inner>img {
		margin: 50px auto 20px;
	}

	#sec4 .split_inner#p5 .split_contents {
		padding: 0 0 30px;
	}

	#sec4 .split_inner .split_contents>h4 {
		margin: 20px auto;
	}

	#sec4 .accordion_title,
	#sec4 .accordion_close {
		width: 80%;
		max-width: 300px;
		position: relative;
		font-weight: 500;
		font-size: 18px;

		margin: 50px auto 0;
		padding: 15px 0;
		box-sizing: border-box;
		transition-duration: 0.2s;
		border-radius: 30px;
		background: #fff;
		text-align: center;
	}

	#sec4 .accordion_close {
		margin: 80px auto;
	}

	#sec4 .accordion_title::after,
	#sec4 .accordion_close::after {
		content: "";
		position: absolute;
		right: 30px;
		top: 19px;
		border: 11px solid transparent;
	}

	#sec4 .accordion_close::after {
		right: 50px;
		top: 8px;
	}

	#sec4 #p1 .accordion_title,
	#sec4 #p1 .accordion_close {
		color: #B3C88C;
		border: 2px solid #B3C88C;
	}

	#sec4 #p2 .accordion_title,
	#sec4 #p2 .accordion_close {
		color: #91BEC8;
		border: 2px solid #91BEC8;
	}

	#sec4 #p3 .accordion_title,
	#sec4 #p3 .accordion_close {
		color: #F5BEAA;
		border: 2px solid #F5BEAA;
	}

	#sec4 #p4 .accordion_title,
	#sec4 #p4 .accordion_close {
		color: #FAAB8B;
		border: 2px solid #FAAB8B;
	}

	#sec4 #p5 .accordion_title,
	#sec4 #p5 .accordion_close {
		color: #FAAB8B;
		border: 2px solid #FAAB8B;
	}

	#sec4 #p1 .accordion_title::after {
		border-top: 13px solid #B3C88C;
	}

	#sec4 #p2 .accordion_title::after {
		border-top: 13px solid#91BEC8;
	}

	#sec4 #p3 .accordion_title::after {
		border-top: 13px solid#F5BEAA;
	}

	#sec4 #p4 .accordion_title::after {
		border-top: 13px solid#FAAB8B;
	}

	#sec4 #p5 .accordion_title::after {
		border-top: 13px solid#FAAB8B;
	}

	#sec4 #p1 .accordion_close::after {
		border-bottom: 13px solid #B3C88C;
	}

	#sec4 #p2 .accordion_close::after {
		border-bottom: 13px solid#91BEC8;
	}

	#sec4 #p3 .accordion_close::after {
		border-bottom: 13px solid#F5BEAA;
	}

	#sec4 #p4 .accordion_close::after {
		border-bottom: 13px solid#FAAB8B;
	}

	#sec4 #p5 .accordion_close::after {
		border-bottom: 13px solid#FAAB8B;
	}

	#sec4 .accordion_title.open {
		display: none;
	}



	/*sec5*/
	#main section#sec5 .title h2 img {
		margin-top: 15px;
		margin-bottom: -15px;
	}

	#main #sec5 .slider .flex_r {
		flex-direction: row;
		justify-content: space-between;
	}

	#main #sec5 .slider .flex_r span:nth-child(1) {
		font-size: 20px;
	}

	#main #sec5 .slider .flex_r span:nth-child(2) {
		font-size: 18px;
	}

	#main #sec5 .slider h5 {
		font-size: 18px;
		margin: 20px 0;
	}

	#main #sec5 .slider p {
		font-size: 16px;
		margin: 10px 0 50px;
	}

	#main #sec5 .slider a {
		margin: 0 auto;
		width: 80px;
		padding-bottom: 5px;
		border-bottom: 1px solid #646464;
	}

	#main #sec5 .slider li .comment_inner {
		padding: 0 50px;
		box-sizing: border-box;
	}

	#main #sec5 .slider li .comment_inner>img {
		width: 180px;
		margin: 0px auto;
	}

	#main #sec5 .slider li .comment_inner>div {
		width: 100%;
		padding: 30px 30px 40px;
		border-radius: 15px;
	}

	#main #sec5 .slider li.comment1 .comment_inner img.img_1 {
		width: 70px;
		top: 20%;
		left: -40px;
	}

	#main #sec5 .slider li.comment1 .comment_inner img.img_2 {
		width: 80px;
		top: 60%;
		right: -50px;
	}

	#main #sec5 .slider li.comment2 .comment_inner img.img_1 {
		width: 70px;
		top: 65%;
		left: -40px;
	}

	#main #sec5 .slider li.comment2 .comment_inner img.img_2 {
		width: 80px;
		top: 20%;
		right: -50px;
	}

	/* slick css */
	#sec5 .slick-list {
		margin: 0 0 30px;
	}

	/* slider css */
	#sec5 .slider .slick-slide {
		height: auto;
		width: 450px;
	}

	#sec5 .arrows {
		width: 90%;
	}

	#sec5 .arrows .slick-prev,
	#sec5 .arrows .slick-next {
		position: absolute;
		top: 5px;
	}

	#sec5 .arrows .slick-prev::before,
	#sec5 .arrows .slick-next::before {
		width: 40px;
	}

	/**/

	/*sec6*/

	#main section#sec6 .title h2 img {
		margin-top: 25px;
		margin-bottom: -10px;
	}

	#sec6 .sec6_bg {
		padding: 10px 0;
		background: #FFF6DE;
	}

	#sec6 .white_box h5 {
		line-height: 1.4;
	}


	/**/

	/*sec7*/
	#sec7 h3 {
		margin: 50px auto;
	}

	#sec7 .white_box {
		margin: 30px auto;
	}

	/**/


	/*++++++++++++++++++++++++
footer
+++++++++++++++++++++++++*/
	footer>div {
		max-width: 100%;
		min-height: 400px;
		padding: 120px 0 100px;
		background: url(./img/footer_bg_sp.jpg);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}

	footer div h4 {
		margin: 0 auto;
		font-size: 26px;
	}

	footer div p {
		margin: 20px auto;
		font-size: 22px;
	}


	footer .footer_link {
		width: 1000px;
		max-width: 90%;
		margin: 50px auto 0;
	}

	footer .footer_link a {
		width: 320px;
		padding: 18px 0;
		margin: 10px auto;
		font-size: 16px;
	}


	footer .foot_logo {
		min-height: 0;

		background: #fff;
		padding: 10px 0;
	}

	footer .foot_logo a {
		width: 180px;
	}

	footer>p {
		width: 100%;
		padding: 20px 0;
		font-size: 10px;
	}

	/****/
}





/* sp 768px
----------------------*/
@media screen and (max-width:430px) {

	/*sec1*/
	#sec1 .sec1_bg {
		padding: 80px 0;
		border-radius: 30px;
		box-shadow: inset 30px 30px 50px rgba(255, 255, 255, 1),
			inset -30px -30px 50px rgba(255, 255, 255, 1);
	}

	#sec1 .sec_box .sec1_line:nth-child(3) {
		transform: rotate(60deg) scaleX(0);
		right: 55%;
		top: 390px;
	}

	#sec1 .sec_box img:nth-child(2) {
		margin: 100px auto 0 0;
	}

}