@charset "UTF-8";
/*
Theme Name: 児童発達支援放課後等デイサービス おんぷ
*/

/*-----------------------------------------
default
-----------------------------------------*/
* {
	margin: 0;
	padding: 0;
}

@font-face {
	font-family: "Yu Gothic M";
	src: local("Yu Gothic Medium");
}

@font-face {
	font-family: "Yu Gothic M";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}

html {
	/*-----------------------------------------
	ゴシック主体の場合
	-----------------------------------------*/
	font-family: "Noto Sans JP", sans-serif, -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	/*-----------------------------------------
	明朝体主体の場合
	-----------------------------------------*/
	/*
	font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	*/
	color: #231815;
	letter-spacing: 0.1px;
	font-size: 14px;
	scroll-behavior: smooth;
	scroll-padding-top: 75px;
}

a {
	transition: 0.1s linear all;
	color: #231815;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

li {
	list-style-type: none;
}

p,
th,
td,
li,
dt,
dd {
	line-height: 1.8em;
}

img {
	border: none !important;
}

/*-----------------------------------------
common
-----------------------------------------*/
.section_inner,
.footer_inner,
.header_inner {
	width: 96%;
	margin: 0 auto;
	overflow: hidden;
}
.effect-fade{
	opacity:0;
	transform:translate(0,60px);
	transition:all 1000ms;
}
.effect-fade.effect-scroll {
	opacity:1;
	transform:translate(0, 0);
}
.lefteffect{
	transform:translateX(-15%);
	opacity:0;
	transition:opacity 1000ms,transform 1000ms;
}
.righteffect{
	transform:translateX(15%);
	opacity:0;
	transition:opacity 1000ms,transform 1000ms;
}
.fadein{
	opacity:1;
	transform:translateX(0);
}
.copyright {
	text-align: center;
}
.zenmaru {
	font-family: 'Zen Maru Gothic', serif;
}
.zenkaku {
	font-family: "Zen Kaku Gothic New", sans-serif;
}
.center {
	text-align: center;
}
.bg_gray {
	background: #f4f1f4;
}
.bg_lightpurple {
	background: #e3dde3;
}
.bg_purple {
	background: #dfd9eb;
}
.bg_deeppurple {
	background: #c3b7d9;
}
.bg_yellow {
	background: #f8f273;
}
.bg_navy {
	background: #62637b;
}
.bg_white {
	background: white;
}
.normal {
	font-weight: normal;
}
.medium {
	font-weight: 600;
}
.bold {
	font-weight: bold;
}
.text_left {
	text-align: left;
}
.text_right {
	text-align: right;
}
h2 {
	font-size: 40px;
	font-weight: bold;
	color: #957eb8;
	line-height: 0.8;
	margin-bottom: 50px;
	text-align: center;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
h2 span.ja {
	font-size: 17px;
	font-weight: 500;
}
h3 {
	text-align: center;
	padding: 40px 0;
	box-sizing: border-box;
	font-family: "Zen Maru Gothic", sans-serif;
}
.purple {
	color: #8d75b2;
}
.orange {
	color: #f4a84e;
}
.pink {
	color: #e173a8;
}
.white {
	color: white;
}
.bg_lightgray {
	background: #f6f4f6;
}
/* 文字サイズ */
.size10{ font-size:10px; }
.size11{ font-size:11px; }
.size12{ font-size:12px; }
.size13{ font-size:13px; }
.size14{ font-size:14px; }
.size16{ font-size:16px; }
.size17{ font-size:17px; }
.size18{ font-size:18px; }
.size20{ font-size:20px; }
.size21{ font-size:21px; }
.size24{ font-size:24px; }
.size27{ font-size:27px; }
.size28{ font-size:28px; }
.size30{ font-size:30px; }
.size31{ font-size:31px; }
.size32{ font-size:32px; }
.size35{ font-size:35px; }
.size36{ font-size:36px; }
.size37{ font-size:37px; }
.size42{ font-size:42px; }
.size46{ font-size:46px; }
.size47{ font-size:47px; }
.size48{ font-size:48px; }
.size60{ font-size:60px; }

.page main {
	margin-top: 133px;
}
.letter_space {
	letter-spacing: 15px;
}
/*-----------------------------------------
top
-----------------------------------------*/
.error404 .pageimg {
	margin: 140px auto 0;
}
.error404 .pageimg h2 {
	font-size: 32px;
}
.page_bg .pageimg {
	margin: 40px auto;
}
.page_bg .pageimg h2 {
	font-size: 24px;
}
.error404 article > section {
	padding: 0 0 85px;
}
.wrapper {
	width: 100%;
	height: auto;
}
header {
	position: fixed;
	top: 0;
	background: rgba(255, 255, 255, 0.8);
	height: 75px;
	width: 100%;
	box-shadow: 1px 7.5px 5px -5px #bababa;
	z-index: 999;
}
header .header_inner {
	max-width: 850px;
}
header .header_inner ul {
	overflow: hidden;
	display: flex;
	gap: 20px;
}
header .header_inner ul li {
	float: left;
	width: calc((100% - 100px) / 6);
	text-align: center;
	font-size: 17px;
	font-weight: 600;
	padding: 20px 0;
	box-sizing: border-box;
}
header .header_inner ul li:hover {
	background: url(images/hover.png) no-repeat;
	background-position: 0px 15px;
}
header .header_inner ul li a {
	color: #59595d;
}
header .header_inner ul li a:hover {
	text-decoration: none;
}
.mainimg {
	margin-top: 75px;
	position: relative;
	height: 800px;
	background: url(images/bg_mainimg.png) no-repeat;
	background-position: center;
}
.mainimg .main_img,
.mainimg .main_text {
	position: absolute;
	top: 35%;
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
}
.mainimg .main_img img {
	width: 160px;
}
.mainimg .main_text {
	top: 78%;
	color: #535154;
}
.mainimg .main_text p.bb {
	padding-top: 5px;
	margin-top: 5px;
	border-top: 2px solid #eee;
	box-sizing: border-box;
	display: inline-block;
}
section.bg_gray {
	padding: 80px 0;
}
section.bg_gray.first {
	padding: 12.5px 0;
}
section .section_inner > p.bg_yellow {
	width: 430px;
	margin: 0 auto;
	border-radius: 25px;
	padding: 15px 0;
	box-sizing: border-box;
	margin-bottom: 30px;
	line-height: 1.2;
}
section .section_inner .pdf {
	overflow: hidden;
	width: 320px;
	margin: 30px auto 0;
	display: flex;
	justify-content: space-between;
}
section .section_inner .pdf .left,
section .section_inner .pdf .right {
	text-align: center;
}
section .section_inner .pdf .left a,
section .section_inner .pdf .right a {
	margin: 0 auto;
}
section .section_inner .pdf .left a:hover,
section .section_inner .pdf .right a:hover {
	text-decoration: none;
	opacity: 0.7;
}
section .section_inner .pdf p:nth-child(2) {
	margin: 15px 0 5px;
}
section .section_inner .pdf p.bg_navy {
	border-radius: 20px;
	padding: 5px 0;
	width: 150px;
	box-sizing: border-box;
	color: white;
}
section#wish {
	background: url(images/onpu_text.svg) no-repeat, url(images/bg_wish.png) no-repeat;
	background-position: 80% top, center 100%;
	background-size: 40%, cover;
}
section#wish .wish {
	width: 730px;
	margin: 0 auto;
	padding: 200px 0;
	box-sizing: border-box;
	background: url(images/bg_whitelogo.svg) no-repeat;
	background-position: left 40%;
	background-size: 275px;
}
section#wish .wish .wish_text {
	margin-left: 280px;
}
section#wish .wish .wish_text p.size30 {
	margin-bottom: 50px;
}
section#wish .wish .wish_text p.size18 {
	line-height: 2.5;
	margin-left: 30px;
}
section .message {
	overflow: hidden;
	width: 700px;
	margin: 0 auto 80px;
}
section .message .left {
	width: 400px;
	float: left;
	margin-right: 40px;
}
section .message .right {
	width: 260px;
	float: left;
}
section .message .right img {
	margin-bottom: 10px;
}
section .message .right img {
	margin-bottom: 10px;
}
section .message .right .president {
	border-left: 2px solid #eee;
	padding-left: 20px;
	box-sizing: border-box;
	margin-left: 40px;
}
section .message .right .president img {
	margin-top: 5px;
	width: 160px;
}
section#about img {
	width: 730px;
	margin: 0 auto;
	display: block;
	text-align: center;
}
section.bg_purple .consultation {
	padding: 45px 0 75px;
	box-sizing: border-box;
	width: 700px;
	margin: 0 auto;
}
section.bg_purple .consultation .consultation_full {
	box-sizing: border-box;
	border: 5px solid #c3b7d9;
	padding: 30px 30px 15px;
	background: white;
}
section.bg_purple .consultation .consultation_full .ul_flex {
	overflow: hidden;
	margin-top: 20px;
}
section.bg_purple .consultation .consultation_full .ul_flex .left,
section.bg_purple .consultation .consultation_full .ul_flex .right {
	width: 50%;
	float: left;
}
section.bg_purple .consultation .consultation_full .ul_flex .right {
	margin-top: 20px;
}
section.bg_purple .consultation .consultation_full .ul_flex ul li {
	padding-left: 30px;
	box-sizing: border-box;
	background: url(images/check.png) no-repeat;
	background-position: left center;
}
section.bg_purple .consultation .consultation_flex {
	overflow: hidden;
	margin-top: 20px;
	padding-bottom: 20px;
}
section.bg_purple .consultation .consultation_flex .left,
section.bg_purple .consultation .consultation_flex .right {
	width: 47.5%;
	float: left;
	border-radius: 15px;
	padding: 15px 25px;
	box-sizing: border-box;
	margin-right: 2.5%;
}
section.bg_purple .consultation .consultation_flex .left {
	box-shadow: 10px 10px 0px 0 #f8f273;
}
section.bg_purple .consultation .consultation_flex .left p.orange {
	margin-top: 5px;
}
section.bg_purple .consultation .consultation_flex .right {
	box-shadow: 10px 10px 0px 0 #e173a8;
}
section#oneday h2,
section#flow h2 {
	margin-bottom: 15px;
}
section#oneday {
	padding: 200px 0 100px;
	box-sizing: border-box;
	background: url(images/bg_oneday.png) no-repeat;
	background-position: center 5%;
}
section#oneday .section_inner,
section#flow .section_inner {
	width: 800px;
	margin: 0 auto;
}
section#oneday .section_inner img,
section#flow .section_inner img {
	width: 100%;
	margin: 50px auto 20px;
}
section#flow .section_inner img {
	margin: 50px auto 35px;
}
section#oneday .section_inner .annual_events {
	padding-top: 50px;
}
section#oneday .section_inner .annual_events .inner {
	position: relative;
	border: 5px solid #c3b7d9;
	padding: 40px 30px 25px;
	box-sizing: border-box;
}
section#oneday .section_inner .annual_events .inner p.bg_deeppurple {
	position: absolute;
	left: 0;
	right: 0;
	width: 175px;
	margin: 0 auto;
	top: -25px;
}
section#oneday .section_inner .annual_events .inner ul {
	overflow: hidden;
}
section#oneday .section_inner .annual_events .inner ul li {
	float: left;
	width: calc((72% - 20px) / 2);
	margin-right: 15px;
}
section#oneday .section_inner .annual_events .inner ul li:nth-child(1),
section#oneday .section_inner .annual_events .inner ul li:nth-child(3n+1) {
	width: calc(28% - 20px);
}
section#oneday .section_inner .annual_events .inner ul li:nth-child(3n) {
	margin-right: 0;
}
section#oneday .section_inner .annual_events .inner ul li span.month {
	color: #7b5fa5;
	font-size: 20px;
	margin-right: 5px;
	font-family: 'Zen Maru Gothic', serif;
	font-weight: 600;
}
section#flow {
	padding: 95px 0 130px;
	background: url(images/bg_flow.png) no-repeat;
	background-position: center 0;
	box-sizing: border-box;
}
section#flow .section_inner .obligation_fees {
	overflow: hidden;
	padding: 25px 30px;
	box-sizing: border-box;
	border: 5px solid #c3b7d9;
	display: flex;
	align-items: center;
}
section#flow .section_inner .obligation_fees .left {
	width: 180px;
	float: left;
}
section#flow .section_inner .obligation_fees .right {
	width: calc(100% - 180px);
	float: left;
}
section#office h3 {
	padding: 25px 0;
	font-size: 28px;
	color: #000300;
}
section#office .office_block {
	padding: 70px 0 100px;
	background: url(images/bg_office.png) no-repeat;
	background-position: center -5%;
	box-sizing: border-box;
}
section#office .office_block:last-child {
	background-position: center 0;
	padding: 100px 0 0;
	position: relative;
}
section#office .office_block:last-child:before {
	position: absolute;
	content: "";
	height: 2px;
	width: 100%;
	background: #bdbdbd;
	top: 40px;
}
section#office .office_block .inner {
	width: 650px;
	margin: 0 auto;
}
section#office .office_block .inner img {
	width: 80%;
	margin: 0 auto;
	display: block;
	text-align: center;
}
section#office .office_block .inner img:nth-child(2) {
	margin: 60px auto 50px;
}
section#office .office_block:last-child .inner img:nth-child(2) {
	width: 90%;
	margin: 60px 0 50px;
}
section#office .office_block .address {
	padding-left: 15px;
	border-left: 8px solid #c8c9ca;
	box-sizing: border-box;
	margin-bottom: 40px;
}
section#office .office_block .address,
section#office .office_block .address a {
	color: #231815;
}
section#office .office_block:first-child .address {
	margin-bottom: 100px;
}
section#office .office_block .address .size35 {
	letter-spacing: -1px;
}
section#office .office_block .address p.size15 span {
	display: block;
	margin-left: 110px;
	line-height: 0.5;
	margin-bottom: 10px;
}
section#office .office_block .area {
	width: 815px;
	margin: 45px auto 80px;
	padding: 15px 0;
}
section#office .office_block .area .inner {
	overflow: hidden;
	width: 650px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #231815;
}
section#office .office_block .area .inner .left {
	width: 100px;
	margin-right: 30px;
	box-sizing: border-box;
	border: 1px solid #231815;
	padding: 10px 0;
}
section#office .office_block .area .inner .left p {
	line-height: 1.3;
	font-weight: 600;
}
section .section_inner .title {
	text-align: center;
}
section .section_inner .title img,
section#about .section_inner .title img,
section#oneday .section_inner .title img,
section#flow .section_inner .title img {
	width: auto;
}
footer .footer_company {
	display: flex;
	justify-content: space-between;
	width: 425px;
	margin: 0 auto;
	align-items: center;
	padding: 45px 0;
}
footer .bg_lightpurple {
	padding: 20px 0;
}
.pagetop {
	position: fixed;
	bottom: 30px;
	right: 30px;
	height: 85px;
	width: 85px;
	box-sizing: border-box;
	border-radius: 50%;
	z-index: 999;
	background: #c7bddc;
	display: flex;
	justify-content: center;
	align-items: center;
}
.pagetop:hover {
	cursor: pointer;
}
.pagetop:hover img {
	transform: translateY(-2.5px);
	transition: 0.1s linear all;
}


