@charset "UTF-8";

:root {
	--blue: #3b67aa;
	--textblue: #397ce2;
	--navy: #202f55;
	--lightgray: #F8F8F8;
	--orange: #fa9119;
	--lightblue: #aae1fa;
}

html, body {
	font-family: "Noto Sans JP", sans-serif;
  /*overflow-x: hidden;*/
  font-size: 16px;
  /*padding: 30px 0 0 0;*/
}

.bold {
	font-weight: 900;
}


/* ～400px　スマホ ======================================*/

/* main_area */

#mainv_area {
 width: 100%;
 height: 500px;
 overflow: hidden;
 background: #26bfb8;
  background-size: 800% 800%;
  animation: GradietionAnimation 9s ease infinite;
}

.mainv_wrap {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
}
@keyframes GradietionAnimation {
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}

#main_area h1 {
	font-size: 16px;
  text-align: center;
  color: #fff;
  background-color: var(--navy);
  padding: 5px 0;
}

.mainv_img {
	height: auto;
	max-height: 400px;
	margin: 0 auto;
}

.mainv_img img {
	width: 100%;
	max-height: 100%;
}

.illust01 {
	position: absolute;
	top: 5%;
	left: 3%;
	width: 28%;
	transform: rotate(5deg);
}

.illust02 {
	position: absolute;
	top: 4%;
	right: 5%;
	width: 17%;
	min-width: 80px;
	transform: rotate(15deg);
}
.illust03 {
	position: absolute;
	bottom: 20%;
	left: 5%;
	width: 25%;
	transform: scale(-1,1) rotate(5deg);
}

.illust04 {
	position: absolute;
	bottom: 25%;
	right: 	0%;
	width: 30%;
	transform: rotate(20deg);
}

/* Animation */
.illust01 {
  animation: floating-x 7.2s ease-in-out infinite alternate-reverse;
}
.target01 {
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}
@keyframes floating-x {
  0% {
    transform: rotate(5deg) translateX(-10%);
  }
  100% {
    transform: rotate(5deg) translateX(5%);
  }
}
@keyframes floating-y {
  0% {
    transform: rotate(5deg) translateY(-15%);
  }
  100% {
    transform: rotate(5deg) translateY(10%);
  }
}
.target02 {
  animation: floating-x 2s ease-in-out infinite alternate-reverse;
}
@keyframes floating-x {
  0% {
    transform: rotate(15deg) translateX(-5%);
  }
  100% {
    transform: rotate(15deg) translateX(5%);
  }
}

.target03 {
  animation: floating-x 2.3s ease-in-out infinite alternate-reverse;
}
@keyframes floating-x {
  0% {
    transform: scale(-1,1) rotate(5deg) translateX(-3%);
  }
  100% {
    transform: scale(-1,1) rotate(5deg) translateX(3%);
  }
}

.target04 {
  animation: floating-y 2.5s ease-in-out infinite alternate-reverse;
}
@keyframes floating-y {
  0% {
    transform: rotate(5deg) translateY(-5%);
  }
  100% {
    transform: rotate(5deg) translateY(5%);
  }
}

.blur {
	animation-name: blurAnime;
	animation-duration: 1.5s;
	animation-fill-mode: forwards;
}
@keyframes blurAnime{
	from {
		filter: blur(10px);
		transform: scale(1.02);
	}
	to {
		filter: blur(0);
		transform: scale(1);
	}
}


/* header */

header.js-header {
	position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

.header_wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	height: 60px;
	background-color: #fff;
}

.header_left {
	width: 70%;
	padding: 0 0 0 30px;
}

p.left_logo img{
	height: 50px;
}

nav.header_menu {
	position: absolute;
	right: 0;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	transform: translateX(100%);
	background-color: #fff;
	transition: ease .4s;
	z-index: 999;
	padding: 60px 30px;
	text-align: center;
}

.header_menu.active {
	transform: translateX(calc(100% - 400px));
	position: fixed;
	z-index: 9999;
}

ul.header_pcmenu li {
	line-height: 3em;
	border-bottom: 1px solid var(--blue);
	position: relative;
}

