/* ****************************************************

	layout

***************************************************** */
html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }
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,
small, strike, strong, sub, sup, tt, var,
b, 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;
}

body { background-color:#fff; color: #252525;
line-height: 200%; padding: 0 auto; margin:0 auto; width: 100%; overflow:hidden; overflow-y:scroll; box-sizing: border-box; font-weight: 500; font-size: 1rem; letter-spacing: 0.02em; }

::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-thumb {
    border-radius: 30px;
    background: #C6BFB9;
}
::-webkit-scrollbar-track {
    border-radius: 30px;
    background: #eee;
}

a { color:#0F9CA3; }

h1 {
  font-size: 2.0rem; font-weight: 600; line-height: 150%; letter-spacing: 0.03em; margin-bottom:25px;
  }

h2 { 
  letter-spacing: 0.03em;
  font-size:0.9rem;
  margin: auto 0;
  padding: auto 0;
  font-weight: 600;
  padding-right: 16px;
}
.midasi { 
  width: 100%;
  height: 140px;
  margin: 0 60px auto auto;
  padding-right: 5%;
  display: flex;
  flex-wrap:nowrap;
  justify-content: right;
  box-sizing: border-box; 
  -ms-align-items: right;
  align-items: right;
  vertical-align: middle;
}

h3 { 
  font-size: 1.6rem;
  padding-left: 10px;
  margin-top:10%; 
  margin-bottom:3%; 
  font-weight: 600;
  letter-spacing: 0.03em;
  border-left: 4px solid rgb(7, 52, 92);
}
h4 { font-size: 1.2rem; font-weight: 600; margin-top:1%; margin-bottom:1%; }
h5 { font-size: 2.0rem; }

.btn,
a.btn,
button.btn {
  font-size: 1.0rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 2rem;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.03em;
  color: #252525;
  border-radius: 0.5rem;
}
a.btn-border {
  border: 2px solid #252525;
  border-radius: 7px;
  background: #fff;
}

a.btn-border:hover {
  background: #DFE55A;
}
.bold { font-weight: 600; font-size: 1.0rem; }
.aligncenter{ text-align: center; }
.text { font-size: 0.9rem; letter-spacing: 0.02em; font-weight: 600; line-height: 160%;}
.pc { display: block !important; }
.sp { display: none !important; }

@media screen and (max-width:1024px), print {h1 {
  font-size: 2.0rem; font-weight: 600; line-height: 180%; letter-spacing: 0.01em;
  }
  }
@media screen and (max-width:768px), print {
body, div, h1, h2, h3, h4, h5, h6, p, ul, li, img, form, dl, dd, dt, section {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
.pc { display: none !important; margin: 0; padding: 0; }
.sp { display: block !important; margin: 0; padding: 0; }
.midasisub {font-size: 1.1rem; margin-bottom:6%; margin-top:2%;}
.text { font-weight: 500; font-size: 0.9rem; line-height: 150%; }

h1 { font-size: 1.7rem; line-height: 140%; margin-bottom:6%; }
h2 { 
  letter-spacing: 0.03em;
  font-size:0.8rem;
  margin: auto 0;
  padding: auto 0;
  font-weight: 500;
}
.midasi { 
  width: 100%;
  height: 58px;
  margin: 0 5px 5px auto;
  padding-right: 1%;
  display: flex;
  flex-wrap:nowrap;
  justify-content: right;
  box-sizing: border-box; 
  -ms-align-items: right;
  align-items: right;
  vertical-align: middle;
}

.btn,
a.btn,
button.btn {
  font-size: 0.9rem;
}
}



/* ****************************************************

	header

***************************************************** */

#header{
  position: fixed;
  height: 75px;
  width: 100%;
  margin: auto;
  padding: auto;
  z-index: 999;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  background-color:#fff;
  opacity:0.9;font-family: Arial, sans-serif !important;
}
.logotoppc{
  max-width: 200px;
  margin: 16px 0 0 40px;
}
#header .UpMove{
  position: fixed;
  width:100%;
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 0;
  transform: translateY(-100px);
  }
}
#header.DownMove{
  position: fixed;
  width:100%;
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}
nav ul{
  list-style: none;
  display: flex;
  justify-content: right;
  /* margin: auto 30px auto 0 ; */
  margin:0;
}
nav ul li{ margin: auto 0; }
nav ul li{ transition: all 0.3s ease;
	top: 3px;
	left: 0;}

nav ul li:hover {
	position: relative;
	top: 0;
	left: 0; }

nav ul li img { height: 40px;}

@media screen and (max-width:768px), print {
.logotop{
  max-width: 120px;
  margin: 5px 0 0 8px;
}
}
/* ****************************************************

	menubtn

***************************************************** */

.sp_top{ 
	display:flex;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	padding: 0 5px ;
}
.logotop{
	height: 50px;
	}
.logotop img { width: 90px;}
.txttop{
	font-size: 0.7rem;
	letter-spacing: 0.02em;
	margin-right: 5px;
	}
#menubtn {
	display: flex;
	position: fixed;
	padding: 0;
	margin-top: -10px;
	margin-bottom: auto;
	margin-left: auto;
	margin-right: auto;
    top: 0;
    right: 0;
	z-index: 9999;
	width: 100%;
	line-height: 0;
	box-sizing: border-box;}

#menubtn li{
  width: calc(100% / 3) ;
}
#menubtn img{ width: 100%; padding:2% auto; }

#menubtn ul,li {
  padding: 3% 0;
  margin-top: 0;
  margin-bottom: 0;
  list-style: none;
}
#menubtn li {
	text-align: center;
	padding: 10px auto;
	left: 0;
	top: 0;
}


.header{
	height: 98px;
}
.header_in{
	width: 100%;
	z-index: 999;
	transition: .5s;
	background-color: rgba(255, 255, 255, 0.8);
}
.header_in.fixed{
	position: fixed;
	/*
	top:0;
	left: 0;
	background-color: rgba(255, 255, 255, 0.8);
	animation-name: fadeinmenu;
	animation-duration: 0.5s; */
	animation: slideDown 0.3s ease forwards;
}
@keyframes fadeinmenu {
	0% {
		top:-300px;
	}
	100% {
		top: 0;
	}
}
@keyframes slideDown {
  from {
    top: -100px;
  }
  to {
    top: 0;
  }
}

.header_in.fixed2 {
  position: fixed;
  animation: slideUp 0.3s ease forwards;
}
@keyframes slideUp {
  from {
    top: 0;
  }
  to {
    top: -100px;
    position: unset;
  }
}