/*-----------------------------------------
20250331 追加修正
-----------------------------------------*/ 
.bg_deepGray {
	background: #62637B;
}
section.bg_gray .section_inner div.bg_deepGray {
	border-radius: 35px;
	padding: 15px 0 10px;
	box-sizing: border-box;
	width: 635px;
	margin: 0 auto 35px;
	text-align: center;
}
section.bg_gray .section_inner .bg_deepGray p.size24 {
	position: relative;
	padding: 0 25px;
	box-sizing: border-box;
	display: inline-block;
	line-height: 1;
}
section.bg_gray .section_inner .bg_deepGray p.size24:before,
section.bg_gray .section_inner .bg_deepGray p.size24:after {
	position: absolute;
	content: "";
	background: #F7EE5D;
	width: 5px;
	height: 20px;
	top: 3.5px;
}
section.bg_gray .section_inner .bg_deepGray p.size24:before {
	left: 0;
}
section.bg_gray .section_inner .bg_deepGray p.size24:after {
	right: 0;
}
section.bg_gray .section_inner .pdf_ex {
	width: 635px;
	margin: 55px auto 0;
}
section.bg_gray .section_inner .pdf_ex .pdf_block {
	overflow: hidden;
}
section.bg_gray .section_inner .pdf_ex .pdf_block:first-child {
	margin-bottom: 80px;
}
section.bg_gray .section_inner .pdf_ex .pdf_block .size18 {
	padding: 7.5px 35px;
	box-sizing: border-box;
	border-radius: 24px;
	margin-bottom: 25px;
}