.header_pcmenu li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 5px;
  text-decoration: none;
  color: inherit;
}

.header_humburger {
	width: 48px;
  	height: 100%;
  	background-color: transparent;
  	border-color: transparent;
  	z-index: 9999;
  	padding-right: 10px;
}

/* ハンバーガーメニューの線 */
.header_humburger span {
  width: 100%;
  height: 3px;
  background-color: var(--blue);
  position: relative;
  transition: ease .4s; /*ハンバーガーメニュークリック時の三本線の動きを遅延*/
  display: block;
}

.header_humburger span:nth-child(1) {
  top: 0;
}

.header_humburger span:nth-child(2) {
  margin: 10px 0;
}

.header_humburger span:nth-child(3) {
  top: 0;
}
/* ハンバーガーメニュークリック後のスタイル */
.header_menu.active {
	transform: translateX(0);
}
.header_humburger.active span:nth-child(1) {
  top: 12px;
  transform: rotate(45deg);
}

.header_humburger.active span:nth-child(2) {
  opacity: 0;
}

.header_humburger.active span:nth-child(3) {
  top: -13px;
  transform: rotate(-45deg);
}

#main_area {
	padding: 60px 0 0 0;
	background-color: #fff;
	width: 100%;
}

.contents {
	padding: 0 1.25em;
	margin: 50px 0;
}

/* copy */
p.copyarea_title {
	font-family: "ab-kokoro-no3", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--textblue);
  text-align: center;
  font-size: 1.75em;
  line-height: 1.5em;
  margin: 0 0 1em 0;
}
p.copyarea_text {
	text-align: center;
	line-height: 2.5em;
	margin: 0 0 1.5em;
}

/* first */
#first_contents.contents {
  padding: 0;
}

.first_contents_bg {
	background-color: var(--lightblue);
	padding: 3.15em 1.25em 1.5em;
	position: relative;
}

/*.first_contents_bg::after {
  content: "";
  position: absolute;
  bottom: -29.5px;
  left: 0;
  background-color: var(--lightblue);
  height: calc(60px / 2);
  width: 100%;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}*/

.first_contents_bg::after {
  content: "";
  position: absolute;
  bottom: -49.5px;
  left: 0;
  background-color: var(--lightblue);
  height: 50px;
  width: 100%;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.contents_image {
	width: 200px;
	margin: 0 auto;
}

.first_contents_bg > h2 {
	font-size: 1.25em;
	text-align: center;
	margin: 0 0 1.5em 0;
}
.first_contents_bg > h2 span {
	font-size: 1.4em;
	color: var(--orange);
}

.first_contents_bg > p {
	font-weight: 600;
	text-align: center;
	line-height: 2em;
	margin: 1.5em 0 0;
}

.first_contents_bg .balloon_area {
	margin: 1.5em 0;
}

.balloon_area {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0 0 1em 0;
}

span.balloon_text {
	width: 90%;
	background-color: #fff;
	padding: 1em 1.3em;
	margin: 10px;
	border-radius: 10px 10px 10px 0;
	display: inline-block;
}

span.balloon_text:nth-child(2n) {
	border-radius: 10px 10px 0px 10px;
	align-self: flex-end;
	/*text-align: right;*/
	padding: 1em 1.3em;
}

.merit_wrap {
	background-color: #f7f7f7;
	padding: 75px 20px 0;
	counter-reset: number;
}

.merit_box {
	background-color: #fff;
	border-radius: 15px;
	padding: 50px 20px;
	margin: 1.6em auto;
	max-width: 360px;
	position: relative;
}

.merit_box:after {
	content: "#" counter(number);
	counter-increment: number;
	font-family: "ruika", sans-serif;
  font-weight: 100;
  font-style: normal;
	position: absolute;
	top: 3%;
	right: 20px;
	opacity: 0.4;
	color: var(--orange);
	font-size: 4em;
	letter-spacing: -0.1em;
	z-index: 1;
}

.merit_title {
	font-weight: 700;
	font-size: 1.5em;
	margin: 0 0 25px;
	position: relative;
	z-index: 2;
}

.merit_img {
	width: 200px;
	margin: 0 auto;
}

.merit_text {
	line-height: 1.8em;
	margin: 25px 0 0;
}

.merit_textbox {
	text-align: center;
	padding: 0 0 25px;
}

.merit_textbox p.bold {
	font-size: 1.3em;
}

.merit_textbox p.bold span {
	color: var(--textblue);
	font-size: 1.4em;
}

.trouble_area {
	background-color: #706f6f;
	padding: 40px 20px 80px;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), 0 100%);
}