/* ****************************************************

	fade

******************************************************/
.fadein {
    opacity : 0.1;
    transform : translate(0, 50px);
    transition : all 1.0s;
    }
.fadeinleft {
    opacity : 0.1;
    transform : translate(-50px, 0);
    transition : all 1.0s;
    }
.fadeinright {
    opacity : 0.1;
    transform : translate(50px, 0);
    transition : all 1.0s;
    }

@media screen and (max-width:768px), print {
.fadeinleft {
    opacity : 0.1;
    transform : translate(-14px, 0);
    transition : all 1.0s;
    }
.fadeinright {
    opacity : 0.1;
    transform : translate(14px, 0);
    transition : all 1.0s;
    }
}

/* 画面内に入った状態 */
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
    }
.fadeinleft.scrollin {
    opacity : 1;
    transform : translate(0, 0);
    }
.fadeinright.scrollin {
    opacity : 1;
    transform : translate(0, 0);
    }




/* ****************************************************

	section:header

***************************************************** 

header { width: 100%; margin: 0 auto; padding: 0; }
header img { max-width: 200px; padding-top: 10px; padding-left: 20px;}

@media screen and (max-width:768px), print {
header { width: 100%; margin: 0 auto;}
header img { max-width: 100px; padding-top: 5px; padding-left: 8px;}
}
*/


/* ****************************************************

	title

***************************************************** */
#title {
  padding-top:2%;
  padding-bottom:2%;
  margin: 0 auto;
}

#title .inner {
  width: 96%;
  max-width: 1350px;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  box-sizing: border-box; 
  -ms-align-items: center;
  align-items: center;
}

#title img {
  width: 100%;
  padding: 0 auto; 
}

#title .animation { 	
	opacity: 0;
    animation: fadein 2.0s ease forwards;}
@keyframes fadein { 100% { opacity: 1; }
}
#title .snsicon img { width: 50px; margin: 0 auto; padding: 0;}
#title .left { width: 40%; margin: 0% auto; padding: 0; }
#title .left p { width: 98%; padding: 0 auto; text-align: left;
line-height: 210%; font-size: 0.8rem; margin: 2% auto 50px 0; }

#title .right { width: 60%; margin: 0% auto; padding: 0; }
#title .right p {  }

@media screen and (max-width:768px), print {
#title .inner { display: block; padding-top:1%; padding:3%; width: 100%;}
#title .left { width: 90%; margin: 1% auto; padding: 0 auto; text-align:center;}
#title .left p { width: 100%; font-size: 0.8rem; line-height: 190%;}
#title .right { width: 100%; padding: 0 auto; margin: 0 auto; box-sizing: border-box; text-align:center;  }
}

/* ****************************************************

	section:top_info

***************************************************** */

#top_info { background-color: #F7F7F7; padding-top: 4%; padding-bottom: 5%; margin: 0 auto;}

#top_info .inner {
  width: 96%;
  max-width: 1310px;
  margin: 0 auto ;
  padding: 0 auto;
  box-sizing: border-box;
}

#top_info .box_two {
text-align: left;
display:flex;
flex-wrap:wrap;
justify-content: flex-start;
align-items: flex-end;
margin: 0 auto 0;
width: 96%;
max-width: 1000px;
  }
#top_info .box-child {
text-align: left;
padding: 2%;
margin-top :0;
margin-left: auto;
margin-right: auto;
margin-bottom: 1%;
max-width: 46% ; 
  }
#top_info .box-child img { max-width: 100%; margin: 4% 1% 1% 1%; }

#top_info .box_full {
width: 100%; 
margin-top: 0; margin-bottom: 2%;}
#top_info .box_full img { max-width: 100%; margin: 2% auto;}

#top_info .text1 { line-height: 180%; font-size:0.9rem; margin: 4% 1% 4% 1%; letter-spacing: 0.03em; text-align: left; font-weight: 500; }
#top_info .text2 { line-height: 180%; font-size:1.6rem; margin: 4% 1% 2% 1%; letter-spacing: 0.03em; font-weight: 600; }
#top_info .red { color: #e26c80; }
#top_info .text3 { line-height: 180%; font-size: 0.9rem; margin: 1%; }
#top_info p {
  text-align: center;
  padding: 2% auto;
  margin: 2% auto;
  }

@media screen and (max-width:1024px), print {
#top_info .text2 { font-size:1.4rem; }
  }
@media screen and (max-width:768px), print { 
#top_info { padding-top: 1%; padding-bottom: 10%; }
#top_info .inner {
  width: 86%;
  margin: 0 auto ;
  padding: 0 auto;
}
#top_info .text3 { font-size:0.8rem; margin: 2% auto 0 ; text-align: left; letter-spacing: 0.02em; font-weight: 400; line-height: 160%; }
#top_info .box {
display:block;
margin: auto;
width: 100%;  }
#top_info .box-child { max-width: 100%; margin: 1% auto; }
#top_info .box-child img { max-width: 100%; margin: auto;}
}

/* ****************************************************

	section:type

***************************************************** */

#type { background-color: #F7F7F7; padding-top: 4%; padding-bottom: 2%; margin: 0 auto;}

#type .inner {
  width: 96%;
  max-width: 1120px;
  margin: 0 auto ;
  padding: 0 auto;
  box-sizing: border-box;
}

#type .box {
display:flex;
flex-wrap:wrap;
justify-content: flex-start;
align-items: flex-start;
margin: 0 auto 0;
  }
#type .box-child {
text-align: center;
padding: 2%;
margin-top :0;
margin-left: auto;
margin-right: auto;
margin-bottom: 1%;
max-width: 46% ; 
  }
#type .box-child img { max-width: 100%; margin: 2% auto; border-radius: 20px; }

#type .text2 { line-height: 180%; font-size:1.2rem; letter-spacing: 0.03em;  text-align: left; }
#type .text2 img { width: 16px; margin: 20px 8px 0; border-radius: 0px; }
#type .text3 { line-height: 180%; font-weight: 600; font-size: 0.9rem; margin: 4% 4% 4% 2% ; text-align: left; }
#type p {
  text-align: center;
  padding: 2% auto;
  margin: 2% auto;
  }

#movie-wrap { width: 100%;
  max-width: 600px;
  margin: 8% auto 0 auto;
  padding: 0 auto;}
@media screen and (max-width:1024px), print {
#type .text2 { font-size:1.0rem; }
  }