section.bg_gray .section_inner .pdf_ex .pdf_block:last-child .size18 {
	background: #F8C200;
}
section.bg_gray .section_inner .pdf_ex .pdf_block .pdf_flex,
section.bg_gray .section_inner .pdf_ex .pdf_block .pdf_flex .pdf_inner {
	display: flex;
	gap: 75px;
	width: calc(100% - 100px);
	margin: 0 auto;
}
section.bg_gray .section_inner .pdf_ex .pdf_block .pdf_flex.last {
	margin-top: 40px;
}
section.bg_gray .section_inner .pdf_ex .pdf_block .pdf_flex .pdf_inner {
	width: calc(100% - 120px);
}
section.bg_gray .section_inner .pdf_ex .pdf_block:last-child .pdf_flex {
	display: block;
	width: 100%;
}
section.bg_gray .section_inner .pdf_ex .pdf_block .pdf_flex a.size17 {
	padding: 15px 0 15px 45px;
	background: url(images/pdf_icon.png) no-repeat;
	background-size: 40px auto;
	background-position: left center;
	box-sizing: border-box;
	display: flex;
	gap: 10px;
	align-items: center;
	margin-bottom: 15px;
}
section.bg_gray .section_inner .pdf_ex .pdf_block .pdf_flex .right a.size17 {
	padding: 10px 0 10px 45px;
}
section.bg_gray .section_inner .pdf_ex .pdf_block .pdf_flex a.size17:hover {
	text-decoration: none;
	opacity: 0.7;
}
section.bg_gray .section_inner .pdf_ex .pdf_block .pdf_flex a.size17 span.bg_deepGray {
	padding: 5px 15px 6px;
	box-sizing: border-box;
	line-height: 1;
	display: block;
	border-radius: 12.5px;
	border: 1px solid #62637B;
	opacity: 1;
}
/* section.bg_gray .section_inner .pdf_ex .pdf_block .pdf_flex a.size17 span.bg_deepGray:hover {
background: white;
color: #62637B;
} */
section.bg_gray .section_inner .pdf_ex .pdf_block .size18.pdf_title span {
	background: #f4f1f4;
	padding-right: 10px;
}
section.bg_gray .section_inner .pdf_ex .pdf_block:last-child .size18.pdf_title {
	background: none;
	margin-bottom: 15px;
	position: relative;
	padding: 0 0 0 55px;
	box-sizing: border-box;
}
section.bg_gray .section_inner .pdf_ex .pdf_block:last-child .size18.pdf_title:before {
	position: absolute;
	background: #F8C200;
	height: 15px;
	width: 15px;
	content: "";
	top: 10px;
	left: 35px;
}
section.bg_gray .section_inner .pdf_ex .pdf_block:last-child .size18.pdf_title:after {
	position: absolute;
	background: #231815;
	height: 1px;
	width: 100%;
	content: "";
	top: 16.5px;
}