.trouble_textbox {
	background-color: var(--lightgray);
	font-weight: 900;
	text-align: center;
	padding: 3em 1.25em 2.5em;
	clip-path: polygon(0 30px, 100% 0, 100% 100%, 0 100%);
	margin: -30px 0 0 0;
	position: relative;
	z-index: 10;
}

.trouble_wrap::after {
	content: "";
  position: absolute;
  bottom: -49.5px;
  left: 0;
  background-color: var(--lightgray);
  height: 50px;
  width: 100%;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.trouble_textbox p {
	font-size: 1.3em;
}

.trouble_textbox p.bold {
	font-size: 1.7em;
}

.trouble_textbox p.bold span {
	color: var(--orange);
}

.trouble_wrap {
	display: block;
	position: relative;
}

.experience_contents_bg {
	background-color: var(--lightgray);
	padding: 3.15em 1.25em;
	position: relative;
}

.experience_textbox {
	text-align: center;
	padding: 0 0 30px;
}

.experience_text {
	font-size: 1.25em;
	font-weight: bold;
}

.experience_textbox p.bold {
	font-size: 1.3em;
}

.experience_textbox p.bold span {
	color: var(--orange);
	font-size: 1.4em;
}

.experience_text_assist {
	margin: 1.5em 0 0;
	text-align: center;
	font-weight: bold;
	line-height: 2em;
}
.experience_text_assist span {
	text-align: center;
	color: var(--orange);
}

/* service */

#service {
	z-index: 0;
	position: relative;
}

#service h2 {
	text-align: center;
	font-size: 1.75em;
}

#service.contents {
	margin: 40px 1.25em 50px;
	padding: 60px 0 0 0;
}

.service_wrap {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 30px 0;
}

.service_box {
	border: 1px solid var(--blue);
	border-radius: 15px;
	box-shadow: 3px 3px var(--blue);
	padding: 50px 20px;
}

.service_title {
	font-weight: 900;
	margin: 25px 0;
}

.solution_box p {
	font-size: 1.25em;
	font-weight: bold;
	text-align: center;
	color: var(--textblue);
	margin: 50px 0 10px;
}

span.full_lballoon_text {
	width: 100%;
	background-color: var(--textblue);
	color: #fff;
	font-weight: bold;
	padding: 1em 1.3em;
	border-radius: 10px 10px 10px 0;
	display: inline-block;
}

span.full_rballoon_text {
	width: 100%;
	background-color: var(--textblue);
	color: #fff;
	font-weight: bold;
	padding: 1em 1.3em;
	border-radius: 10px 10px 0px 10px;
	display: inline-block;
}

.triangle-down {
  position: relative;
  background-color: var(--orange);
  height: 25px;
  width: 100%;
  max-width: 200px;
  margin: 25px auto;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

/* plan */

#plan.contents {
  padding: 0;
  margin: 0;
}

.plan_bg {
	background-color: var(--lightblue);
	padding: 50px 0;
	position: relative;
}

.plan_bg > h2 {
	font-size: 1.75em;
	color: var(--orange);
	text-align: center;
}

.plan_wrap {
	/*display: flex;
	flex-direction: column;
	gap: 20px;*/
	padding: 0 20px;
}

.plan_box {
	background-color: #fff;
	border-radius: 20px;
	padding: 50px 20px;
	margin: 50px 0 25px;
}

.plan_title {
	text-align: center;
	font-weight: 900;
	font-size: 1.5em;
	margin: 0 0 25px;
}

.plan_detail_title {
	margin: 25px 0 0;
}