@media screen and (max-width:768px), print { 
#type { padding-top: 1%; padding-bottom: 5%; }
#type .inner {
  width: 80%;
  margin: 0 auto ;
  padding: 0 auto;
}
#type .text2 img { width: 16px; border-radius: 0px; }
#type .text3 { font-size:0.8rem; margin: 2% auto 10% ; text-align: left; letter-spacing: 0.02em; font-weight: 400; line-height: 160%; }
#type .box {
display:block;
margin: auto;
width: 100%;  }
#type .box-child { max-width: 100%; margin: 14% auto; }
#type .box-child img { max-width: 100%; margin: 2% auto; margin:2px 8px 0 0;}
}



/* ****************************************************

	section:merit

***************************************************** */
#merit { 
  padding-top:5%;
  padding-bottom:4%;
	margin: 0 auto;
	width: 100%;
}
#merit .inner {
  width: 94%;
  max-width: 1120px;
  margin: 0 auto;
}

#merit .merit01 {
  width: 100%;
  margin: 0 auto 30px;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
#merit .merit01_img {
  width:47%; padding: 2%;
}	
#merit .merit01_txt {
width: 53%;
padding: 2%;
}

#merit .merit02 {
  width: 100%;
  margin: 0 auto 30px;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
#merit .merit02_img {
  width:47%; padding: 2%;
}	
#merit .merit02_txt {
  width: 53%;
  padding: 2%;
}

#merit .merit03 {
  width: 100%;
  margin: 0 auto 30px;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
#merit .merit03_img {
  width:47%;
  padding: 2%;
}	
#merit .merit03_txt {
  width: 53%;
  padding: 2%;
}


#merit .number01 { text-align: left; width: 500px; margin: 0; padding-right:25px; height: 250px; margin-right:30px; border-right: solid #BED30B 8px; }
#merit .number02 { text-align: left; width: 380px; height: 120px; margin-bottom:30px; padding-bottom:20px;  border-bottom: solid #F53486 8px;}
#merit .number02 img { width: 130px; margin-bottom:30px;}
#merit .number03 { text-align: left; width:280px; margin: 0; padding-left:25px; height: 250px; margin-left:30px; border-left: solid #3DAFB0 8px;}

#merit .text2 {
	font-size: 1.5rem; margin: 1% auto ; text-align: left; letter-spacing: 0.02em; font-weight: 700; line-height: 180%; }
#merit .text3 {
	line-height: 180%; 
	font-weight: 600; 
	font-size: 0.8rem;
	margin: 3% auto;
	text-align: left;
	letter-spacing: 0.02em;}

#merit img { max-width: 100%; }

@media screen and (max-width:768px), print {
#merit { 
  padding-top:16%;
  padding-bottom:10%;
  width: 100%;
}
#merit .inner {
  width: 90%;
  margin: 0 auto;
  padding: 0 auto;
}

#merit .merit01 { display: block; margin: 10% auto 0; }
#merit .merit01_img { width:100%; padding: 1%; }
#merit .merit01_txt { width:100%; padding: 1%; }
	
#merit .merit02 { flex-direction: column-reverse; margin: 0 auto 2%;  }
#merit .merit02_img { width:100%; padding: 1%; }
#merit .merit02_txt { width:100%; padding: 1%; }
	
#merit .merit03 { display: block; margin: 15% auto 0; }
#merit .merit03_img { width:100%; padding: 1%; }
#merit .merit03_txt { width:100%; padding: 1%; }
	
#merit .number01 { width: 180px; height: 160px; margin: 0 auto; padding-right:8px; margin-right:8px; border-right: solid #BED30B 8px; }
#merit .number02 { width: 60%; height: 60px; margin-bottom:5px; padding-bottom:5px; border-bottom: solid #F53486 8px;}
#merit .number02 img { width: 55px; margin-bottom:30px;}
#merit .number03 { width: 360px; height: 210px; margin: 0; padding-left:8px; margin-left:8px; border-left: solid #23C3E0 8px;}

#merit .text2 {
	font-size: 1.1rem; margin: 1% auto ; text-align: left; letter-spacing: 0.01em; font-weight: 700; line-height: 180%; }	
#merit .text3 {
	margin: 1% auto; text-align: left; letter-spacing: 0.01em; line-height: 180%; font-weight: 400;}
	}



/* ****************************************************

	base

***************************************************** */

#base {}
#base .inner {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 3% auto;
}

/* ****************************************************

	section:works

***************************************************** */

#works {  
/*background-image: linear-gradient(90deg, rgba(244, 163, 74, 1), rgba(244, 100, 156, 1));*/
background-color: #F7F7F7;
  padding-top:4%;
  padding-bottom:3%;}

#works .inner {
  width: 96%;
  max-width: 1300px;
  margin: 2% auto;
}

#works .aboutme {font-size: 0.9rem; text-align: center; margin: auto 0; vertical-align: top; }
#works .aboutme img{ width: 40px; margin-bottom: -10px; margin-right: 8px; }
#works .subtitle {font-size: 1.0rem; text-align: center; margin: 8px auto; font-weight: 600; }
#works .purpose {font-size: 0.9rem; text-align: left; margin: 5px auto; padding: 1% 4%; }
#works .comment {font-size: 0.8rem; text-align: center; line-height: 160%; padding: 1% 4%; margin: 5px auto; }
#works .charge {font-size: 0.9rem; text-align: left; padding: 1% 4%; }
#works .price {font-size: 0.9rem; text-align: left; padding: 1% 4%; }

#movie-wrap { width: 94%;
  margin: 2% auto;
  padding: 0 auto;
color:#000;}

#works .movie {
     position: relative;
     padding-bottom: 56.25%; /*ã‚¢ã‚¹ãƒšã‚¯ãƒˆæ¯” 16:9ã®å ´åˆã®ç¸¦å¹…*/
     height: 0;
     overflow: hidden;
}

#works .movie iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%; border-radius: 10px;
}
#works .portfolio {
  margin: 0 auto 3%;
  text-align: center;
}
#works .endcomment {
  font-size: 0.9em;
  text-align: center;
  margin: 3% auto;
}
@media screen and (max-width: 767px) {
#works { 
  padding-top:15%;
  padding-bottom:10%;
  width: 100%;
}
#works .inner {
  width: 90%;
  margin: 5% auto;
  padding: 0 auto;
}
#movie-wrap {  
  margin: 8% auto;
  padding: 0 auto;}
}

/* ****************************************************

	flex

***************************************************** */