/*-----------------------------------------
20250430 追加修正
-----------------------------------------*/ 
section#insta .title {
	text-align: center;
	margin: 130px auto 0;
	position: relative;
}
section#insta .title:before,
section#insta .title:after {
	content: "";
	position: absolute;
	width: calc(45% - 50px);
	top: 15px;
	height: 4px;
	background: #DFD9EB;
}
section#insta .title:before {
	left: 0;
}
section#insta .title:after {
	right: 0;
}
section#insta h2 {
	margin-bottom: 40px;
}
section#insta .section_inner {
	width: 900px;
}



/*-----------------------------------------
ぱんくず
-----------------------------------------*/
.wrapper .breadcrumb {
	width: 1000px;
	margin: 10px auto;
}

.wrapper .breadcrumb ul {
	overflow: hidden;
}

.wrapper .breadcrumb ul li {
	float: left;
	font-size: 11px;
}

/*-----------------------------------------
見出し
-----------------------------------------*/

/*-----------------------------------------
内部共通
-----------------------------------------*/

/*-----------------------------------------
コンタクトフォーム用
-----------------------------------------*/
input[type="checkbox"],
input[type="radio"] {
	vertical-align: middle;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
	padding: 10px 20px;
	width: 100%;
	box-sizing: border-box;
}