.plan_detail_title > p {
	font-weight: 700;
	color: var(--orange);
	margin: 0 0 5px 0;
}

ul.plan_detail_ul li {
	position: relative;
	padding: 0 0 0 1em;
}

ul.plan_detail_ul li:before {
	position: absolute;
	top: 10px;
	left: 5px;
	content: "";
	width: 5px;
	height: 5px;
	display: inline-block;
	background-color: var(--textblue);
}

.plan_recommend {
	width: 100%;
	background-color: var(--orange);
	padding: 30px 20px;
}
.plan_recommend p {
	text-align: center;
	font-size: 1.25em;
	font-weight: bold;
	margin: 0 0 20px;
	color: #fff;
}
span.recommend_balloon {
	width: 100%;
	background-color: #fff;
	padding: 1em 1.3em;
	border-radius: 10px 10px 10px 0;
	display: inline-block;
	margin: 0 0 20px;
}
span.recommend_balloon:nth-child(2n) {
	border-radius: 10px 10px 0px 10px;
	margin: 0;
}

/* archive */

#archive.contents {
	padding: 0;
	margin: 0;
}

#archive h2 {
	text-align: center;
	font-size: 1.75em;
	color: var(--orange);
	margin: 0 0 50px;
}

.archive_bg {
	background-color: var(--lightgray);
	padding: 50px 20px;
}

.archive_wrap{
	display: flex;
	flex-direction: column;
	gap: 50px;
}

.archive_text {
	margin: 25px 0 0;
}

.archive_title {
	font-weight: 700;
	color: var(--orange);
	margin: 0 0 15px;
	font-size: 1.25em;
}

ul.archive_ul li {
	position: relative;
	padding: 0 0 0 1em;
}

ul.archive_ul li:before {
	position: absolute;
	top: 10px;
	left: 5px;
	content: "";
	width: 5px;
	height: 5px;
	display: inline-block;
	background-color: #333;
	border-radius: 50%;

}

/* CTA */

#main_cta.contents {
	padding: 60px 1.25em 0 1.25em;
	margin: 0;
}

#main_cta > p {
	font-weight: 900;
	text-align: center;
	font-size: 1.25em;
}

.contact_box {
	margin: 50px 0 80px;
}

table.contact_table {
	width: 100%;
}

table.contact_table > tbody {
	display: flex;
	flex-direction: column;
	gap: 25px;
}

table.contact_table tr {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

table.contact_table tr th {
	text-align: left;
}

table.contact_table tr td.td_box {
	width: 100%;
}

table.contact_table tr td.td_box > input.text-input,
.text-input {
	width: 100%;
	padding: 10px;
	border-radius: 5px;
	border: 1px solid #ccc;
}

.str {
  text-align: center;
  color: #fff;
  font-size: 12px;
  border-radius: 5px;
  background: var(--blue);
  width: 35px;
  margin: 0 0 0 5px;
  padding: 2px 5px;
}

.str.opt {
	color: #fff;
	font-weight: bold;
	background: #77787b;
}

.note {
	font-size: 14px;
	font-weight: 400;
}

#mail_submit_btn:disabled {
	opacity: 0.6;
	pointer-events: none;
}

input.submit_btn {
	background-color: var(--navy);
	border-radius: 15px;
	height: 50px;
	width: 100%;
	padding: 1em;
	transition: 0.3s ease-in-out;
	color: #fff;
	font-weight: 900;
	cursor: pointer;
}

input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
	width: 100%;
  min-height: 45px;
  border-width: 1px;
  border-style: solid;
  border-color: rgb(203, 203, 203);
  border-image: initial;
  padding: 5px;
  border-radius: 5px;
  font-size: 1em;
}

select {
	appearance: none;
}

#privacy-policy {
  height: 300px;
  border: 1px solid #22252C;
  overflow-y: scroll;
  padding: 0 20px 10px;
  background: #F7F7F7;
  overflow-y: scroll;
  border-radius: 5px;
  margin: 10px 0 0 0;
}