/* フレックスボックスの基本設定 等間隔（両端揃え）折返しあり */
[class^="flex-col"] {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
  -webkit-align-items: stretch;     /* Safari etc. */
  -ms-align-items    : stretch;     /* IE10        */
  align-items        : stretch;
}

/* コンテンツ下のマージン */
.flex-child { margin-bottom: 80px; font-size: 0.9em; padding: 1%;}
.flex-child { background-color: #fff; border-radius: 12px; color:#000;}

/* 各カラム毎のコンテンツと疑似要素の横幅 */
.flex-col2 .flex-child { width: calc( (100% - 4%) / 3 ); }

.flex-col3::after,
.flex-col3 .flex-child { width: calc( (100% - 4%) / 3 ); }

.flex-col4::before,
.flex-col4::after,
.flex-col4 .flex-child { width: calc( (100% - 5%) / 4 ); }
	
/* 最終行は両端揃えにしない */
.flex-col3::after,
.flex-col4::before,
.flex-col4::after { content: ""; }

.flex-col4::before { order: 1; }

/* レスポンシブ対応 */

/* 991px以下で4列 → 3列 
@media screen and (max-width: 991px) {
	.flex-col4::after,
	.flex-col4 .flex-child { width: calc( (100% - 5%) / 3 ); }
}*/

/* 767px以下で4列・3列 → 2列 
@media screen and (max-width: 767px) {
	.flex-col3 .flex-child,	
	.flex-col4 .flex-child { width: calc( (100% - 5%) / 2 ); }
	.flex-child { margin-bottom: 30px; padding: 2%;}
}*/

/* 575px以下で全て1列 */
@media screen and (max-width: 767px) {
	.flex-col2 .flex-child,
	.flex-col3 .flex-child,
	.flex-col4 .flex-child { width: 100%; padding: 5% 3px; }
	.flex-child { margin-bottom: 30px; padding: 2% 0;}
}

/* ****************************************************

	section:flow

***************************************************** */

#flow {
  padding-top:4%;
  padding-bottom:3%;
  margin: 0 auto;
}
#flow .inner {
  width: 94%;
  max-width: 850px;
  margin: 0 auto;
  box-sizing: border-box;
}
#flow .inner img{ width:100%; max-width: 500px; border-radius: 20px; margin: 1% auto;}

#flow p{ font-size: 0.8rem; margin: 10% auto 8%; text-align: center; color: #07345c; letter-spacing: 0.02em; font-weight: 600; width: 100%; max-width: 680px;}

#flow ul {
  padding: 0;
  margin: 10% auto; 
}
#flow li {
  list-style-type: none;
}
#flow dd {
  margin-left: 0;
  font-size: 0.9em;
}

#flow .flow {
  padding-left: 120px;
  position: relative;
}
#flow .flow::before {
  content: "";
  width: 10px;
  height: 100%;
  background: #F4F1EF;
  margin-left: -8px;
  display: block;
  position: absolute;
  top: 0;
  left: 120px;
  border-radius: 20px;
}
#flow .flow > li {
  position: relative;
}
#flow .flow > li:not(:last-child) {
 Â margin-bottom: 1vh;
}
#flow .flow > li .icon1 {
  font-size: 12px;
  color: #fff;
  background: #FF578B;
  padding: 8px 20px;
  display: block;
  position: absolute;
  top: 0;
  left: -120px;
  z-index: 100;
  border-radius: 4px;
}
#flow .flow > li .icon2 {
  font-size: 12px;
  color: #fff;
  background: #FF578B;
  padding: 8px 20px;
  display: block;
  position: absolute;
  top: 0;
  left: -120px;
  z-index: 100;
  border-radius: 4px;
}
#flow .flow > li .icon3 {
  font-size: 12px;
  color: #fff;
  background: #FF578B;
  padding: 8px 20px;
  display: block;
  position: absolute;
  top: 0;
  left: -120px;
  z-index: 100;
  border-radius: 4px;
}

#flow .flow > li .icon1::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #F4F4F4;
  position: absolute;
  top: 50%;
  left: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
#flow .flow > li .icon2::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #FF578B;
  position: absolute;
  top: 50%;
  left: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
#flow .flow > li .icon3::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #FF578B;
  position: absolute;
  top: 50%;
  left: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

#flow .flow > li dl {
  padding-left: 50px;
  position: relative;
}
#flow .flow > li dl::before,
#flow .flow > li dl::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
}
#flow .flow > li dl::before {
  width: 7px;
  height: 7px;
  margin-top: -3px;
  background: #252525;
  border-radius: 50%;
  left: -4px;
}
#flow .flow > li dl::after {
  width: 50px;
  border-bottom: 1px dashed #252525;
  position: absolute;
  left: 5px;
}
#flow .flow > li dl dt {
  font-size: 1.2em;
  font-weight: 600;
  margin-bottom: 1vh;
}


@media screen and (max-width:768px), print {
#flow { padding-top: 16%; padding-bottom: 10%; margin: 0 auto; }
#flow .inner img{ width:100%; border-radius: 10px; margin: 1% auto;}
}
/* ****************************************************

	section:faq

***************************************************** */

#faq {
  background-image: linear-gradient(90deg, rgba(244, 163, 74, 1), rgba(244, 100, 156, 1));
  padding-top:4%;
  padding-bottom:3%;
  color:#fff;}

#faq .inner {
  width: 94%;
  max-width: 860px;
  margin: 0 auto;

}

.cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 5% auto;
	padding: 1% 2%;
	text-align: left;
	width: 100%;
	border-radius: 15px;
    background-color: #fff;
	color:#000;

}
.cp_actab input {
	position: absolute;
	z-index: -1;
	opacity: 0;	
}
.cp_actab label {
	font-size: 1.3em;
	font-weight: 600;
	line-height: 3;
	position: relative;
	display: block;
	padding: 1.4em 40px 1.4em 80px ;
	cursor: pointer;
	margin: 8px 0 ;
	line-height: 160%;
	border-radius: 0px; background-image: url(  "../images/faq_q.svg" ) ; background-repeat: no-repeat; background-position: left 10px bottom 50%; background-size: 45px;
}