/*-----------------------------------------
pagenavi
-----------------------------------------*/
.wp-pagenavi {
	margin-bottom: 5px;
}

.wp-pagenavi a,
.wp-pagenavi span {
	background-color: #0033a1;
	border: 1px solid #0033a1 !important;
	color: white;
	padding: 5px 8px !important;
	font-size: 14px;
	transition: 0.1s linear all;
}

.wp-pagenavi span.current {
	background-color: white;
	font-weight: normal !important;
	color: #0033a1;
}

.wp-pagenavi a:hover {
	background-color: #0033a1;
	color: white;
}

.sp {
	display: none;
}

.humburger_on,
.W-640 {
	display: none;
}

@media screen and (max-width: 1440px) {
	section#insta .title:before, section#insta .title:after {
		width: calc(45% - 70px);
	}
}

@media screen and (max-width: 1024px) {
	/* 文字サイズ */
	.size10{ font-size:9px; }
	.size11{ font-size:10px; }
	.size12{ font-size:11px; }
	.size13{ font-size:12px; }
	.size14{ font-size:13px; }
	.size16{ font-size:15px; }
	.size17, html{ font-size:16px; }
	.size18{ font-size:17px; }
	.size21{ font-size:19px; }
	.size24{ font-size:21px; }
	.size27{ font-size:24px; }
	.size30{ font-size:27px; }
	.size31{ font-size:29px; }
	.size32{ font-size:30px; }
	.size36{ font-size:32px; }
	.size37{ font-size:34px; }
	.size42{ font-size:36px; }
	.size46{ font-size:40px; }
	.size47{ font-size:42px; }
	.size48{ font-size:44px; }
	.size60{ font-size:52px; }

	section#insta .title:before, section#insta .title:after {
		width: calc(45% - 70px);
	}
}