#privacy-policy .con-heading .pp-text h3{
font-size: 1em;
}
#mail_submit_button:disabled {
  opacity: .6;
}
input#Agree:disabled + label {
  opacity: .6;
}
@keyframes animation{
  0%{
    transform: scale(1)
  }
  50%{
    transform: scale(1.1)
  }
  100%{
    transform: scale(1)
  }
}
input#Agree:not(:disabled) + label {
  animation-name: animation;
  animation-duration: .8s;
  border: 1px solid var(--blue);
}
.pp-text h3{
 text-align: left;
 font-weight: bold;
 margin: 20px 0;
 font-size: 1.2em;
}
.pp-text dl {
  text-align: left;
}
.pp-text dl dd i{
  font-size: .9em;
  margin: 0 5px 0 0;
}
.fa-play {
  transform: rotate( 90deg );
}
.pp-text dl dd {
  margin: 0 0 10px 0;
}
.pp-text dl dd span {
  margin: 0 0 0 1.1em;
  display: block;
}
#PpContact .btn input{
  display: block;
  width: calc(100% - 25px);
  margin: 0 auto;
  padding: 15px 35px;
  position: relative;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  box-shadow: 1px 1px 2px rgba(0,0,0,.3);
  background: var(--blue);
  color: #fff;
  border-radius: 10px;
  transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.3s;
  cursor: pointer;
}
#PpContact .btn input:disabled{
	opacity: .3;
}
.positionCheckBox{
  text-align: left;
  margin: 50px 0;
}
.positionCheckBox input[type=checkbox] {
  display: none !important;
}
.positionCheckBox label {
	margin: 0;
}
input[type=checkbox]:checked + .checkbox:before {
  opacity: 1;
}
.radio, .checkbox {
  box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  margin: 0 10px 8px 0;
  padding: 12px 12px 12px 50px;
  border-radius: 8px;
  background-color: #f6f7f8;
  vertical-align: middle;
  cursor: pointer;
}
.checkbox:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 22px;
  display: block;
  margin-top: -7px;
  width: 7px;
  height: 10px;
  border-right: 3px solid var(--blue);
  border-bottom: 3px solid var(--blue);
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.radio:after, .checkbox:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 15px;
  display: block;
  margin-top: -11px;
  width: 20px;
  height: 20px;
  border: 2px solid #bbb;
  border-radius: 6px;
  content: '';
}

#Contact p.btn {
  width: 100%;
  padding: 0px 20px;
  position:relative;
}
.text-input{
  resize: vertical;
}
input[type=submit] {
  background-color: var(--blue);
  color: #fff;
  padding: 15px;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  border: none;
  border-radius: 5px;
  font-size: 1em;
}

/* contact conf */
#all_wrap.all_conf {
	padding: 0;
}

#main_area.main_conf {
	padding: 0;
}

p.conf {
	width: 100%;
  display: flex;
  align-items: center;
  min-height: 45px;
  border-width: 1px;
  border-style: solid;
  border-color: rgb(203, 203, 203);
  border-image: initial;
  padding: 5px;
  border-radius: 5px;
  font-size: 1em;
  background: var(--lightgray);
}

input.edit[type=submit] {
  background-color: #706f6f;
  color: #fff;
  padding: 15px;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  border: none;
  border-radius: 5px;
  font-size: 1em;
}

.conf-heading .text {
	margin: 0 0 50px;
}

.flex-wrap-colm2 {
	display: flex;
  width: 100%;
  gap: 4%;
  margin: 50px 0 0;
}

.flex-wrap-submit {
	width: 50%;
  order: 2;
}

.flex-wrap-edit {
	width: 50%;
  order: 1;
}

/* contact comp */
#all_wrap.all_comp {
	padding: 0;
}

#main_area.comp {
	height: 100vh;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  padding: 0;
}

.entryheading {
	margin: 50px 0;
}

.entrycomp_h3 {
	margin: 0 0 30px;
}

.comp-m {
	margin: 0 0 50px;
}

.comp_topbtn {
	background-color: var(--blue);
  color: #fff;
  padding: 15px;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  border: none;
  text-align: center;
  border-radius: 5px;
  font-size: 1em;
}