.cp_actab .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.35s;
	transition: max-height 0.35s;
	font-size: 1.0em;
	font-weight: 500;
	background: #fff;
	text-align: left;
	line-height: 150%;
}
.cp_actab .cp_actab-content p {
	margin: 0;
	padding: 1.4em 40px 1.4em 70px ;
	background-image: url(  "../images/faq_a.svg" );
	background-repeat: no-repeat;
	background-position: left 25px bottom 50%; background-size: 30px;
}
/* :checked */
.cp_actab input:checked ~ .cp_actab-content {
	max-height: 30em;
}
/* Icon */
.cp_actab label::after {
	line-height: 3;
	position: absolute;
	top: 18px;
	right: 0;
	display: block;
	width: 2em;
	height: 3em;
	-webkit-transition: all 0.35s;
	transition: all 0.35s;
	text-align: center;
}
.cp_actab input[type=checkbox] + label::after {
	content: '+';
}
.cp_actab input[type=checkbox]:checked + label::after {
	transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
#faq {
  background-color: #F2F2F2;
  padding-top:16%;
  padding-bottom:10%;}
.cp_actab label { font-size: 1.1em; }
.cp_actab .cp_actab-content {
	font-size: 0.8em;
	font-weight: 400;
}
}


/* ****************************************************

	section:form

***************************************************** */

#form { background-color: #fff;
  margin: 0 auto 0 auto;
  padding: 0!important; box-sizing: border-box;}

#form .inner {
  width: 94%;
  max-width: 500px;
  margin: 0 auto 0 auto;
  padding: 0 auto;
 box-sizing: border-box;
}
span.wpcf7-list-item {
    display: inline-block;
    margin: 0 2em 0 0;
}
#form .must { background: #FF6B50; color: #fff; padding: 2px 8px; border-radius: 5px; font-size: 0.8rem; margin-right: 5px; }
#form .form { padding: 0; font-size: 1.0rem; border: 2px solid #4d4d4d; background: #fff; box-sizing: border-box; }
#form .wpcf7-form-control,.wpcf7-validates-as-required { width: 94%; padding: 5px 8px; border-radius: 5px; font-size: 1.0rem; line-height: 190%; margin: 0 0 20px 0; background: #fff; }
#form .wpcf7-select { background: #fff; }
#form .free { color: #FF6B50; padding: 2px 8px; border-radius: 5px; font-size: 0.8rem; margin-right: 5px; border: 2px solid #07345C; }
#form p { margin: 5% auto; }
#form .wpcf7-submit {
  border: 2px solid #07345C;
  cursor:pointer;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.03em;
  position: relative;
  display: inline-block;
  padding: 1rem 2rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  color: #07345C;
  border-radius: 30px;
  background:#FFDAEA;
}
#form a.wpcf7-submit {
  border: 2px solid #07345C;
  border-radius: 30px;
}
#form a.wpcf7-submit:hover {
  background: #FFDAEA;
}
.wpcf7-response-output:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #e0edff;
}

.wpcf7 form.sent .wpcf7-response-output {
    margin: 0em 0em 2em;
    padding: 1em 1em;
    border: none;
    border-radius: 10px;
    color: #ffffff;
    background-color: #ff526b;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
	margin: 0em 0em 2em;
    padding: 0em 0em;
    border: none;
	color: #ff526b;
}
.wpcf7-not-valid-tip {
	margin: 0em 0em 2em;
    padding: 0em 0em;
    border: none;
	color: #ff526b!important;
}

@media screen and (max-width:768px), print {
#form { padding-top: 10%; padding-bottom: 10%; margin: 0 auto; }
}


/* ****************************************************

	nijilab

***************************************************** */
#nijilab {  }
#nijilab .inner {
  width: 94%;
  max-width: 1200px;
  margin: 3% auto;
  padding-top:4%;
  padding-bottom:3%;
}
#nijilab .logo_btm { width:120px;
  margin: 0 auto;
  padding: 0 auto;
  text-align: center; }
#nijilab .tb { width: 100%;
  max-width: 700px;
  margin: 0 auto;
  padding: 0 auto;
  text-align: center;}


.wp-block-table{
  width: 80%;}

table{
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom:8%;
  margin-top:8%;
  text-align: center;
}

table th,table td{
  padding: 10px 0;
  text-align: center;
  font-size: 0.9rem;
  border-bottom: solid 1px rgb(7, 52, 92)
}

table tr:nth-child(odd){
  border-bottom: solid 1px rgb(7, 52, 92)
}
@media screen and (max-width: 767px) {
#nijilab .inner {
  padding-top:10%;
  padding-bottom:8%;
  width: 90%;
}
}

/* ****************************************************

	footer

***************************************************** */
#footer{ width: 100%; background-image: linear-gradient(90deg, rgba(244, 163, 74, 1), rgba(244, 100, 156, 1)); padding: 10px; text-align:center; }
#footer .copy{ color: #fff; font-size:0.7em; font-weight:400; letter-spacing:0.03em; padding: 5% auto; }







/* ****************************************************

	202403 追加

***************************************************** */

body, p, h1, h2, h3, h1:lang(ja), h2:lang(ja), h3:lang(ja), .entry-title:lang(ja){
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

.en_font{ /* 英字フォント */
	font-family: "Josefin Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: <weight>;
	font-style: normal;
}

.flex{
	display: flex;
}

.pc_none{
	display: none;
}
.sp_none{
	display: block;
}

#header{
	height:95px;
}
#header nav{
	display: flex;
}
nav ul.head_btn_img,
nav ul.head_btn_img li{
	padding:0;
	align-items: flex-start;
}
nav ul.head_btn_img li{
	margin:0;
}
nav ul.head_btn_img li img{
	height:50px;
	width:auto;
	padding-top:-20px;
}
.head_btn_img a{
	display: block;
}

.head_btn_img_li{
	padding:0;
	height: 90px
}
.head_btn_img_li a,
.sp_btn li a{
	display: block;
}
.head_btn_img_sp{
	display: flex;
}
#menubtn ul.head_btn_img_sp{
	padding:0;
}
/* #menubtn li.head_btn_img_li:first-child{
	width:calc(100% / 2);
	height: 90px; 
	width: 39%;*/
}
#menubtn li.head_btn_img_li:last-child{
	width: 100%;
}
#menubtn .head_btn_img_li img{
	height: auto;
	width: 100%;
}
.sp_btn{
	width:67%;
	display: flex;
	align-items: center;
	background: rgba(255, 255, 255, 0.9)
}
.sp_btn_img{
	width:33%;
}
.sp_btn li{
	padding:5% 0;
}

#menubtn li.head_btn_img_li,
#menubtn .sp_btn li{
	background: transparent;
	opacity: 1;
	padding:0;
}