@media screen and (max-width: 896px) {

	/* iPhone XS MAX 横表示 */
	.sp {
		display: inline-block;
	}

	.pc {
		display: none;
	}

	.wrapper {
		width: 100%;
		overflow: hidden;
	}

	/* ハンバーガーメニュー */
	.humburger_on {
		display: block;
		float: right;
	}

	.humburger_none {
		display: none;
	}

	.h-menu {
		position: relative;
	}

	.h-menuCheckbox {
		display: none;
	}

	.h-menu_icon {
		display: inline-block;
		width: 30px;
		height: 30px;
		vertical-align: middle;
	}

	.h-menu_icon p.menu {
		margin-left: 60px;
		width: 60px;
		color: white;
		margin-top: -3px;
	}

	.hamburger-icon,
	.hamburger-icon::before,
	.hamburger-icon::after {
		content: '';
		display: block;
		position: absolute;
		z-index: 100;
		top: 30px;
		bottom: 0;
		width: 32px;
		height: 3px;
		background: white;
		cursor: pointer;
		right: 12.5px;
	}

	.hamburger-icon:before {
		top: 10px;
		right: 0;
	}

	.hamburger-icon:after {
		top: 20px;
		right: 0;
	}

	#h-menu_black {
		display: none;
		position: fixed;
		z-index: 98;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(255, 255, 255, 0.3);
		opacity: 0;
		transition: .7s ease-in-out;
	}

	#h-menu_content {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99;
		width: 100%;
		max-width: 320px;
		height: 100vh;
		background: white;
		overflow: auto;
		transition: .3s ease-in-out;
		-webkit-transform: translateX(-105%);
		transform: translateX(-105%);
	}

	input:checked~.h-menu_icon .hamburger-icon {
		background: transparent;
	}

	input:checked~.h-menu_icon .hamburger-icon::before {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		top: 10px;
		z-index: 999;
	}

	input:checked~.h-menu_icon .hamburger-icon::after {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 10px;
		z-index: 999;
	}

	input:checked~#h-menu_black {
		display: block;
		opacity: .8;
	}

	#h-menu_checkbox:checked~#h-menu_content {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
		box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
	}

	.h-menu_icon .hamburger-icon,
	.h-menu_icon .hamburger-icon::before,
	.h-menu_icon .hamburger-icon::after,
	#h-menu_black,
	#h-menu_content {
		-webkit-transition: all .3s;
		transition: all .3s;
	}

	#h-menu_content ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	#h-menu_content ul li {
		border-bottom: solid 1px white;
	}

	#h-menu_content li a {
		display: block;
		color: #119dcb;
		font-size: 16px;
		padding: 15px;
		text-decoration: none;
		transition-duration: 0.2s;
		border-bottom: 1px dotted #119dcb;
	}

	#h-menu_content li:first-child a {
		background: linear-gradient(180deg, rgba(18, 157, 203, 1) 0%, rgba(113, 197, 227, 1) 100%);
		border-bottom: none;
		padding: 15px 15px 5px;
		text-align: center;
	}

	#h-menu_content li:first-child a img {
		width: 80%;
	}

	section#insta .section_inner {
		width: 96%;
	}
	section#insta .title:before, section#insta .title:after {
		width: calc(45% - 100px);
	}
	
	header .header_inner ul li {
		font-size: 15px;
	}
}