/* footer */

footer {
	width: 100%;
	background-color: var(--blue);
	padding: 3em 0 1em 0;
	text-align: center;
	color: #fff;
}

.fotter_text {
	margin: 0 0 2em 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.fotter_text a i {
	font-size: 1.2em;
	margin: 0 0 0 0.5em;
}

p.copyright {
	font-size: 14px;
}


/* 401px〜959px　タブレット ======================================*/
@media screen and (min-width: 401px) and (max-width: 959px) {

#all_wrap {
	position: relative;
	width: 100%;
	height: 100vh;
}

.all_wrap_inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.bg_image {
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	display: block;
	width: 100vw;
	height: 100vh;
	background-size: cover;
	background-position: center;
}

.header_wrap {
	width: 400px;
	margin: 0 auto;
}
.header_left{
	z-index: 1;
}

.header_right{
	display: grid;
	position: fixed;
    top: 0;
	right: 0;
	bottom: 0;
	width: calc((100% - 400px) / 2);
	z-index: 100;
}

.header_menu.active {
	/*transform: translateX(calc(100% - 400px));*/
	position: fixed;
	z-index: 9999;
	left:calc((100% - 400px)/2);
}

nav.header_menu {
	position: absolute;
	right: 0;
	left: 100%;
	top: 0;
	width: 100%;
	height: 100vh;
	/*transform: translateX(100%);*/
	background-color: #fff;
	transition: ease .4s;
	z-index: 999;
	padding: 60px 30px;
	text-align: center;
	padding: 60px 15px;
	border-left: 2px solid var(--lightgray);
	width: 400px;
}

p.left_logo {
	width: 200px;
	display: flex;
	justify-self: start;
}

p.left_logo img{
	height: 50px;
}

.header_humburger {
	padding-right: 10px;
}

.mainv_img {
	max-width: 380px;
}

.illust01 {
	top: 8%;
}

.illust04 {
	bottom: 18%;
}

#main_area {
	padding: 60px 0 0 0;
	width: 400px;
	margin: 0 auto;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 50%;
    transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
}

}

/* 960～PC ======================================*/
@media screen and (min-width: 960px){

html, body {
  font-size: 16px;
}

#all_wrap {
	position: relative;
	width: 100%;
	height: 100vh;
}

.all_wrap_inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.bg_image {
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	display: block;
	width: 100vw;
	height: 100vh;
	background-size: cover;
	background-position: center;
}


.header_wrap {
	background-color: transparent;
}

nav.header_menu {
	display: flex;
	justify-content: center;
	align-items: center;
	position: static;
	transform: none;
	height: auto;
	background-color: transparent;
	transition: none;
	z-index: auto;
}
.header_left{
	display: grid;
	position: fixed;
    top: 0;
	bottom: 0;
	left: 0;
	width: calc((100% - 400px) / 2);
	padding: 0;
}
p.left_logo {
	height: 100vh;
	display: flex;
	justify-content: end;
	align-items: center;
}
p.left_logo img{
	height: auto;
	width: 20vw;
	max-width: 250px;
	padding: 0 5% 0 0;
}
.header_right{
	display: grid;
	position: fixed;
    top: 0;
	right: 0;
	bottom: 0;
	width: calc((100% - 400px) / 2);
}



ul.header_pcmenu {
	padding:30px;
	background-color: #fff;
	border-radius: 20px;
	border: 5px solid var(--navy);
}

ul.header_pcmenu li {
	margin: 15px 0;
	display: flex;
	align-items: center;
	line-height: 24px;
	border-bottom: none;
	text-align: left;
}


ul.header_pcmenu li::before {
	content: "\f0da";
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	font-size: 1.5em;
	color: var(--blue);
	padding: 0 10px 0 0;
}
ul.header_pcmenu li a {
	display: block;
	width: 100%;
}
.header_humburger {
	display: none;
}

.mainv_img {
	width: 100%;
}

.illust01 {
	top: 6%;
}

.illust04 {
	bottom: 18%;
}

#main_area {
	width: 400px;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 50%;
    transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
}

}