.head_nav{
	display: flex;
	justify-content: flex-end;
	width: calc(100% - 240px);
	margin-top: -10px;
	margin-right: 20px;
}
.header_logo{
	width: 200px;
	margin: 10px 40px;
}
.header_logo a{
	display: block;
}
.head_btn_img_01{
	background-color: #bdd20b;
	border-radius: 12px;
}
.head_btn_img_02{
	background-image: linear-gradient(114deg, rgba(200, 96, 160, 1), rgba(224, 88, 127, 1) 30%, rgba(236, 147, 75, 1) 74%, rgba(243, 193, 92, 1));
	border-radius: 14px;
}
.head_btn_img_01 a,
.head_btn_img_02 a{
	padding:20px 25px 5px 25px;
}

nav ul.head_btn_img li{
	top: 0px;
	left: 0;
}
nav ul.head_btn_img li:hover{
	opacity: 0.6;
}

.title_en{
	font-size: 610%; /* 110px */
	line-height: 1em;
	color: #000;
}
.title_en_w{
	font-size: 610%; /* 110px */
	line-height: 1em;
	color: #fff;
}
.title_btn{
	text-align: left;
	margin-top: 30px;
	margin-bottom: 55px;
}
.merit_btn{
	text-align: center;
	margin-top: 20px;
}
.merit_btn_a{
	display: inline-block;
	background-image: linear-gradient(90deg, rgba(200, 96, 160, 1), rgba(255, 100, 119, 1));
	color: #fff;
	text-decoration: none;
	padding: 0.7rem 2.2rem;
	border-radius: 100px;
	/*border: 1px solid #fb5375;*/
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	margin-right:10px;
}
.merit_btn_a:hover{
	background-color: #fff;
	color:#fff;
}
.merit_btn2{
	text-align: center;
	margin-top: 20px;
}
.merit_btn2_a{
	display: inline-block;
	background-image: linear-gradient(90deg, rgba(244, 125, 113, 1), rgba(243, 193, 92, 1));
	color: #fff;
	text-decoration: none;
	padding: 0.7rem 2.2rem;
	border-radius: 100px;
	/*border: 1px solid #fb5375;*/
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
.merit_btn2_a:hover{
	background-color: #fff;
	color:#fff;
}
.merit03 .merit_btn_a{
	background-color: #bdd20b;
	/*border: 1px solid #bdd20b;*/
}
.merit03 .merit_btn_a:hover{
	background-color: #fff;
	color:#fff;
}
.page_in{
	margin: 1% 0 0;
	padding: 1% 0 0;
	
}
.page_in .inner{
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
	line-height: 200%;
}
.pankuzu_wrap.inner{
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
}
.page_head_wrap{
	background-color: #F4F4F4;
	padding: 60px 0;
	text-align: center;
	margin-top: 10px;
}
.page_head_wrap h2{
	font-size: 2em;
	line-height: 2em;
	padding-right: 0;
	letter-spacing: 0.1em;
	font-weight: 600;
}
.page_wrap{
	padding-bottom: 3%;
	margin-bottom: 3%;
	line-height: 200%;
}
.page-id-1096 .page_wrap{
	padding-bottom: 0;
	margin-bottom: 0;
}
#merit img{
	padding: 15px 30px;
}


.over_wrap{
	background-color: #F4F4F4;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	padding: 100px 0 50px;
}
.flex_con{
	width: calc(100% / 2 - 2.5%);
}
.flex_con_right{
	margin-left:5%;
}
.flex_con img{
	width:100%;
	height:auto;
}
.page_in p + p{
	margin-top: 2em;
	line-height: 200%;
}

.pankuzu{
	font-size: 0.7em;
}
li.pakuzu_li{
	padding:0;
}
.pakuzu_li + .pakuzu_li{
	margin-left: 1em;
}
.pakuzu_li + .pakuzu_li:before{
	content:"";
	display: inline-block;
	width: 7px;
	height: 7px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(45deg);
	margin-right: 1em;
}



.footersingle{
	/*background-color: #F3F0EE;*/
	background-image: linear-gradient(90deg, rgba(244, 163, 74, 1), rgba(244, 100, 156, 1));
}
.footersingle_in{
	width: 94%;
	max-width:1200px;
	margin: 0 auto;
	padding: 3% 0 1%;
}
li.footersingle_li{
	padding:0 10px;
}
.footersingle_a{
	display: block;
	position: relative;
	padding-top: 65%;
}
.footersingle_a img{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}
.footersingle_a:hover img{
	opacity: 0.7;
}
.slide-arrow {/* ã‚¹ãƒ©ã‚¤ãƒ€ãƒ¼ã‚„ã˜ã‚‹ã— */
	background-color: transparent;
	bottom: 0;
	height: 0;
	margin: auto;
	position: absolute;
	top: 0;
	width: 0;
	cursor:pointer;
}
.prev-arrow {/* ã‚¹ãƒ©ã‚¤ãƒ€ãƒ¼ã‚„ã˜ã‚‹ã— */
	border-bottom: 15px solid transparent;
	border-left: 0;
	border-right: 18px solid #fff;
	border-top: 15px solid transparent;
	left: -30px;
}
.next-arrow {/* ã‚¹ãƒ©ã‚¤ãƒ€ãƒ¼ã‚„ã˜ã‚‹ã— */
	border-bottom: 15px solid transparent;
	border-left: 18px solid #fff;
	border-right: 0;
	border-top: 15px solid transparent;
	right: -30px;
}
button {/* ã‚¹ãƒ©ã‚¤ãƒ€ãƒ¼ã‚„ã˜ã‚‹ã— */
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: 0;
}
.footersingle_content_text{
	font-size: 0.8em;
	line-height: 1.2em;
	font-weight: 400;
}
.footersingle_btn{
	text-align: right;
	margin-top: 5px;
}
.footersingle_btn_a{
	color: #fff;
	text-decoration: none;
}
.footersingle_btn_a:hover{
	opacity: 0.7;
}


.page h3{
	border-left:none;
	padding-left: 0;
	margin:0;
	margin-bottom: 20px;
	line-height: 200%;
}
.page .custom_h3 h3{
	text-align: center;
	position: relative;
	padding-bottom:25px;
	border-radius: 100px;
	line-height: 200%;
}
.page .custom_h3 h3:after{
	content: "";
	display: inline-block;
	width: 90px;
	height: 7px;
	background-image: linear-gradient(90deg, rgba(244, 163, 74, 1), rgba(244, 100, 156, 1));
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	border-radius: 100px;
}