@media screen and (max-width: 640px) {
	html {
		scroll-padding-top: 58px;
	}
	.W-640 {
		display: inline-block;
	}
	.W-640none {
		display: none;
	}
	header {
		height: 58px;
	}
	header .header_inner ul {
		gap: 10px;
		padding: 15px 0;
	}
	header .header_inner ul li {
		font-size: 12px;
		line-height: 1.35;
		padding: 0;
		width: calc((100% - 50px) / 6);
	}
	.mainimg {
		margin-top: 58px;
		height: 500px;
		background-size: cover;
	}
	.mainimg .main_img {
		top: 25%;
	}
	.mainimg .main_img img {
		width: 140px;
	}
	.mainimg .main_text {
		top: 70%;
	}
	.mainimg .main_text img {
		width: 200px;
	}
	section .section_inner > p.bg_yellow {
		width: 100%;
	}
	section#wish {
		background: url(images/onpu_text.svg) no-repeat, url(images/bg_wish_sp.png) no-repeat, url(images/bg_wish.png) no-repeat;
		background-position: 80% top, center 95%, center 0%;
		background-size: 60%, 110%, 270%;
	}
	section#wish .wish {
		padding: 100px 0;
		background-position: left 10%;
		background-size: 150px;
		width: 100%;
	}
	section#wish .wish .wish_text {
		margin-left: 0;
		margin-top: 100px;
	}
	section#wish .wish .wish_text p.size30 {
		margin-bottom: 20px;
	}
	section#wish .wish .wish_text p.size18 {
		margin-left: 0;
	}
	section .message {
		width: 100%;
	}
	section .message .left {
		width: 100%;
		float: none;
		margin-right: 0;
		margin-bottom: 30px;
	}
	section .message .right {
		width: 100%;
		float: none;
	}
	section .message .right > img {
		display: block;
		margin: 0 auto 10px;
	}
	section#about img {
		width: 100%;
	}
	section.bg_purple .consultation {
		width: 100%;
	}
	section.bg_purple .consultation .consultation_full {
		padding: 30px 14px 15px;
	}
	section.bg_purple .consultation .consultation_full .ul_flex .left, section.bg_purple .consultation .consultation_full .ul_flex .right {
		width: 100%;
		float: none;
	}
	section.bg_purple .consultation .consultation_full .ul_flex .right {
		margin-top: 0;
	}
	section.bg_purple .consultation .consultation_flex .left {
		width: 95%;
		float: none;
		margin-right: 0;
		margin-bottom: 20px;
	}
	section.bg_purple .consultation .consultation_flex .right {
		width: 95%;
		float: none;
	}
	section#oneday .section_inner, section#flow .section_inner {
		width: 100%;
	}
	section#oneday {
		padding: 150px 0 0;
		background-size: 130%;
	}
	section#oneday .section_inner .annual_events {
		width: 96%;
		margin: 0 auto;
	}
	section#oneday .section_inner .annual_events .inner ul li {
		margin-right: 0;
		float: none;
		margin-bottom: 5px;
		width: 100%;
	}
	section#oneday .section_inner .annual_events .inner ul li:nth-child(1), section#oneday .section_inner .annual_events .inner ul li:nth-child(3n+1) {
		width: 100%;
	}
	section#flow .section_inner img {
		width: 96%;
		display: block;
	}
	section#flow .section_inner .obligation_fees {
		display: block;
		width: 96%;
		margin: 0 auto;
	}
	section#flow .section_inner .obligation_fees .left {
		width: 100%;
		text-align: center;
		float: none;
		margin-bottom: 20px;
	}
	section#flow .section_inner .obligation_fees .right {
		width: 100%;
		float: none;
	}
	section#office .office_block .inner {
		width: 96%;
	}
	section#office .office_block .address p.size15 span {
		display: inline;
	}
	section#office .office_block .area {
		width: 100%;
	}
	section#office .office_block .area .inner {
		width: 96%;
		margin: 0 auto;
		display: block;
	}
	section#office .office_block .area .inner .left {
		width: 30%;
		margin: 0 auto 20px;
		padding: 10px 20px;
	}
	footer .footer_company {
		display: block;
		width: 100%;
		padding: 20px 0;
		text-align: center;
	}
	footer .footer_company p.size15 {
		margin-bottom: 10px;
	}
	.letter_space {
		letter-spacing: 5px;
	}
	section#oneday .section_inner .title img {
		width: 65%;
		margin: 0 auto;
	}
	section#flow .section_inner .title img {
		width: 60%;
	}
	section#flow {
		padding: 115px 0 130px;
		background-position: center 40px;
		background-size: 130%;
	}
	section#office .office_block {
		padding: 70px 0 50px;
		background-position: center -15px;
		background-size: 120%;
	}
	.pagetop {
		width: 60px;
		height: 60px;
		background: none;
	}
	.pagetop img {
		width: 100%;
	}
	section#about .section_inner .title img {
		width: 55%;
	}
	section#office h3 {
		font-size: 24px;
	}

	section.bg_gray .section_inner div.bg_deepGray,
	section.bg_gray .section_inner .pdf_ex {
		width: 100%;
	}
	section.bg_gray .section_inner div.bg_deepGray {
		padding: 17.5px 0 10px;
	}
	section.bg_gray .section_inner .bg_deepGray p.size24 {
		font-size: 18px;
	}
	section.bg_gray .section_inner .bg_deepGray p.size24:before,
	section.bg_gray .section_inner .bg_deepGray p.size24:after {
		top: 0;
	}
	section.bg_gray .section_inner .bg_deepGray p.size24:before {
		left: 10px;
	}
	section.bg_gray .section_inner .bg_deepGray p.size24:after {
		right: 10px;
	}
	section.bg_gray .section_inner .pdf_ex .pdf_block .pdf_flex,
	section.bg_gray .section_inner .pdf_ex .pdf_block .pdf_flex .pdf_inner {
		display: block;
		width: calc(100% - 50px);
	}
	section.bg_gray .section_inner .pdf_ex .pdf_block .pdf_flex .pdf_inner  {
		width: calc(100% - 50px);
	}
	section.bg_gray .section_inner .pdf_ex .pdf_block .size18 {
		padding: 7.5px 25px
	}
	section.bg_gray .section_inner .pdf_ex .pdf_block:last-child .size18 {
		line-height: 1.25;
	}
	section.bg_gray .section_inner .pdf_ex .pdf_block:last-child .size18.pdf_title {
		padding: 0 0 0 20px;
	}
	section.bg_gray .section_inner .pdf_ex .pdf_block:last-child .size18.pdf_title:before {
		left: 0;
		top: 4px;
	}
	section.bg_gray .section_inner .pdf_ex .pdf_block:last-child .size18.pdf_title:after {
		top: 11px;
	}

	section#insta .title {
		margin: 80px auto 0px;
	}
	section#insta h2 {
		margin-bottom: 20px;
	}
	section#insta .title img {
		width: 55%;
		margin: 0 auto;
	}
	section#insta .title:before, section#insta .title:after {
		top: 10px;
	}
}

@media screen and (max-width: 320px) {}