.merit_graph_wrap{
	margin-top: 50px;
}
.merit_graph_wrap + .merit_graph_wrap{
	padding-top:50px;
}
.merit_graph_title{
	font-size: 1.5em;
	line-height: 1.8em;
	text-align: center;
}
.merit_graph_img{
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	margin-top: 50px;
}
.merit_graph_img img{
	width:100%;
	height:auto;
}
.merit_graph_wrap02 .merit_graph_img img{
	width:79%;
}
.merit_graph_table{
	max-width: 615px;
	width: 90%;
	margin: 0 auto;
}
.merit_graph_table tr{
	display: block;
	width: 100%;
}
.merit_graph_table tr + tr{
	margin-top: 10px;
}
.merit_graph_table table th,
.merit_graph_table table td{
	padding:0;
	text-align:left;
	border-bottom:none;
	vertical-align: middle;
}
.merit_graph_table table tr:nth-child(odd){
	border-bottom:none;
}
.merit_graph_table table th{
	text-align: center;
	background-color: #fff;
	padding:5px 20px 20px 20px;
	width: 200px;
	position: relative;
}
.merit_graph_table table th:before{
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #F4F4F4;
	border-width: 40px 0px 0px 100px;
	position: absolute;
	bottom: 0;
	left: 0;
}
.merit_graph_table table th:after{
	content:"";
	width: 0;
	height: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent #F4F4F4 transparent;
	border-width: 0px 0px 40px 100px;
	position: absolute;
	bottom: 0;
	right: 0;
}
.merit_graph_th p{
	line-height: 1.2em;
}
.merit_graph_th p span{
	font-size: 0.8em;
}
.merit_graph_table td.merit_graph_td_position{
	width:220px;
	padding:20px;
}
.merit_graph_table td.merit_graph_td_ico{
	padding:0;
}
.merit_graph_table td.merit_graph_td_icon img{
	height: 60px;
	width: auto;
}
.icon_ul{
	display: flex;
	flex-wrap: wrap;
}
.icon_ul li{
	padding: 0;
	width: calc(100% / 3 - 10px);
	margin: 5px;
	text-align: center;
}
.icon_ul li.icon01{
	width: calc(100% - 10px);
}
.icon_ul li.icon02{
	width: calc(100% / 2 - 10px);
}
.merit_graph_table table td.merit_graph_td_position{
	vertical-align: top;
}
.page_in .merit_graph_table p + p{
	margin:0;
	line-height: 200%;
}
.merit_graph_footertext{
	margin-top: 50px;
	text-align: center;
}
.merit_graph_headertext{
	text-align: left;
	max-width:850px;
	margin: 3% auto;
}
.merit_graph_banner{
	position: relative;
	margin-top: 50px;
	text-align: center;
	padding-bottom: 100px;
}
.merit_graph_banner a{
	display: block;
}
.merit_graph_banner a:hover{
	opacity: 0.7;
}
.merit_graph_banner:after{
	content: "";
	display: inline-block;
	width: 90px;
	height: 7px;
	background-color: #F4F4F4;
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	border-radius: 50px
}
.merit_graph_banner img{
	max-width:100%;
}

.page-id-1164 .page_in{
	padding-bottom:100px;
}
.about_in .flex{
	align-items: center;
}
.about_column + .about_column{
	margin-top: 100px;
}
.about_head_position{
	color: #A59890;
	margin-bottom: 5px;
}
.about_profile,
.mission_text{
	margin-top: 30px;
}
.about_profile p,
.mission_text p{
	font-size: 0.9rem;
	line-height: 180%;
}
.mission_head h3{
	font-size: 150%;
}
.mission_head h3 span{
	font-size: 200%;
	margin-right: 20px;
}

.page-id-1047{
	padding-top:100px;
}
.blog .footersingle{
	display: none;
}



/* ãŠå•ã„åˆã‚ã›ãƒ•ã‚©ãƒ¼ãƒ  */
#form p{
	margin:0;
}
#form .inner{
	width: 94%;
	max-width: 650px;
	padding-bottom:50px;
}
#form .wpcf7-form-control,
.wpcf7-validates-as-required{
	border-radius: unset;
	width:auto;
}
#form .wpcf7-form input{
	border-radius: 50px;
}
#form .wpcf7-form textarea{
	height: 200px;
	border-radius: 25px;
}
#form .wpcf7-form input,
#form .wpcf7-form textarea{
	background-color: rgba(243, 240, 238, 0.5);
	border: 1px solid #D1C9C3;
	width:100%;
	margin-bottom: 0;
}
#form .wpcf7-form input[type="checkbox" i] {
	width: auto;
}
#form .formbtn{
	text-align: center;
	margin-top: 50px;
}
#form input.wpcf7-submit{
	background-color: #f43485;
	border: 1px solid #f43485;
	color: #fff;
	border: none;
	width: 50%;
	margin: 0 auto;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
#form input.wpcf7-submit:hover{
	border: 1px solid #f43485;
	background-color: #fff;
	color: #f43485;
}
#form .formtext{
	margin-bottom: 70px;
}
#form .formtext p + p{
	margin-top: 0;
}
.wpcf7-not-valid-tip{
	font-size: 0.9rem;
}
.form_con input[type="text" i],
.form_con input[type="email" i],
.form_con textarea{
	width: 100%;
	background-color: rgba(243, 240, 238, 0.5);
	border: 1px solid #D1C9C3;
	padding: 6px 9px;
	border-radius: 15px;
}
.form_con textarea{
	height: 200px;
}
.form_con + .form_con{
	margin-top: 30px;
}
.formbtn button{
	background-color: #f43485;
	border: 1px solid #f43485;
	color: #fff;
	border: none;
	width: 50%;
	margin: 0 auto;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	padding: 15px;
	font-size: 16px;
}
.formbtn button:hover{
	border: 1px solid #f43485;
	background-color: #fff;
	color: #f43485;
}







@media screen and (max-width: 767px) {
	.pc_none{
		display: block;
	}
	.sp_none{
		display: none;
	}

	.merit_btn_a{
	width:80%;
	margin-right:10px;
	margin-bottom:10px;
	margin-left:10px;
		align-items: center;
		text-align: center;
	}
	.merit_btn2_a{
	width:80%;
	margin-right:10px;
	margin-bottom:10px;
	margin-left:10px;
		align-items: center;
		text-align: center;
	}
	
	.title_btn{text-align: center;}
	
	.header_logo{
		width:90px;
		margin: 5px 10px 0;
	}
	.header_in.flex{
		align-items: center;
		justify-content: space-between;
	}
	#menubtn ul, li{
		padding:0;
	}
	#menubtn ul.head_btn{
		align-items: center;
		width: 100%;
	}
	#menubtn ul.head_btn li{
		width: calc(100% / 3);
	}
	#menubtn ul.head_btn li a{
		padding: 25px 0;
		padding: 3.5vw 0;
		display: block;
		background-color: rgba(255, 255, 255, 0.9);
	}
	#menubtn ul.head_btn_img{
		width:60%;
	}
	#menubtn ul.head_btn_img li{
		margin: 0;
	}
	#menubtn ul.head_btn_img li.head_btn_img_01{
		width:40%;
	}
	#menubtn ul.head_btn_img li.head_btn_img_02{
		width:100%;
	}
	nav ul.head_btn_img li img{
		width: auto;
	}
	#menubtn ul.head_btn_img img{
		width: auto;
	}
	
	.header{
		height: unset;
	}
	.header_in.fixed{
		position: unset;
	}
	
	.head_btn_img_01 a,
	.head_btn_img_02 a{
		padding: 3.5vw 2vw;
	}
	nav#menubtn ul li img{
		height: 7vw;
	}
	.txttop{
		width: calc(100% - 110px);
		text-align: right;
	}
	
	.midasi{
		padding-right: 10px;
	}
	.title_en{
		font-size: 50px;
	}
	.title_en_w{
		font-size: 50px;
	}
	
	#merit .merit02{
		flex-direction: column;
	}
	#merit .merit02_img{
		order: 1;
	}
	#merit .merit02_txt{
		order: 2;
	}
	.merit_btn_a{
		font-size: 0.9em;
		padding: 0.9rem 2rem;
	}
	#merit img{
		padding:20px;
	}
	
	
	li.footersingle_li{
		padding: 0 5px;
	}
	.footersingle_in{
		width: 87%;
		padding:30px 0;
	}
	.prev-arrow{
		left: -20px;
		border-bottom: 10px solid transparent;
		border-left: 0;
		border-right: 13px solid #C9BEB8;
		border-top: 10px solid transparent;
	}
	.next-arrow{
		right: -20px;
		border-bottom: 10px solid transparent;
		border-left: 13px solid #C9BEB8;
		border-right: 0;
		border-top: 10px solid transparent;
	}
	
	.page_in p + p{
		margin-top:1em;
	}
	
	.page_head_wrap{
		padding:30px 10px;
	}
	.page_head_wrap h2{
		font-size: 1.5em;
		line-height: 1.5em;
	}
	.page h3{
		font-size: 1.4em;
		line-height: 1.2em;
	}
	.over_wrap{
		padding:50px 0;
	}
	.over_in .flex{
		flex-direction: column;
	}
	.flex_con{
		width:100%;
		margin: 0;
	}
	.flex_con_right{
		margin-top: 20px;
	}
	.page .custom_h3 h3{
		padding-bottom: 20px;
	}
	.page .custom_h3 h3:after,
	.merit_graph_banner:after{
		width: 60px;
		height: 5px;
	}
	.merit_graph_wrap{
		margin-top:30px;
	}
	.merit_graph_title{
		font-size: 1.2em;
		line-height: 1.5em;
	}
	.merit_graph_img{
		margin-top:30px;
	}
	.merit_graph_footertext{
		text-align: left;
	}
	
	.about_in .flex{
		flex-direction: column;
	}
	#about02 .flex_con_left{
		order: 2;
		margin-top: 20px;
	}
	#about02 .flex_con_right{
		order: 1;
		margin-top:0;
	}
	.mission_head h3 span{
		display: block;
		margin-bottom: 10px;
	}
	
	.page-id-1047{
		padding-top:0;
	}
	
	#form .inner{
		padding-bottom:100px;
	}
	
	
}


@media screen and (max-width: 520px) {
	.merit_graph_table{
		width: 100%;
	}
	.merit_graph_table table th{
		min-width: 34%;
		padding: 1.2vw 2.4vw 4.5vw;
	}
	.merit_graph_th p{
		font-size: 2.2vw;
		line-height: 3.5vw;
	}
	.merit_graph_table td.merit_graph_td_position{
		min-width:36%;
		width: 36%;
		padding: 1.2vw 2.7vw;
	}
	.page_in .merit_graph_table p{
		font-size: 2.2vw;
		line-height: 3.5vw;
	}
	.merit_graph_table td.merit_graph_td_icon{
		width: 30%;
	}
	.merit_graph_table td.merit_graph_td_icon img{
		height: 9vw;
	}
	.merit_graph_table table th:before{
		border-width: 6vw 0px 0px 100px;
	}
	.merit_graph_table table th:after{
		border-width: 0px 0px 6vw 100px;
	}
	.merit_graph_table tr + tr{
		margin-top: 0.8vw;
	}
	.icon_ul li{
		margin: 0.5vw;
		width: calc(100% / 3 - 1vw);
	}
	.icon_ul li.icon01{
		text-align: left;
	}
	.icon_ul li.icon02{
		width: calc(100% / 3 - 1vw);
		text-align: left;
	}
}
}
.wp-block-buttons { display:flex; width:100%; margin-top:2%; margin-bottom:2%;}
.wp-block-button__link {
  /*border: 2px solid #ff8d8d; font-size: 1.0rem;*/
  color: #fff;
  border-radius: 30px;
  background: #ff8d8d!important; padding: 0.8rem 1.8rem; margin:1.8rem;
}
a.wp-block-button__link {
  /*border: 2px solid #ff8d8d;*/
  color: #fff;
  border-radius: 30px;
  background: #ff8d8d!important; padding: 0.8rem 1.8rem; margin:1.8rem auto;
}
a.wp-block-button__link:hover {
  /*border: 2px solid #FFC187!important;*/
  color: #fff!important;
  border-radius: 30px;
  background: #FFC187!important;
}
/***追従するトップへ戻るボタン***/
.pagetop-btn {
  position: fixed;
  width: 52px;
  height: 52px;
  border: solid 1px #e37689;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  right: 20px;
  bottom: 20px;
  z-index: 1000;
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 0.3s, transform 0.3s;
}

.pagetop-btn::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-left: 2px solid #e37689;
  border-top: 2px solid #e37689;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -25%) rotate(45deg);
}

.pagetop-btn.visible {
  opacity: 1;
  transform: translateY(0);
}
/***トップへ戻るボタンここまで***/