@charset "utf-8";
/*
Theme Name: portals_responsive
Author: portals
*/
/*==================================
* reset
* html5doctor.com Reset Stylesheet
* v1.6.1
* Last Updated: 2010-09-17
* Author: Richard Clark - http://richclarkdesign.com
* Twitter: @rich_clark
==================================*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}
ol,
ul {
	list-style: none;
}
img {
	vertical-align: top;
	font-size: 0;
	line-height: 0;
}
blockquote,
q {
	quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
/* change colors to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}
/* change colors to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-weight: bold;
}
em {
	font-style: normal !important;
}
del {
	text-decoration: line-through;
}
abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* change border color to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}
input,
select {
	vertical-align: middle;
}
address {
	font-style: normal;
}
/* clearfix */
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
/*==================================
WordPress Natie Styles
editor
==================================*/
img.wp-smiley,
img.emoji {
	height: 2% !important;
	width: 2% !important;
}
.post p {
	display: block;
	margin: 1em;
}
.post strong {
	font-weight: bold;
}
.post em {
	font-style: oblique;
}
.post blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
}
.post ul {
	list-style: disc;
	margin: 0 3em 1em;
}
.post ol {
	list-style: decimal;
	margin: 0 3em 1em;
}
/* img */
.aligncenter {
	display: block;
	margin: 0 auto 8px;
}
img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}
/*==================================
SP_base
==================================*/
.clear {
	clear: both;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}
.center {
	text-align: center;
}
.img_left,
.img_right {
	margin: 0 auto 0.5em;
}
.img_center {
	display: block;
	margin: 0 auto 16px;
}
.only_pc {
	display: none;
}
img {
	display: block;
	margin: 0 auto;
	width: auto;
	max-width: 100%;
	height: auto;
}
a:link {
	color: #000d99;
}
a:visited {
	color: #551a8b;
}
a:hover {
	color: #000d99;
}
a:active {
	color: #b71c1c;
}
body {
	overflow-x: clip;
	background: #fff;
	color: #273a82;
	font-size: 15px;
	line-height: 1.5;
	font-family:
		"Noto Sans JP", sans-serif;
	/* 游明朝(transform rotateは明朝体の時だけ設定)
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	transform: rotate(.03deg); */
	/* 游ゴシック(font-weightはゴシック体の時のみ設定)
	font-family: YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN",	"Hiragino Sans", Meiryo, "Helvetica Neue", Arial, sans-serif;
	font-weight: 500; */
}

/*アニメーション共通*/
/*アニメーション要素のスタイル*/
.fadeInUp {
	opacity: 0;
	visibility: hidden;
	transition-duration: 0.8s;
	transition-delay: 0.25s;
	transform: translate3d(0, 30px, 0);
}

/*アニメーション要素までスクロールした時のスタイル*/
.activeUp {
	opacity: 1;
	visibility: visible;
	transform: translate3d(0, 0, 0);
}

/*アニメーション要素(左から)のスタイル*/
.fadeInLeft {
	opacity: 0;
	visibility: hidden;
	transition-duration: 0.8s;
	transition-delay: 0.25s;
	transform: translate3d(-100%, 0, 0);
}

/*アニメーション要素(左から)までスクロールした時のスタイル*/
.activeLeft {
	opacity: 1;
	visibility: visible;
	transform: translate3d(0, 0, 0);
}

/*アニメーション要素(右から)のスタイル*/
.fadeInRight {
	opacity: 0;
	visibility: hidden;
	transition-duration: 0.8s;
	transition-delay: 0.25s;
	transform: translate3d(100%, 0, 0);
}
.fadeInRight2{
	opacity: 0;
	visibility: hidden;
	transition-duration: 0.8s;
	transition-delay: 0.25s;
	transform: translate3d(100vw, 0, 0);
}
@media screen and (min-width:782px){
	.fadeInRight2{
		opacity: 0;
		visibility: hidden;
		transition-duration: 0.8s;
		transition-delay: 0.25s;
		transform: translate3d(100%, 0, 0);
	}	
}

/*アニメーション要素(右から)までスクロールした時のスタイル*/
.activeRight {
	opacity: 1;
	visibility: visible;
	transform: translate3d(0, 0, 0);
}

[class*="active"].delay-1 {
	transition-delay: 0.5s;
}

[class*="active"].delay-2 {
	transition-delay: 0.75s;
}

[class*="active"].delay-3 {
	transition-delay: 1s;
}

[class*="active"].delay-4 {
	transition-delay: 1.25s;
}

[class*="active"].delay-5 {
	transition-delay: 1.5s;
}

[class*="active"].delay-6 {
	transition-delay: 1.75s;
}

[class*="active"].delay-7 {
	transition-delay: 2s;
}

[class*="active"].delay-8 {
	transition-delay: 2.25s;
}

[class*="active"].delay-9 {
	transition-delay: 2.5s;
}

[class*="active"].delay-10 {
	transition-delay: 2.75s;
}

.overflow_hidden {
	overflow: hidden;
}
@keyframes eyecatchFade2 {
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes eyecatchFade {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes scrollTxt {
	0% {
		transform: translate(0);
	}
	to {
		transform: translate(-100%);
	}
}

@keyframes shine {
	0% {
		left: -160%;
		opacity: 0;
	}
	8% {
		opacity: 1;
	}
	20% {
		left: 160%;
		opacity: 0;
	}
	100% {
		left: 160%;
		opacity: 0;
	}
}
/*==================================
SP_layout
==================================*/
#main {
	margin: 4px auto 0;
	padding: 0 6px;
	width: 100%;
	max-width: 640px;
	box-sizing: border-box;
	overflow: hidden;
}
.conts {
	margin: 0 12px 16px;
}
.conts:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: "";
	clear: both;
	height: 0;
}
.conts .conts_inner {
	overflow: hidden;
}
.conts p:not([class]) {
	margin-bottom: 8px;
}
.ttl {
	margin: 0 4px 32px;
	text-align: center;
}
.bnr {
	margin: 0 0 16px;
}
a:active img {
	-webkit-opacity: 0.7;
	opacity: 0.7;
}
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
/*==================================
SP_heading
==================================*/
.h_style01 {
	clear: both;
	margin: 24px calc(50% - 50vw) 16px;
	padding: 8px;
	background: #eef2ff;
	border: solid 1px #273a82;
	font-size: 20px;
}
.h_style01 a {
	color: inherit;
}
.h_style02,
.post h3:not([class]),
.block_wrapper h2:not(.nostyle) {
	clear: both;
	margin: 24px calc(50% - 50vw) 16px;
	padding: 8px;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	background: #e86384;
}
.h_style03,
.post h4,
.block_wrapper h3:not(.nostyle) {
	clear: both;
	margin: 32px auto 24px;
	padding: 0 8px;
	font-size: 18px;
	border-left: solid 8px #ffd4df;
	border-bottom: dotted 2px #ffd4df;
}
.h_style04,
.post h5,
.block_wrapper h4:not(.nostyle) {
	clear: both;
	position: relative;
	overflow: hidden;
	margin: 24px auto 16px;
	padding: 0 8px 2px 32px;
	font-weight: bold;
	border-bottom: dotted 2px #ffd4df;
	font-size: 16px;
}
.h_style04::before,
.post h5::before,
.block_wrapper h4:not(.nostyle)::before {
	position: absolute;
	margin-top: -0.25em;
	top: 50%;
	left: 0.5em;
	content: "";
	display: inline-block;
	background: #fff;
	width: 0.5em;
	height: 0.5em;
	border-radius: 50%;
	box-shadow: 0 0 0 8px #ffd4df;
}
.h_style05,
.post h6,
.block_wrapper h5:not(.nostyle) {
	clear: both;
	overflow: hidden;
	margin: 24px auto 16px;
	padding: 0 4px 2px;
	font-weight: bold;
	border-bottom: double 4px #ffd4df;
	font-size: 16px;
}
@media screen and (min-width: 640px) {
	.h_style01 {
		margin: 24px auto 16px;
	}
	.h_style02,
	.post h3:not([class]),
	.block_wrapper h2:not(.nostyle) {
		margin: 24px auto 16px;
	}

	.h_style03,
	.post h4,
	.block_wrapper h3:not(.nostyle) {
		margin: 32px 4px 24px;
	}
	.h_style04,
	.post h5,
	.block_wrapper h4:not(.nostyle) {
		margin: 24px 4px 16px;
	}
	.h_style05,
	.post h6,
	.block_wrapper h5:not(.nostyle) {
		margin: 24px 4px 16px;
	}
}
/*==================================
SP_header
==================================*/

/*.h_bg {
background: #f0f0e1;
}
.h_inner {
overflow: hidden;
margin: 0 auto;
padding: 8px 0;
width: 95%;
max-width: 1240px;
}
.h_logo {
margin: 8px auto;
width: 70%;
}*/
:target {
  scroll-margin-top: 60px;
}
header {
	background: #eef2ff;
	display: flex;
	justify-content: space-between;
	position: sticky;
	width:100%;
	top: 0;
	z-index: 99999999;
	align-items: center;
}
header .logo_wrap {
	margin: 0 6px;
}
header .btn_flat::after {
	content: "";
	position: absolute;
	top: 0;
	left: -120%;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		120deg,
		transparent,
		rgba(255, 255, 255, 0.6),
		transparent
	);
	animation: shine 6s infinite cubic-bezier(0.25, 0.1, 0.25, 1);
}

/**/
.btn,
a.btn,
button.btn {
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	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.1em;
	color: #212529;
	border-radius: 0.5rem;
}

a.btn_flat {
	overflow: hidden;
	color: #fff;
	border-radius: 0;
	background: #e86384;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 90px;
}

a.btn_flat span {
	position: relative;
}

a.btn_flat:hover {
	color: #000;
}

a.btn_flat:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 280%;
	height: 500%;
	content: "";
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
	-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
	transform: translateX(-109%) translateY(-15%) rotate(45deg);
	background: #f3ff32;
}

a.btn_flat:hover:before {
	-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
	transform: translateX(-9%) translateY(-25%) rotate(45deg);
}

.h_nav {
	display: flex;
	/**/
	/**/
}

.h_nav .hamburger_menu {
	display: block;
	position: relative;
	width: 60px;
	/* お好みのサイズに */
	height: 60px;
	/* お好みのサイズに */
	cursor: pointer;
	background: #fff;
}

.h_nav .hamburger_menu span {
	position: absolute;
	background-color: #e86384;
	height: 2px;
	/* お好みの太さに */
	width: 30px;
	/* お好みの幅に */
	transition: all 0.4s ease-in-out;
	border-radius: 1px;
	transition: 0.4s;
}

.h_nav .hamburger_menu span:nth-of-type(1) {
	top: 25px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

.h_nav .hamburger_menu span:nth-of-type(2) {
	top: 36px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

.h_nav .hamburger_menu.active span:nth-of-type(1) {
	transform: rotate(-45deg);
	top: 30px;
	left: 25%;
}

.h_nav .hamburger_menu.active span:nth-of-type(2) {
	transform: rotate(45deg);
	top: 30px;
	left: 25%;
}
.top_modal {
	background-color: rgba(68, 68, 68, .8);
	display: none; /* 初期非表示 */
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9999999;
		opacity: 0;
	transition: opacity .3s ease;
	visibility:hidden;
	
}
.top_modal.active {
	opacity: 1;
	  visibility: visible;
}
.top_modal_overlay {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
}
.top_modal_content {
	background: #eef2ff;
	max-height: calc(90% - 40px);
	max-width: 80%;
	overflow-y: auto;
	padding: 20px;
	text-align: center;
		transform: translateY(20px);
	transition: all .3s ease;
}
.top_modal_content .btn_wrap{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	    overflow: hidden;
}
.top_modal_content .btn_wrap{
	transition: 0.3s;
    width: 100%;
	justify-content:center;
}
.top_modal_content .btn_wrap li{
	position:relative;
	overflow:hidden;
}
.top_modal_content .btn_wrap li .text{
	    letter-spacing: 0.12em;
    font-weight: bold;
    text-align: center;
    color: #fff;
    position: absolute;
	width:100%;
    top: 38%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	font-size:30px;
}

.btn_wrap .pink_btn,
.btn_wrap .blue_btn{
	    display: block;
    width: 34px;
    height: 34px;
    background: #1f3c88;
    border-radius: 50%;
    position: relative;
	margin: 6px auto 0;
}
.btn_wrap .pink_btn::before,
.btn_wrap .blue_btn::before{
	content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 14px;
    border-color: transparent transparent transparent #fff;
}
.top_modal_content .btn_wrap li .pink_btn{

	background:#e86384;
	
}
.top_modal_content .btn_wrap li .blue_btn{
}
.top_modal_content .btn_wrap img{
	transition:0.3s;
}
.top_modal_content .btn_wrap img:hover{
	    transform: scale(1.05);
    transition: 0.3s;
}
.top_modal.active .modal_content {
	transform: translateY(0);
	opacity: 1;
}
.top_modal .text{
	font-size:clamp(18px,2.08vw,40px);
	font-weight:bold;
	margin:10px 0 30px;
	letter-spacing:0.12em;
	word-break:auto-phrase;
}
.top_modal img {
	max-width: 100%;
}
.top_modal .logo_wrap{
	margin:0 auto;
	width:78%;
}
.modal_step {
	opacity: 0;
	position: absolute;
	/*pointer-events: none;*/
}

.modal_step.active {
	opacity: 1;
	position: relative;
	/*pointer-events: auto;*/
}
.step_zyusei,
.step_shinkyu{
	display:none;
}
.sikaku_text{
	background:#273a82;
	color:#fff;
	font-size:24px;
	    display: inline-block;
    border-radius: 30px;
    padding: 0 10px;
	margin-top:22px;
}

.new_mid_btn li{
	width:300px;
	height:240px;
	font-size:24px;
	letter-spacing:0.1em;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#fff;
	font-weight:bold;
	flex-direction:column;
}
.new_mid_btn li[data-job="zyusei_new"],
.new_mid_btn li[data-job="shinkyu_new"]{
	background:#273a82;
}
.new_mid_btn li[data-job="zyusei_mid"],
.new_mid_btn li[data-job="shinkyu_mid"]{
	background:#e86384;
}
/*==================================
SP_navigation
==================================*/
.gnav_sp {
	width: 100%;
	display: flex;
	justify-content: space-around;
	margin: 0 auto;
	box-shadow: 0 5px 7px -2px rgba(0, 0, 0, 0.2);
}
.gnav_sp li {
	padding: 8px 0;
}
.gnav_sp img {
	width: min(90%, 92px);
}
.fixed {
	position: fixed;
	top: 0;
	z-index: 9999;
}
/*ページ内リンク対策*/
#ryoukin {
	margin-top: -40px;
	padding-top: 40px;
}
.bt_pagetop01 a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0.5em;
	width: min(15vw, 90px);
	height: min(15vw, 90px);
	margin: 0 auto;
	padding: clamp(12px, 2vw, 16px);
	background-color: #808080;
	color: #fff;
	font-weight: bold;
	font-size: clamp(10px, 3vw, 15px);
	text-align: center;
	line-height: 1;
	text-decoration: none;
	border-radius: 50%;
	box-sizing: border-box;
}
/*
色を変更するときは以下のURLでCSSを生成してください。
https://angel-rs.github.io/css-color-filter-generator/
*/
.bt_pagetop01 a img {
	width: min(80%, 44px);
	aspect-ratio: 22/15;
	margin: 0 auto;
	filter: brightness(0) saturate(100%) invert(99%) sepia(99%) saturate(0%)
		hue-rotate(43deg) brightness(106%) contrast(100%);
	-webkit-filter: brightness(0) saturate(100%) invert(99%) sepia(99%)
		saturate(0%) hue-rotate(43deg) brightness(106%) contrast(100%);
}
.bt_pagetop02 {
	display: block;
	aspect-ratio: 1/1;
	margin: 0 auto;
	width: min(15vw, 90px);
}
.sp_fix_bt {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 999999;
	display: flex;
	justify-content: center;
	gap: 8px;
	padding: 2%;
	/*width: 100%;*/
	width:100vw;
	background: #273a82;
	box-sizing: border-box;
}
/* 画像の幅のpxを設定 */
.sp_fix_bt *{
	box-sizing:border-box;
}
.sp_fix_bt{
	display:flex;
}
.sp_fix_bt a{
	font-size:20px;
	padding:15px;
	width:100%;
}
.sp_fix_bt li{
	width:48%;
}
.sp_fix_bt .line a{
	background:#29ca03;
}
.sp_fix_bt .entry a{
	background:#e86384;
}
.sp_fix_bt a.btn_flat{
	position: relative;
	overflow: hidden;
}
.sp_fix_bt a.btn_flat::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 280%;
	height: 500%;
	background: #f3ff32;

	transform: translate(-113%, -50%) rotate(45deg);
	transition: transform 0.6s ease;
}

.sp_fix_bt a.btn_flat:hover::before {
	transform: translate(-37%, -50%) rotate(45deg);
}
/*==================================
SP_mainimg
==================================*/
.main_img {
	display: block;
	margin: 0 auto 1em;
	width: 100%;
}
/*==================================
SP_contact
==================================*/
.contact {
	background: #f0f0e1;
	padding: 3em 0;
}
.contact_conts {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1em;
	margin: 0 auto;
	width: 94%;
}
.contact_heading {
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 auto;
	width: min(100%, 680px);
	font-size: clamp(24px, 5vw, 40px);
	font-weight: bold;
	text-align: center;
}
.contact_heading::before,
.contact_heading::after {
	content: "";
	width: 1.5em;
	height: 2px;
	background: #563e18;
}
.contact_heading::before {
	margin-right: 0.5em;
}
.contact_heading::after {
	margin-left: 0.5em;
}
.contact_info {
	display: flex;
	flex-direction: column;
	gap: 1em;
}
.contact_info .block_uketsuke {
	margin: 1em auto 0;
	width: 100%;
	font-size: 18px;
	font-weight: bold;
}
.contact_info .block_uketsuke tr > :first-child {
	width: 8em;
}
.contact_info .block_uketsuke th,
.contact_info .block_uketsuke td {
	padding: 0.3em 0.1em;
	font-size: clamp(14px, 4vw, 28px);
}
.contact_info .uketsuke_block_notes {
	text-align: center;
	font-size: clamp(14px, 3.5vw, 24px);
}
.contact_info_box p {
	margin: 0 0 8px;
}
.contact_access {
	margin: 0 auto;
	width: 90%;
	display: grid;
	grid-template-columns: 7em 1fr;
	row-gap: 0.3em;
	line-height: 1.3;
	font-size: clamp(14px, 3vw, 18px);
}
.contact_add span {
	display: inline-block;
}
.contact_add span:first-child {
	margin-right: 0.5em;
}
.contact_bt,
.access_contact_bt {
	margin: 1.5em auto;
	display: flex;
	flex-direction: column;
	gap: 1em;
}
.contact_map iframe {
	aspect-ratio: 16 / 9;
	width: 100% !important;
	height: 100% !important;
}
/*==================================
SP_map
==================================*/
.map {
	position: relative;
	margin: 0 auto 1em;
	padding-bottom: 250px;
	width: 95%;
	max-width: 600px;
	height: 0;
	overflow: hidden;
}
.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
address {
	margin: 0 auto 1em;
	font-size: 15px;
}
address span {
	display: block;
}
.add02 {
	margin-left: 3em;
}
.add03 {
	margin-left: 13em;
	color: #e34472;
	font-weight: bold;
}

/*==================================
SP_menu
==================================*/
.sideUpper,
.sideNav,
.sideLower,
.topUpper,
.topLower,
.blogNav {
	margin: 0 0 16px;
}
.side_fixed_menu {
	margin: 0 auto;
	border: none;
	width: 95%;

}
.side_fixed_menu a {
	border: none;
}
.side_fixed_menu li {
	margin: 0 auto 10px;
}
.side_fixed_menu li a/*PCサイドバーHOME・アクセスボタン*/ {
		  font-family: "Oswald", sans-serif;
	color: #000;
	font-weight:700;
	display: inline-block;
	text-decoration: none;
	font-size: 22px;
	width: 100%;
	padding: 2px 10px;
	border-bottom:1px solid #979797;
	box-sizing:border-box;
}
/*メニュー共通設定*/
.widget_nav_menu p,
.widget_categories p,
.widget_recent_entries p,
.widget_search p {
	padding: 2px 10px;
	color: #000;
	font-size: 22px;
	border-radius: 6px 6px 0 0;
			  font-family: "Oswald", sans-serif;
	font-weight:700;
	border-bottom:1px solid #979797;
}
/*メニュー（固定ページ/関連メニュー）*/
.widget_nav_menu,
.widget_categories,
.widget_recent_entries,
.widget_search {
	margin: 0 auto 1em;
	width: 95%;
	/*max-width: 640px;*/
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.widget_nav_menu ul,
.widget_categories ul,
.widget_recent_entries ul {
	margin: 8px 16px 16px;
}
/*.widget_nav_menu li,
.widget_categories li,
.widget_recent_entries li {
	border-bottom: dotted 1px #000;
}*/
.widget_nav_menu a,
.widget_categories a,
.widget_recent_entries a {
	display: block;
	padding: 4px 1.2em;
	text-decoration: none;
	color: #000;
	font-size:12px;
	position:relative;
	display:flex;
	align-items:center;
}
.widget_nav_menu a::before,
.widget_categories a::before,
.widget_recent_entries a::before{
	    content: '▶︎';
    color: #000;
    position: absolute;
    top: 18%;
    left: 0;
transform:scale(0.6);
} 

/*検索*/
/* .widget_search {
text-align: center;
}
.widget_search label {
display: none;
}
.widget_search form {
padding: 16px 8px;
}
.search-form-2 {
display: flex;
align-items: center;
overflow: hidden;
border-radius: 3px;
}
.search-form-2 input {
width: 100%;
height: 45px;
padding: 5px 8px;
border: none;
border-radius: 3px 0 0 3px;
box-sizing: border-box;
background-color: #f2f2f2;
font-size: 0.9em;
outline: none;
box-shadow: 3px 3px 3px #e3dcdc;
}
.search-form-2 input::placeholder {
color: #79796a;
}
.search-form-2 button {
display: flex;
justify-content: center;
align-items: center;
width: 50px;
height: 45px;
border: none;
border-radius: 0 3px 3px 0;
background-color: #bdbdae;
cursor: pointer;
box-shadow: 3px 3px 3px #e3dcdc;
}
.search-form-2 button::after {
width: 24px;
height: 24px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
background-repeat: no-repeat;
content: '';
}
.search_emptytitle {
font-size: 18px;
font-weight: 600;
} */
/*月別アーカイブ*/
.widget_archive {
	text-align: center;
}
.widget_archive label::before {
	content: "月別アーカイブ";
}
/*メタ情報*/
.widget_meta {
	border-bottom: solid 1px #bdbdae;
}
.widget_meta p {
	padding: 8px;
	border-bottom: solid 1px #bdbdae;
	text-align: center;
}
.widget_meta ul {
	margin: 16px 8px 0;
}
.widget_meta li {
	position: relative;
	margin: 0 0 8px;
	border-bottom: dotted 1px #bdbdae;
	font-size: 14px;
}
.widget_meta li:last-child {
	border-bottom: none;
}
/*==================================
SP_copyright
==================================*/
.copyright {
	color: #e85c7a;
	text-align: center;
	margin: 10% 0 20%;
	font-size: 1rem;
	font-size: 10px;
}
/* 	.copyright a:link {
color: #000d99;
}
.copyright a:visited {
color: #551a8b;
}
.copyright a:hover {
color: #000d99;
}
.copyright a:active {
color: #b71c1c;
} */
/*==================================
SP_footer
==================================*/
.f_inner {
	display: none;
}
footer {
	background: #eef2ff;
	padding: 10.23018vw 0 0;
	font-family: "Noto Sans JP", sans-serif;
}

footer .f_logo {
	text-align: center;
	margin: 0 auto 50px;
	width:80%;
	max-width:430px;
}

footer .f_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	color:#273A82;
}

footer .f_wrap .left .f_title {
	font-weight: bold;
	letter-spacing: 0.12em;
	font-size: 24px;
	margin-bottom: 20px;
	text-align: center;
}

footer .f_wrap .left .f_shop_list {
	display: flex;
	flex-wrap: wrap;
	letter-spacing: 0.12em;
	max-width: 540px;
	margin-bottom: 40px;
}

footer .f_wrap .left .f_shop_list li {
	width: 50%;
	line-height: 1.81;
	font-size: clamp(14px, 2.55754vw, 20px);
}
footer .f_wrap .left .f_shop_list a{
	             background-image: linear-gradient(90deg, #273A82,#273A82);
                    background-repeat: no-repeat;
                    background-position: 100% 100%;
                    background-size: 0% 0.06em;
                    transition: background-size 0.36s ease-out;
	text-decoration:none;
}
footer .f_wrap .left .f_shop_list a:hover{
	          background-position: 0% 100%;
                    background-size: 100% 0.06em;
                    transition-duration: 0.24s;
}
footer .f_wrap .left .f_shop_list a:visited,
footer .f_wrap .left .f_shop_list a:link{
	color:inherit;
}
footer .f_wrap .left .img_wrap {
	margin-left: 17%;
}

footer .f_wrap .btn_wrap {
	display: flex;
	gap: 34px;
	margin: 0 auto;
	font-size: clamp(16px, 2.55754vw, 24px);
}

footer .f_wrap .btn_wrap .btn {
	background: #e86384;
	color: #fff;
	width: 265px;
	padding: 3.58056vw 0;
	margin-left: 80px;
	margin: 0 auto 20px;
}

footer .f_wrap .btn_wrap .btn:before {
	transition: all 0.5s ease-in-out;
	-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
	transform: translateX(-68%) translateY(-18%) rotate(45deg);
}

footer .f_wrap .btn_wrap .btn:hover:before {
	-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
	transform: translateX(-27%) translateY(-25%) rotate(45deg);
}

footer .f_wrap .btn_wrap .btn:hover {
	color: #000;
}

footer .f_wrap .right {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	/* ← 好きな比率に調整 */
}

footer .f_wrap .right iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
/*==================================
SP_voice
==================================*/
.voice {
	margin: 0 0 24px;
}
.voice_list li {
	margin: 0 4px 16px;
	padding: 16px;
	background: #f0f0e1;
	border: solid 1px #bdbdae;
	border-radius: 8px;
}
.voice_conts {
	overflow: hidden;
	padding: 16px;
	background: #fff;
}
.voice_conts h3,
.voice_tit {
	margin: 0 0 8px;
	padding: 8px 16px;
	background: #fff;
	border-bottom: dotted 2px #e3e3da;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.voice_txt p {
	margin: 0 0 1em;
}
.voice_pic {
	width: 150px;
	margin: 0 auto 16px;
}
.voice_pic p > :first-child {
	display: block;
	margin: 0 auto 8px;
}
.menseki {
	overflow: hidden;
	margin: 16px 0 0;
	font-size: 12px;
	color: #79796a;
}

/*==================================
SP_toppage
==================================*/
/*.top_inner {
padding: min(10vw,80px) 8px;
}
.top_sejutsu_bt {
margin: 0 4px 16px;
text-align: center;
}
.top_sejutsu_bt li {
display: inline-block;
margin: 0 0 8px;
padding: 0 2px;
width: 49%;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.top_point_list {
margin: 0 8px 16px;
}
.top_point_list li {
overflow: hidden;
padding: 24px 0;
border-bottom: dotted 2px #e3e3da;
}
.top_point_list li:first-child {
padding: 0 0 24px;
}
.top_point_list h3 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
font-size: 18px;
margin: 0 0 16px;
}
.top_point_list h3 span {
display: contents;
}
.top_point_list h3 img {
max-width: 50px;
margin: 0 2vw 0 0;
}
.top_point_txt {
clear: left;
font-size: 14px;
}
.top_flow_list {
text-align: center;
}
.top_flow_list li {
display: inline-block;
width: 47.6%;
vertical-align: top;
margin: 0 0 22px;
max-width: 198px;
text-align: left;
}
.top_flow_list p {
padding: 10px 0px;
}*/

/*トップページであてたい*/
#contents * {
	box-sizing: border-box;
}
#contents .block_wrapper{
	margin:0!important;
}

body #contents {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	color: #273a82;
}

html,
body #contents {
	height: auto;
	overflow-x:clip;
}

#contents a {
	text-decoration: none;
	color: inherit;
}

#contents img {
	max-width: 100%;
	vertical-align: middle;
	margin: 0;
}
#contents .w1760 {
	max-width: 1760px;
	margin: 0 auto;
	padding: 0 16px;
}

#contents .w1600 {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 16px;
}

.w1240{
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 16px;
}

#contents h2 img {
	height: 13.17136vw;
}

#contents h2 span {
	display: block;
	color: #fff;
	padding-top:.5em;
	line-height: 1.5;
	letter-spacing: 0.12em;
	font-size: clamp(18px, 4.60358vw, 22px);
	font-weight: bold;
}


.main_img {
	position: relative;
}

.main_img .eyecatch-inner {
	position: absolute;
	top: 20.46036vw;
	right: 0;
	padding-right: 4.34783vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	opacity: 0;
	z-index: 5;
	animation: eyecatchFade 1.2s ease forwards;
}

.main_img .eyecatch-inner:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 77.49361vw;
	height: 0;
	padding-top: 60.1023vw;
	background: url(image/top/fv_text_bg_sp.png) no-repeat right center;
	background-size: 100% auto;
}

.main_img .eyecatch-inner img {
	opacity: 0;
	transform: translateX(40px);
	/* 右にずらしておく */
	animation: eyecatchFade2 2.2s ease forwards;
}

.main_img .show {
	transform: translateX(0) skew(-15deg, 0);
	opacity: 1;
}
.main_img .text {
	position: relative;
	z-index: 5;
	margin-top: 6.39386vw;
	width: 65.21739vw;
}



#contents .top_about {
	background: #273a82;
	position: relative;
	padding: 12.78772vw 0;
	transform: skew(0, -5deg);
	margin-top: -9vw;
}

#contents .top_about h2 {
	transform: skew(0, 5deg);
	width: 67.00767vw;
}

#contents .top_about .about_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	margin-top: -250px;
	padding: 0 16px;
	overflow: hidden;
}

#contents .top_about .about_list li {
	width: 570px;
	height: 240px;
	overflow: hidden;
	position: relative;
}

#contents .top_about .about_list li:first-of-type {
	opacity: 0;
	z-index: -1;
}

#contents .top_about .about_list li .text {
	font-size: clamp(15px, 3.83632vw, 30px);
	letter-spacing: 0.12em;
	font-weight: bold;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 58%;
	left: 50%;
	transform: translate(-50%, -50%) skew(0deg, 5deg);
	-webkit-transform: translate(-50%, -50%) skew(0deg, 5deg);
	-ms-transform: translate(-50%, -50%) skew(0deg, 5deg);
	white-space: nowrap;
}

#contents .top_about .about_list li .text .bottom_text {
	margin-top: 2.55754vw;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(20px, 5.11509vw, 40px);
}

#contents .top_about .about_list li .text:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -6px;
	/* 1行目のすぐ下 */
	width: 100%;
	height: 2px;
	background: #fff;
	transform: translateX(-50%) scaleX(0);
	transform-origin: left;
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

#contents .top_about .about_list li .pic {
	transition: 0.3s;
	width: 100%;
}

#contents .top_about .about_list li .pic:hover {
	transform: scale(1.05);
	transition: 0.3s;
}

#contents .top_about .about_list li .btn_arrow {
	display: inline-block;
	width: 30px;
	height: 30px;
	background: #1f3c88;
	border-radius: 50%;
	position: relative;
	margin-left: 10px;
	margin-top: 3px;
}

#contents .top_about .about_list li .btn_arrow:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-40%, -50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 12px;
	border-color: transparent transparent transparent #fff;
}

#contents .top_technique {
	background: #eef2ff;
	padding: 15.34527vw 0;
	transform: skew(0, -5deg);
	margin-top: -1px;
	position: relative;
}

#contents .top_technique .bg {
	position: absolute;
	top: -4.79167vw;
	left: 0;
	transform: skew(0, 5deg);
	width: 41.5625vw;
	height: 28.80208vw;
}

#contents .top_technique .w1600 {
	transform: skew(0, 5deg);
}

#contents .top_technique h2 {
	text-align: right;
}

#contents .top_technique h2 .sub {
	display: flex;
	justify-content: flex-end;
}

#contents .top_technique h2 .sub span {
	color: #273a82;
}

#contents .top_technique .technique_list {
	display: flex;
	gap: 46px;
	justify-content: center;
	margin-top: 30px;
	flex-wrap: wrap;
	overflow: hidden;
}

#contents .top_technique .technique_list li {
	background: #fff;
	width: 100%;
	font-size: clamp(24px, 3.83632vw, 30px);
	letter-spacing: 0.12em;
	font-weight: bold;
	text-align: center;
}

#contents .top_technique .technique_list li a {
	padding: 16px;
	display: block;
}

#contents .top_technique .technique_list li a:hover .img_wrap {
	overflow: hidden;
}

#contents .top_technique .technique_list li a:hover .img_wrap img {
	transform: scale(1.05);
	transition: 0.3s;
}

#contents .top_technique .technique_list li a .img_wrap {
	overflow: hidden;
}

#contents .top_technique .technique_list li a .img_wrap img {
	transition: 0.3s;
	margin:0 auto;
}

#contents .top_technique .technique_list li .text {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 16px;
}

#contents .top_technique .technique_list li .text .technique_btn {
	display: inline-block;
	width: 5.6266vw;
	height: 5.6266vw;
	background: #1f3c88;
	/* 青 */
	border-radius: 50%;
	position: relative;
}

#contents .top_technique .technique_list li .text .technique_btn:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-40%, -50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1.27877vw 0 1.27877vw 2.04604vw;
	border-color: transparent transparent transparent #fff;
}

#contents .top_gaiyo {
	display: flex;
	position: relative;
	transform: skew(0, -5deg);
	margin-top: -1px;
	z-index: 5;
	flex-wrap: wrap;
	width:100vw;
}

#contents .top_gaiyo .bg {
	position: absolute;
	bottom: -18.22917vw;
	right: 0;
	transform: skew(0, 5deg);
	width: 35.83333vw;
	height: 22.23958vw;
	z-index:5;
}

#contents .top_gaiyo .about_pic {
	position: relative;
	height: 50.15625vw;
	width: 100%;
	overflow: hidden;
}

#contents .top_gaiyo .about_pic:before {
	position: absolute;
	content: "";
	top: -4.5vw;
	left: 0;
	width: 100%;
	height: 58.85417vw;
	background-image: url(image/top/top_gaiyo_pic.png);
	background-size: cover;
	transform: skew(0, 5deg);
}

#contents .top_gaiyo .text_wrap {
	background: #e86384;
	color: #fff;
	width: 100%;
	margin-top: -1px;
	padding: 10.23018vw 16px 12.78772vw;
}

#contents .top_gaiyo .text_wrap .title {
	text-align: right;
	letter-spacing: 0.12em;
	line-height: 1.875;
	font-size: clamp(20px, 4.09207vw, 32px);
	transform: skew(0, 5deg);
	font-weight: bold;
}

#contents .top_gaiyo .text_wrap .text {
	font-size: clamp(14px, 3.58056vw, 20px);
	line-height: 1.875;
	letter-spacing: 0.12em;
	margin: 26px 0 30px;
	transform: skew(0, 5deg);
}

#contents .top_gaiyo .text_wrap .btn_wrap {
	display: flex;
	justify-content: center;
	gap: 14px;
	margin-left: 0;
	font-size: clamp(16px, 2.55754vw, 24px);
	transform: skew(0, 5deg);
}

#contents .top_gaiyo .text_wrap .btn_wrap .gaiyo_btn {
	background: #273a82;
	width: 46%;
	transition: all 0.5s ease-in-out;
}
#contents .top_gaiyo .text_wrap .btn_wrap .gaiyo_btn:hover{
	color:#000;
}

#contents .top_gaiyo .text_wrap .btn_wrap .gaiyo_btn:before {
	transition: all 0.5s ease-in-out;
	-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
	transform: translateX(-80%) translateY(-18%) rotate(45deg);
}

#contents .top_gaiyo .text_wrap .btn_wrap .gaiyo_btn:hover:before {
	-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
	transform: translateX(-9%) translateY(-25%) rotate(45deg);
}

#contents .top_gaiyo .text_wrap .btn_wrap .daihyo_btn {
	background: #fff;
	color: #e86384;
	width: 46%;
	padding: 3.58056vw 0;
}

#contents .top_gaiyo .text_wrap .btn_wrap .daihyo_btn:before {
	width: 280%;
	transition: all 0.5s ease-in-out;
	-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
	transform: translateX(-80%) translateY(-18%) rotate(45deg);
}

#contents .top_gaiyo .text_wrap .btn_wrap .daihyo_btn:hover:before {
	-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
	transform: translateX(-9%) translateY(-25%) rotate(45deg);
}

#contents .top_gaiyo .text_wrap .btn_wrap .daihyo_btn:hover {
	color: #000;
}

#contents .top_gaiyo .sheep {
	position: absolute;
	bottom: -15.34527vw;
	left: 2.55754vw;
	transform: skew(0, 5deg);
	width: 20.46036vw;
	max-width:170px;
}

#contents .top_interview {
	background: #273a82;
	padding: 17.90281vw 0 38.36317vw;
	transform: skew(0, -5deg);
	margin-top: -1px;
}

#contents .top_interview .w1600 {
	transform: skew(0, 5deg);
}

#contents .top_interview .interview_list {
	display: flex;
	gap: clamp(0px, 8vw, 60px);
	flex-wrap: wrap;
	justify-content: center;
}

#contents .top_interview .interview_list li {
	color: #fff;
	position: relative;
	width: 490px;
	height: 230px;
	margin-bottom: 40.92072vw;
}

/*#contents .top_interview .interview_list li:first-of-type {
	margin-top: 31.25vw;
}*/

#contents .top_interview .interview_list li:first-of-type img {
	width: 100%;

}

#contents .top_interview .interview_list li:nth-of-type(2) img {
	width:100%;
}

#contents .top_interview .interview_list li:nth-of-type(3) img {
	width: 100%;
}


#contents .top_interview .interview_list li .label_text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	font-weight: bold;
	position: absolute;
	bottom: 28px;
	left: -12px;
	font-size: clamp(18px, 4.09207vw, 32px);
	line-height: 1.71429;
	letter-spacing: 0.12em;
}

#contents .top_interview .interview_list li .label_text span {
	white-space: nowrap;
	background: #e86384;
	display: inline-block;
	margin: 0 0 5px;
	opacity: 0;
	transition: 1.2s;
	transform: translateX(-100%);
}

#contents .top_interview .interview_list li .label_text .show {
	opacity: 1;
	transform: translateX(0);
}

#contents .top_interview .interview_list li > a {
	position: relative;
	transform: skew(0, -10deg);
	display: block;
}
#contents .top_interview .interview_list li > a img:hover{
	opacity:1;
}

#contents .top_interview .interview_list li > a .list_wrap {
	background: #fff;
	width: 100%;
	height: 200px;
	position: relative;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	overflow: hidden;
}

#contents .top_interview .interview_list li > a .list_wrap:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 140%;
	height: 120%;
	content: "";
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
	background-image: -moz-linear-gradient(
		123deg,
		rgba(245, 237, 237, 0.99608) 0%,
		#0abab5 0%,
		#fff9f2 0%,
		#becbfb 0%,
		#ddccea 43%,
		#fcccd8 55%,
		#fcccd8 100%
	);
	background-image: -webkit-linear-gradient(
		123deg,
		rgba(245, 237, 237, 0.99608) 0%,
		#0abab5 0%,
		#fff9f2 0%,
		#becbfb 0%,
		#ddccea 43%,
		#fcccd8 55%,
		#fcccd8 100%
	);
	background-image: -ms-linear-gradient(
		123deg,
		rgba(245, 237, 237, 0.99608) 0%,
		#0abab5 0%,
		#fff9f2 0%,
		#becbfb 0%,
		#ddccea 43%,
		#fcccd8 55%,
		#fcccd8 100%
	);
	transition: all 0.5s ease-in-out;
	transform: translateX(-104%) translateY(-6%) rotate(0deg);
}

#contents .top_interview .interview_list li > a:hover .list_wrap:before {
	transform: translateX(-20%) rotate(0deg);
}

#contents .top_interview .interview_list li > a:hover img {
	position: absolute;
	bottom: -16px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);

	transform:skew(0,10deg);
	left:0;
	opacity:1;
}

#contents .top_interview .interview_list li > a img {
	position: absolute;
	bottom: -16px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);

	transform:skew(0,10deg);
	left:0;
}

/*#contents .top_interview .interview_list li:first-of-type > a img{
	bottom:-8px;
}*/
/*#contents .top_interview .interview_list li:nth-of-type(2) > a img{
	bottom:-17px;
}*/

#contents .top_interview .interview_list li .name {
	text-align: right;
	display: flex;
	flex-direction: column;
	font-weight: bold;
	font-size: clamp(20px, 5.11509vw, 40px);
	margin-top: 3.83632vw;
	letter-spacing: 0.12em;
}

#contents .top_interview .interview_list li .name span {
	font-size: clamp(15px, 3.83632vw, 30px);
	margin-top: 10px;
	word-break:auto-phrase;
}

#contents .top_interview .btn {
	margin: 0 auto;
	width: 266px;
	font-size: clamp(16px, 3.06905vw, 24px);
	background-color: #fff;
	padding: 3.58056vw 0;
	color: #e85c7a;
}
#contents .top_interview .btn:hover{
	color:#000;
}

#contents .top_interview .btn:before {
	-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
	transform: translateX(-67%) translateY(-18%) rotate(45deg);
}
#contents .top_interview .btn:hover::before{
	transform: translateX(-27%) translateY(-25%) rotate(45deg);
}

#contents .top_event {
	position: relative;
	transform: skew(0, -5deg);
	background: #273a82;
	margin-top: -2px;
}

#contents .top_event .event_wrap {
	transform: skew(0, 5deg);
}

#contents .top_event h2 {
	position: absolute;
	top: -74px;
	right: 0;
}

#contents .top_event h2 span {
	text-align: right;
	position: relative;
	z-index: 5;
}

#contents .top_event h2 img {
	position: relative;
	z-index: 5;
	margin-left:auto;
}

#contents .top_event .event_pic_wrap {
	overflow: hidden;
	display: flex;
}

#contents .top_event .event_pic_wrap .event_pic {
	animation: scrollTxt 30s linear infinite;
	height:60vw;
	object-fit:cover;
	/*scrollbar-width: none;*/
}

#contents .top_event .sheep {
	position: absolute;
	bottom: -50px;
	left: 70px;
}
#contents .horizontal-swiper {
	width: 100%;
}

#contents .swiper-wrapper {
	transition-timing-function: linear;
}

#contents .swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #fff;
	font-weight: bold;
	width: auto;
}

#contents .swiper-slide p {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	text-align: center;
	color: #fff;
	height: 100%;
}
#contents .swiper-slide img {
	height:60vw;
	width: auto;
	max-width: none;
}
#contents .swiper-notification {
	display: none;
}


#contents .top_news {
	background: #273a82;
	margin-top: -1px;
	position: relative;
	padding: 17.90281vw 0 17.90281vw;
}

#contents .top_news .sheep {
	position: absolute;
	top: -6.77083vw;
	left: 2.04604vw;
	width: 21.09974vw;
	max-width: 150px;
}

#contents .top_news .bg {
	position: absolute;
	bottom: -5.52083vw;
	left: 0;
	width: 38.75vw;
	height: 27.60417vw;
	z-index:5;
}

#contents .top_news h2 {
	text-align: center;
	color: #fff;
	margin-bottom: 40px;
}

#contents .top_news h2 img{
	margin:0 auto;
}

#contents .top_news .news_list {
	background: #fff;
	padding: 5.11509vw 5.11509vw;
	margin-bottom: 76px;
}

#contents .top_news .news_list li {
	padding: 28px 8px 0;
}

#contents .top_news .news_list li:first-of-type {
	padding-top: 0;
}

#contents .top_news .news_list li a {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #273a82;
	flex-wrap: wrap;
	gap: 10px 0;
}

#contents .top_news .news_list li a .date {
	font-weight: bold;
	font-size: 16px;
	color:#273A82;
	min-width:100px;
	text-align:center;
}

#contents .top_news .news_list li a .category {
	background: #e86384;
	color: #fff;
	border-radius: 30px;
	font-size: 16px;
	padding: 4px 12px;
	margin: 0 8px 0 10px;
	white-space:nowrap;
}

#contents .top_news .news_list li a .title {
	font-size: clamp(15px, 2.55754vw, 20px);
	line-height: 1.6;
}

#contents .top_news .btn {
	margin: 0 auto;
	width: 266px;
	font-size: clamp(16px, 2.55754vw, 24px);
	background-color: #fff;
	padding: 3.58056vw 0;
	color: #e85c7a;
}


#contents .top_news .btn:before {
	-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
	transform: translateX(-67%) translateY(-18%) rotate(45deg);
}
#contents .top_news .btn:hover::before {
	-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
	transform: translateX(-27%) translateY(-18%) rotate(45deg);
}

#contents .top_link {
	padding: 10.23018vw 16px 11.50895vw;
	position: relative;
	background: #e85c7a;
	margin-bottom: 0;
}

#contents .top_link::before {
	content: "";
	display: inline-block;
	height: 11vw;
	width: 100%;
	transform: skew(0, -5deg);
	background: #e85c7a;
	position: absolute;
	top: -5vw;
	left: 0;
}

#contents .top_link #contents .top_link_wrap {
	position: relative;
}

#contents .top_link .text {
	color: #fff;
	text-align: center;
	font-weight: bold;
	margin-bottom: 6.90537vw;
	font-size: clamp(18px, 4.60358vw, 36px);
}

#contents .top_link .link_list {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}

#contents .top_link .link_list .btn {
	margin: 0 auto;
	width: 266px;
	font-size: clamp(16px, 2.55754vw, 24px);
	background-color: #fff;
	padding: 3.58056vw 0;
	color: #e85c7a;
}

#contents .top_link .link_list .btn:hover {
	color: #000;
}

#contents .top_link .link_list .btn:before {
	-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
	transform: translateX(-67%) translateY(-18%) rotate(45deg);
}

#contents .top_link .link_list .btn:hover:before {
	-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
	transform: translateX(-28%) translateY(-25%) rotate(45deg);
}

#contents .top_link .link_list .line_btn {
	color: #fff;
	background: #29ca03;
}

#contents .top_link .link_list .line_btn:before {
	-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
	transform: translateX(-67%) translateY(-18%) rotate(45deg);
}

#contents .top_link .link_list .entry_btn {
	color: #fff;
	background: #273a82;
}

#contents .top_link .link_list .entry_btn:before {
	-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
	transform: translateX(-67%) translateY(-18%) rotate(45deg);
}

#contents .top_link .sheep {
	position: absolute;
	right: 2.55754vw;
	bottom: -46px;
	width: 19.18159vw;
	max-width: 170px;
}
/*==================================
SP_page
==================================*/
/* 下層固定ページ */
#page .h_style01{
	background: none;
	border: none;
	text-align: center;
	padding-top: 54px;
	font-size: clamp(26px, 5vw, 40px);
	line-height: 1.5;
	letter-spacing: 0.12em;
}
#page .h_style01_span {
	position: absolute;
	top: 120px;
	left: 50%;
	transform: translateX(-50%);
	font-size: clamp(50px, 10vw, 110px);
	font-family: 'dashicons';
	font-weight: 800;
	color: #e86384;
	z-index: -1;
}
#page h2:first-of-type{
	margin-top: 1.5em;
}
#page h2{
	background: none;
	display: block;
	text-align: center;
	color: #273a82;
	font-size: clamp(24px, 5vw, 32px);
	margin-top: 2.4em;
}
#page h2 strong{
	background: #eef2ff;
	padding: 4px 10px;
	font-weight:800;
	letter-spacing: 0.06em;
}
#page h3{
	border-bottom:none;
	border-left: 0;
	padding: 0;
	font-size: clamp(18px, 3vw, 24px);
}
#page h3 strong {
	background: #273a82;
	padding: 3px 10px;
	color: #fff;
	font-weight:700;
	letter-spacing: 0.06em;
}
#page h4{
	border-bottom:none;
	color: #e86384;
}
#page h4::before{
	box-shadow: 0 0 0 8px #e86384;
}
#page .block_point_list_ttl{
	color:#e86384;
}
/*キャッチ*/
.banner_area {
	margin: 0 0 32px;
}
.catch_list {
	overflow: hidden;
}
.catch_list ul {
	overflow: hidden;
	margin: 4px 0;
}
.catch_list li {
	margin: 0 0 4px;
	padding: 10px 0 8px 44px;
	background: url(image/page/catch_ico01.png) no-repeat left 4px;
	font-size: 15px;
	border-bottom: dotted 2px #c9c9ba;
}
.catch_list .img_right img {
	width: auto;
	height: auto;
	max-width: 224px;
	max-height: 224px;
}
/*==================================
SP_price
==================================*/
.ryoukin_list01,
.ryoukin_list02 {
	margin: 0 auto 32px;
	width: 100%;
	text-align: center;
}
.ryoukin_list01 th,
.ryoukin_list01 td {
	width: 50%;
}
.ryoukin_list02 th,
.ryoukin_list02 td {
	width: 33.3%;
}
.ryoukin_list01 th,
.ryoukin_list01 td,
.ryoukin_list02 th,
.ryoukin_list02 td {
	padding: 3px;
	border: solid 1px #ccc;
}
.ryoukin_list01 th,
.ryoukin_list02 th {
	background: #f0f0e1;
}
.ryoukin_style01 {
	font-size: 20px;
	font-weight: bold;
	color: #000;
	margin-left: 50px;
}
.ryoukin_chui {
	text-indent: -1em;
	margin: 0 30px;
}
/*==================================
SP_form
==================================*/
.wpcf7-form {
	width: 96%;
	margin: 0 auto 30px;
}
.wpcf7-form p {
	margin: 0 auto 10px;
	line-height: 2em;
}
.privacy_policy {
	width: 92%;
	margin: 0 auto 30px;
	height: 300px;
	overflow: auto;
	border: solid 1px #999;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 10px;
}
.privacy_policy dl dt {
	margin: 0 auto 10px;
	font-weight: bold;
}
.privacy_policy dl dd {
	margin: 0 auto 2em;
}
.required {
	background: #ffe6e6;
	color: #ff7373;
	padding: 2px;
	border-radius: 5px;
	font-size: 90%;
}
.any {
	background: #ffe599;
	color: #ff8000;
	padding: 2px;
	border-radius: 5px;
	font-size: 90%;
}
.wpcf7-text,
.wpcf7-textarea {
	width: 94%;
	line-height: 2em;
	font-size: 16px;
}
#form_contents article {
	margin: 0 auto;
	max-width: 640px;
}
.form_atention {
	background: #ffdfdf none repeat scroll 0 0;
	border: 1px solid #f2f2f2;
	margin: 0 auto 20px;
	padding: 15px;
	width: 96%;
	max-width: 640px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.form-width {
	max-width: 100%;
}
/*=================================
Contact_SP
=================================*/
table {
	border-collapse: separate;
}
.inquiry {
	width: 98%;
	margin: 0 auto;
}
/*見出し欄*/
.inquiry th,
.inquiry td{
	box-sizing: border-box;
	display: block;
	text-align:left;
	font-size:14px;
	color:#444;
	width:100%;
	overflow: hidden;
	background:#f7f7f7;
	vertical-align: middle;
}
/*通常欄*/
.inquiry th {
	padding:16px 0px 16px 10px;
}
.inquiry td{
	font-size:13px;
	padding:16px 10px;
	background:#fff;
}
/*横の行とテーブル全体*/
.entry-content .inquiry tr,.entry-content table{
	border:solid 1px #d7d7d7;	
}
.wpcf7-form-control {
	padding: 10px;
}
/*必須の調整*/
.haveto{
	font-size:7px;
	padding:5px;
	background:#ff9393;
	color:#fff;
	border-radius:2px;
	margin-right:5px;
	position:relative;
	bottom:1px;
}
/*任意の調整*/
.any{
	font-size:7px;
	padding:5px;
	background:#93c9ff;
	color:#fff;
	border-radius:2px;
	margin-right:5px;
	position:relative;
	bottom:1px;
}
/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item{
	display:block;
}
.wpcf7-textarea {
	width: 90%;
}
/*送信ボタンのデザイン変更*/
#formbtn{
	display: block;
	padding:15px;
	width:350px;
	background:#e86384;
	color:#fff;
	font-size:18px;
	font-weight:bold;	 
	border:none;
	margin:25px auto 0;
	width: 100%;
}
/*送信ボタンマウスホバー時*/
#formbtn:hover{
	background:#fff;
	color:#e86384;
	border:2px solid #e86384;
}

/*==================================
SP_blog
==================================*/
ul.blog_list {
	display: flex;
	flex-wrap: wrap;
	margin-top: 2em;
}
ul.blog_list li {
	width: 50%;
	margin-top: 0;
	padding: 0 0.2em;
	box-sizing: border-box;
}
.post_box {
	box-sizing: border-box;
	margin: 1em 0.5em;
}
h2.post_box_post_ttl {
	font-weight: 800;
	font-size: clamp(15px, 1.4vw, 22px);
}
h2.post_box_post_ttl a {
	color: inherit;
	text-decoration: none;
}
.post_box_post time {
	font-size: clamp(10px, 1vw, 14px);
}
.post_box_post time::before {
	font-family: "icomoon";
	content: "\e900";
	display: inline-block;
	margin-right: 2px;
	vertical-align: baseline;
}
.post_box_info {
	box-sizing: border-box;
}
p.post_box_info_cat a {
	display: inline-block;
	text-decoration: none;
	color: inherit;
	font-size: clamp(10px, 1vw, 14px);
	margin-right: 6px;
	transition: 0.4s;
}
p.post_box_info_cat a::before {
	font-family: "icomoon";
	content: "\e901";
	display: inline-block;
	margin-right: 2px;
	vertical-align: bottom;
}
p.post_box_info_cat a:hover {
	letter-spacing: 0.05em;
}
.post_box_thumb {
	overflow: hidden;
}
.post_box_thumb_img {
	width: 100%;
	background-size: cover;
	background-position: center;
	height: auto;
	padding-top: 68%;
	overflow: hidden;
	transition-duration: 0.3s;
}

a:hover .post_box_thumb_img {
	transform: scale(1.1, 1.1); /*画像の拡大*/
}

@media screen and (min-width: 782px) {
	.post_box {
		margin: 14px;
		overflow: hidden;
	}
	.post_box_thumb {
		margin-bottom: 0.5em;
	}
}
/* =========================
SP_スタッフ紹介
========================= */
.staff_wrap .conts{
	display:flex;
	justify-content:center;
	gap:10px;
	flex-wrap:wrap;
	margin:0;
}
.staff_wrap .conts:after{
	display:none;
}
.top_post_box {
    box-sizing: border-box;
	margin: 20px 0;
    box-shadow: 0 0px 6px 0px hsla(0, 0%, 0%, 0.4);
	width:45%;
}
.top_post_box a:hover{
	opacity:0.7;
}
.top_post_box .top_thumb {
    width: 100%;
    background-size: cover;
    background-position: top 6% right 50%;
    padding-top: 68%;
}
.top_ttl {
    box-sizing: border-box;
    padding: 20px 10px;
}
.top_ttl a{
	text-decoration:none;
	color:#666;
}

.top_ttl a:visited{
	color:#666;
}
.job_tit {
	font-size: 16px;
	font-weight: bold;
	border-bottom: 1px solid #666;
	padding: 0 8px 8px;
	line-height: 1.2em;
}

.job_txt {
    padding: 8px;
}


/*==================================
SP_pager
==================================*/
.pager {
	text-align: right;
	padding-bottom: 10px;
}
a.page-numbers,
.pager .current {
	color: #e86384;
	border: solid 1px #e86384;
	border-radius: 5px;
	padding: 5px 8px;
	margin: 0 2px;
}
.pager .current {
	background:#e86384;
	border: solid 1px rgba(0, 0, 0, 0.1);
	color: rgba(255, 255, 255, 1);
}
.navigation {
	overflow: hidden;
	margin: 0 auto;
	width: 95%;
}
.navigation .alignleft {
	width: 48%;
	float: left;
}
.navigation .alignright {
	width: 48%;
	float: right;
	text-align: right;
}
/*==================================
採用情報ページ
==================================*/
.saiyo_info .flow {
	display: flex;
	gap: 14px;
	position: relative;
	justify-content: space-between;
	flex-direction: column;
	text-align: center;
}
.saiyo_info .flow::before {
	content: "";
	position: absolute;
	background: #273a82;
	width: 3px;
	height: 100%;
	z-index: -5;
	top: 50%;
	left: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.saiyo_info .flow li {
	background: #eef2ff;
	padding: 20px;
}
.saiyo_info .tab_wrap {
	margin-top: 20px;
}
.saiyo_info .tab_menu {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
}

.saiyo_info .tab_menu li {
	padding: 10px 20px;
	background: #eee;
	cursor: pointer;
	width: 50%;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.saiyo_info .tab_menu li.active {
	background: #273a82;
	color: #fff;
}

.saiyo_info .tab_content {
	display: none;
	padding: 20px;
	background: #eef2ff;
}

.saiyo_info .tab_content.active {
	display: block;
}
.saiyo_info .saiyo_table_list {
	display: flex;
	gap:0;
	align-items:stretch;
	flex-direction:column;
	margin-top:4px;
}
.saiyo_info .saiyo_table_list p:first-of-type {

	color: #e86384;
	width: 100%;
	text-align: center;
	padding: 6px;
	display: flex;
	align-items: center;
}
.saiyo_info .saiyo_table_list p:last-of-type {
	border-bottom: 2px solid #273a82;
	color: #273a82;
	width: 100%;
	padding: 6px;
	display: flex;
	align-items: center;
	box-sizing:border-box;
}

.saiyo_info .content_btn{
	margin:20px auto 0;
	display:block;
}
.content_btn{
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 1rem 4rem;
	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.1em;
	color: #212529;
	border-radius: 0.5rem;
}

.content_btn_flat {
	overflow: hidden;
	width:110px;
	padding: 1.5rem 6rem;

	color: #fff;
	border-radius: 0;
	background: #e86384;
}

.content_btn_flat span {
	position: relative;
	color:#fff;
	transition:0.3s;
}
.content_btn_flat:hover span{
	color:#000;
	transition:0.3s;
}

.content_btn_flat:before {
	position: absolute;
	top: 0;
	left: 0;

	width: 150%;
	height: 500%;

	content: "";
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
	-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
	transform: translateX(-98%) translateY(-25%) rotate(45deg);

	background: #f3ff32;
}

.content_btn_flat:hover:before {
	-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
	transform: translateX(-9%) translateY(-25%) rotate(45deg);
}
/*==================================
SP＿数字で見る
==================================*/
.sec_number_about,.sec_number_stuff {
  display: grid;
  grid-template-columns: repeat(2, 1fr); 
  gap: .5em;
  list-style: none;
  padding: 0;
  margin: 0;
}

.sec_number_about li,.sec_number_stuff li {
  width: 100%;
}

.sec_number_about li img,.sec_number_stuff li img {
  width: 100%;
  height: auto;
  display: block;
}
.sec_number_about li:nth-child(3),
.sec_number_about li:nth-child(4),
.sec_number_about li:nth-child(5),
.sec_number_about li:nth-child(6),
.sec_number_about li:nth-child(7) {
  grid-column: span 2; 
}
.sec_number_stuff li:nth-child(1),
.sec_number_stuff li:nth-child(4),
.sec_number_stuff li:nth-child(5),
.sec_number_stuff li:nth-child(6),
.sec_number_stuff li:nth-child(7) {
  grid-column: span 2; 
}
/*==================================
for iPhone Landscape(iPhone 横)
==================================*/
@media screen and (min-width: 480px) {
	.gnav img {
		width: 48%;
	}
	.br_onoff {
		display: none;
	}
	.img_left,
	.alignleft {
		float: left;
		margin: 0 8px 8px 0;
	}
	.img_right,
	.alignright {
		float: right;
		margin: 0 0 8px 8px;
	}
	.voice_pic {
		float: left;
		margin: 0 16px 0 0;
	}
	.voice_pic p > :first-child {
		display: block;
		margin: 0 0 8px;
	}
	.catch_list .img_right {
		max-width: none;
		float: none;
		margin: 0 0 8px;
	}
	/*      スマホ横アクセス
	---------------------------------*/
	.access_box01 .img_left {
		width: 44.64%;
		max-width: none;
	}
	.access_info01 {
		float: right;
		width: 52.08%;
	}
	.access_pic {
		float: left;
		width: 47%;
	}
	.access_info02 {
		clear: both;
	}
}
/*==================================
for iPhone Landscape(iPhone 480px~782px)
==================================*/
@media screen and (min-width: 480px) and (max-width: 782px) {
	.contact_conts .img_left {
		float: none;
	}
	#sidebar {
		column-count: 2;
		column-gap: 0;
	}
	#sidebar > div {
		padding: 5px;
		-webkit-column-break-inside: avoid;
		page-break-inside: avoid;
		break-inside: avoid;
	}
}
/*==================================
スマホ用ドロワーメニュー
==================================*/
@media screen and (max-width: 782px) {
	#sp_menu {
		display: contents;
		background-color: transparent;
		border: none;
		cursor: pointer;
		outline: none;
		padding: 0;
		appearance: none;
	}
	#sidebar {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 5em 0;
		background-color: #eef2ff;
		transition: all 0.2s;
		transform: translate(-100%);
		overflow-y: scroll;
		overflow-x: hidden;
		z-index: 999999;
		box-shadow: 0 8px 3px -3px rgba(0, 0, 0, 0.1);
		box-sizing: border-box;
	}
	#sidebar.open {
		transform: translate(0%);
	}
	#mask {
		display: none;
		transition: all 0.5s;
	}
	#sidebar.open + #mask {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #000;
		opacity: 0.5;
		z-index: 99999;
		cursor: pointer;
	}
	/*モーダルの指定*/
	.modal_tel_container,
	.modal_line_container {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		text-align: center;
		background: rgba(0, 0, 0, 50%);
		padding: 40px 20px;
		overflow: auto;
		opacity: 0;
		visibility: hidden;
		transition: 0.3s;
		box-sizing: border-box;
	}
	.modal_tel_container::before,
	.modal_line_container::before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		height: 100%;
	}
	.modal_tel_container.active,
	.modal_line_container.active {
		opacity: 1;
		visibility: visible;
	}
	.modal_body {
		position: relative;
		display: inline-block;
		vertical-align: middle;
		max-width: 500px;
		width: 90%;
	}
	.modal_close {
		position: absolute;
		display: flex;
		align-items: center;
		justify-content: center;
		top: -40px;
		right: 0;
		width: 40px;
		height: 40px;
		font-size: 40px;
		color: #fff;
		cursor: pointer;
	}
	.modal_content {
		background: #fff;
		padding: 30px;
	}
	.modal_contact_tel_ttl,
	.modal_contact_line_ttl {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		font-size: clamp(15px, 3vw, 24px);
	}
	.modal_contact_tel_list li a,
	.modal_contact_line_list li a {
		display: block;
		margin: 0.5em auto;
		max-width: 16em;
		padding: 0.5em;
		text-decoration: none;
		color: #fff;
		text-align: center;
		font-size: clamp(15px, 3vw, 24px);
		border-radius: 8px;
	}
	.modal_contact_tel_list li a {
		background-color: #000;
	}
	.modal_contact_line_list li a {
		background-color: #00b900;
	}
}
/*==================================
for iPad~PC
==================================*/
@media screen and (min-width: 782px) {
	/*==================================
	PC_base
	==================================*/
	a:hover img,
	a:active img {
		-webkit-opacity: 0.7;
		opacity: 0.7;
	}
	.only_sp,
	#sidebar.only_sp {
		display: none;
	}
	.only_pc {
		display: block;
	}
	body {
		line-height: 1.6;
		width: 100%;
		max-width: 1240px; /*main_imgの幅*/
		margin-top: 0 !important;
	}
	.alignleft img,
	.alignright img {
		max-width: 300px;
		height: auto;
	}
	/*==================================
	PC_layout
	==================================*/
	/* 	#sidebar {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
	#sidebar > div {
	width: 48%;
}
	#sidebar > div:last-of-type {
	margin-right: auto;
} */
	#sidebar{
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999999;
		height: 100%;
width:850px;
		/*max-width:auto;*/
opacity:0.8;
		background: #fff;
		opacity: 0;
		transform: translateX(-100%);
		transition:
			transform .35s cubic-bezier(.22,.61,.36,1),
			opacity .2s ease;
	}
	#sidebar.open{
		opacity: 1;
		transform: translateX(0);
		background:#eef2ff;
		overflow-y:scroll;
		padding:120px 30px;
		box-sizing:border-box;
	}
	.conts {
		margin: 0 24px 24px;
	}
	.ttl {
		margin: 0 0 32px;
	}
	.bnr {
		margin: 0 0 16px;
		text-align: center;
	}

	/*==================================
	PC_heading
	==================================*/
	.h_style01,
	.h_style02,
	.news_ttl {
		font-family:
			"Noto Sans JP", sans-serif;
	}
	.h_style01 /*下層ページのh2などに利用してください*/ {
		margin: 0 0 32px;
		padding: 20px;
		font-size: 34px;
	}
	.h_style02,
	.post h3:not([class]),
	.block_wrapper h2:not(.nostyle)
	/*トップのh2、下層のh3*/ {
		margin: 32px 0 24px;
		padding: 8px 16px;
		font-size: 18px;
	}
	.h_style03,
	.post h4,
	.block_wrapper h3:not(.nostyle)
	/*トップのh3、下層のh4*/ {
		clear: both;
		overflow: hidden;
		margin: 32px 4px 24px;
	}
	.h_style04,
	.post h5,
	.block_wrapper h4:not(.nostyle)
	/*ブログ見出し*/ {
		margin: 24px 4px 16px;
		padding: 0 8px 2px 32px;
		font-size: 18px;
	}
	/*==================================
	PC_header
	==================================*/
	/*.h_logo {
	width: 100%;
}*/
:target {
  scroll-margin-top: 68px;
}
	header .logo_wrap {
		margin-left: 11.66667vw;
	}
	#contents h2 img {
		height: 5.52083vw;
	}
	h2 span {
		font-size: clamp(20px, 2.08333vw, 40px);
	}
	/**/
	a.btn_flat {
		width: 160px;
	}
	a.btn_flat:before {
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-89%) translateY(-18%) rotate(45deg);
	}
	a.btn_flat:hover:before {
		-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
		transform: translateX(-9%) translateY(-25%) rotate(45deg);
	}
	.h_nav {
		/**/
		/**/
	}
	.h_nav .hamburger_menu {
		width: 68px;
		/* お好みのサイズに */
		height: 68px;
		/* お好みのサイズに */
	}
	.h_nav .hamburger_menu span:nth-of-type(1) {
		top: 30px;
	}
	.h_nav .hamburger_menu span:nth-of-type(2) {
		top: 40px;
	}
	.h_nav .hamburger_menu.active span:nth-of-type(1) {
		top: 35px;
		left: 30%;
	}
	.h_nav .hamburger_menu.active span:nth-of-type(2) {
		top: 35px;
		left: 30%;
	}
	.top_modal {
	background-color: rgba(68, 68, 68, .8);
	display: none; /* 初期非表示 */
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10;
		opacity: 0;
	transition: opacity .3s ease;
}
.top_modal.active {
	opacity: 1;
}
.top_modal_overlay {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
}
.top_modal_content {
	background: #eef2ff;
	max-height: calc(90% - 40px);
	max-width: 900px;
	overflow-y: auto;
	padding: 110px 120px 150px;
	text-align: center;
		transform: translateY(20px);
	transition: all .3s ease;
}
.top_modal_content .btn_wrap{
	display:flex;
	gap:40px;
}
.top_modal.active .modal_content {
	transform: translateY(0);
	opacity: 1;
}
.top_modal .text{
	font-size:clamp(20px,2.08vw,40px);
	font-weight:bold;
	margin:20px 0 60px;
}
.top_modal img {
	max-width: 100%;
}
.top_modal .logo_wrap{
	width:100%;
}
	.btn_wrap .pink_btn, .btn_wrap .blue_btn{
		max-width:44px;
		max-height:44px;
	}
	.btn_wrap .pink_btn::before, .btn_wrap .blue_btn::before{
		border-width:10px 0 10px 14px;
	}
	/*==================================
	PC_navigation
	==================================*/
	.gnav_pc {
		overflow: hidden;
		max-width: 1240px;
		margin: 0 auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.gnav_pc li {
		text-align: center;
		width: 24.9%;
		border-left: 1px solid #fff;
	}
	.gnav_pc li:last-child {
		border-right: 1px solid #fff;
	}
	.gnav_pc li a {
		display: block;
		padding: 15px 10px;
		color: #fff;
		text-decoration: none;
	}
	.gnav_pc li:hover {
		opacity: 0.7;
	}
	#bt_pagetop {
		position: fixed;
		z-index: 99999;
		bottom: 16px;
		right: 16px;
		width: min(10vw, 90px);
		opacity: 0;
		visibility: hidden;
		transition:
			opacity 1s,
			visibility 1s;
	}
	#bt_pagetop.active {
		opacity: 1;
		visibility: visible;
	}
	/*==================================
	PC_mainimg
	==================================*/
	.main_img {
		text-align: center;
	}
	/*==================================
	PC_contact
	==================================*/
	.contact {
		padding: 4em 0;
	}
	.contact_conts {
		width: 98%;
		max-width: 1090px;
		margin: auto;
		gap: 2em;
	}
	.contact_info_box {
		display: flex;
		justify-content: space-between;
		gap: 1em;
	}
	.contact_info_box > * {
		width: calc(50% - 1em);
	}
	.contact_info .block_uketsuke {
		margin: 0 auto;
		font-size: 14px;
	}
	.contact_info .block_uketsuke th,
	.contact_info .block_uketsuke td {
		padding: 0.3em;
		font-size: clamp(14px, 2vw, 24px);
	}
	.contact_info .uketsuke_block_notes {
		font-size: clamp(14px, 1.8vw, 20px);
	}
	.contact_access {
		font-size: clamp(14px, 1.6vw, 18px);
	}
	.contact_bt {
		flex-direction: row;
		justify-content: center;
	}
	.contact_bt > * {
		flex: 1;
	}
	/*==================================
	PC_menu sidemenu
	==================================*/
	.side_fixed_menu li {
		margin: 0 auto 16px;
	}
	.side_fixed_menu li a/*PCサイドバーHOME・アクセスボタン*/ {
		padding: 2px 10px;
		transition: 0.5s;
		font-size:32px;
	}
	.side_fixed_menu li a:hover {
		opacity: 0.7;
	}
	.widget_nav_menu p, .widget_categories p, .widget_recent_entries p, .widget_search p{
		font-size:32px;
	}
	/*メニュー（固定ページ/関連メニュー）*/
	.widget_nav_menu,
	#custom_html-13,
	.widget_categories,
	.widget_recent_entries,
	.widget_search,
	.widget_archive,
	.widget_meta {
		width: 100%;
	}
	.widget_nav_menu a, .widget_categories a, .widget_recent_entries a{
		font-size:16px;
	}
	.widget_nav_menu li a:hover,
	.widget_categories li a:hover,
	.widget_recent_entries li a:hover {
		opacity: 0.7;
	}
	#mask {
		display: none;
		transition: all 0.5s;
	}
	#sidebar.open + #mask {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #000;
		opacity: 0.5;
		z-index: 99999;
		cursor: pointer;
	}
	/*==================================
	PC_copyright
	==================================*/
	.copyright {
		padding: 16px 0;
		margin: 120px 0 0;
		font-size: 14px;
	}
	/*==================================
	PC_footer
	==================================*/
	/*.f_inner {
	display: block;
	overflow: hidden;
	margin: 0 auto;
	padding: 16px 0;
	width: 95%;
	max-width: 1024px;
}*/
	footer {
		padding: 100px 0 0;
		padding: 5.20833vw 0 6.25vw;
		clear: both;
	}
	footer .f_wrap {
		flex-wrap: wrap;
		justify-content: center;
	}
	footer .f_wrap .left .f_title {
		margin-left: 0;
		text-align: center;
		font-size: clamp(18px, 1.25vw, 24px);
	}
	footer .f_wrap .left .f_shop_list li {
		font-size: clamp(16px, 1.04167vw, 20px);
	}
	footer .f_wrap .btn_wrap {
		font-size: 18px;
	}
	footer .f_wrap .btn_wrap .btn {
		padding: 22px 0;
	}
	footer .f_wrap .btn_wrap .btn:before {
		transition: all 0.5s ease-in-out;
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-74%) translateY(-18%) rotate(45deg);
	}
	footer .f_wrap .btn_wrap .btn:hover:before {
		-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
		transform: translateX(-22%) translateY(-25%) rotate(45deg);
	}
	footer .f_wrap .right {
		width: 50%;
	}
	footer .f_wrap .right iframe {
		width: 100%;
		min-width: 400px;
		height: 100%;
	}
	/*==================================
	PC_voice
	==================================*/
	.voice {
		margin: 0 0 40px;
	}
	.voice_list li {
		margin: 0 24px 32px;
		padding: 24px;
	}
	.voice_conts {
		padding: 24px;
	}
	.voice_conts h3 {
		width: 100%;
	}
	.voice_txt {
		clear: right;
		overflow: hidden;
		padding: 0 0 0 16px;
	}
	.voice_pic {
		float: left;
		margin: 0 16px 0 0;
	}
	.voice_pic img {
		display: inline-block;
		margin: 0 0 8px;
		max-width: 100%;
		height: auto;
	}
	/*==================================
	PC_toppage
	==================================*/
	/*.top_inner {
	margin: 0 calc(50% - 50vw);
	padding: min(10vw,80px) calc(50vw - 48%);
}	
	.top_catch h2 {
	margin: 0 0 32px;
}
	.top_sejutsu_bt {
	margin: 0 0 24px;
}
	.top_sejutsu_bt li {
	margin: 0 0 8px;
	width: 32.5%;
	text-align: center;
}
	.top_point_list {
	margin: 0 24px;
}
	.top_point_list h3 {
	float: left;
	font-size: 26px;
	line-height: 1.3em;
	margin: 0 0 16px;
}
	.top_point_list h3 img {
	max-width: 70px;
	margin: 0 1vw 0 0;
}
	.top_point_txt {
	clear: left;
}
	.top_flow_list li {
	width: 46%;
	margin: 0 6px 22px;
}*/
	.main_img > img {
		width: 100%;
	}
	.main_img .eyecatch-inner {
		top: 3.95833vw;
		padding-right: 80px;
	}
	.main_img .eyecatch-inner:before {
		width: 63.17708vw;
		height: 0;
		padding-top: 70%;
		background: url(image/top/fv_text_bg.png) no-repeat right center;
		background-size: 100% 100%;
	}
	.main_img .text {
		margin-top: 12.1875vw;
		width: 51.77083vw;
	}
	#contents .top_about {
		padding: 10.41667vw 0;
	}
	#contents .top_about .about_list {
		justify-content: flex-end;
		margin-top: -16.14583vw;
		padding: 0;
	}
	#contents .top_about .about_list li {
		height: 15.10417vw;
		width: 30%;
	}
	#contents .top_about .about_list li .text {
		font-size: clamp(14px, 1.25vw, 24px);
	}
	#contents .top_about .about_list li .text .bottom_text {
		margin-top: 1.04167vw;
		letter-spacing: 0.02em;
		font-size: clamp(16px, 2.08333vw, 40px);
	}
	#contents .top_about .about_list li .btn_arrow {
		width: 1.97917vw;
		height: 1.97917vw;
	}
	#contents .top_about .about_list li .btn_arrow:before {
		border-width: 6px 0 6px 10px;
	}
	#contents .top_technique {
		padding: 80px 0 180px;
		padding: 4.16667vw 0 9.375vw;
	}
	#contents .top_technique h2 img{
		margin-left:auto;
	}
	#contents .top_technique .sheep{
		width:8.5vw;
		height:10.4vw;
		max-width:170px;
		margin-top:auto;
	}
	#contents .top_technique .technique_list li {
		width: 30%;
		font-size: clamp(20px, 1.97917vw, 32px);
	}
	#contents .top_technique .technique_list li .text .technique_btn {
		width: 1.97917vw;
		height: 1.97917vw;
	}
	#contents .top_technique .technique_list li .text .technique_btn:before {
		border-width: 6px 0 6px 10px;
	}
	#contents .top_gaiyo .about_pic {
		width: 50%;
		height: auto;
	}
	#contents .top_gaiyo .about_pic:before {
		background-size: cover;
		background-repeat: no-repeat no-repeat;
		top: -2.5vw;
		background-position: center;
		height: 112%;
	}
	#contents .top_gaiyo .text_wrap {
		width: 50%;
		padding: 3.64583vw;
		margin-top: 0;
	}
	#contents .top_gaiyo .text_wrap .title {
		font-size: clamp(16px, 1.66667vw, 32px);
	}
	#contents .top_gaiyo .text_wrap .text {
		font-size: clamp(14px, 0.72917vw, 16px);
		margin: 26px 0 60px;
		margin: 1.35417vw 0 3.125vw;
	}
	#contents .top_gaiyo .text_wrap .btn_wrap {
		justify-content: flex-start;
		gap: 34px;
		margin-left: 50px;
		font-size: clamp(14px, 1.25vw, 24px);
	}
	#contents .top_gaiyo .text_wrap .btn_wrap .gaiyo_btn:before {
		transition: all 0.5s ease-in-out;
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-80%) translateY(-18%) rotate(45deg);
	}
	#contents .top_gaiyo .text_wrap .btn_wrap .gaiyo_btn:hover:before {
		-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
		transform: translateX(-9%) translateY(-25%) rotate(45deg);
	}
	#contents .top_gaiyo .text_wrap .btn_wrap .daihyo_btn {
		padding: 28px 0;
		padding: 1.45833vw 0;
	}
	#contents .top_gaiyo .text_wrap .btn_wrap .daihyo_btn:before {
		transition: all 0.5s ease-in-out;
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-80%) translateY(-18%) rotate(45deg);
	}
	#contents .top_gaiyo .text_wrap .btn_wrap .daihyo_btn:hover:before {
		-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
		transform: translateX(-9%) translateY(-25%) rotate(45deg);
	}
	#contents .top_gaiyo .sheep {
		bottom: -56px;
		left: 70px;
		max-width: 172px;
		width:8.9vw;
	}
	#contents .top_interview {
		padding: 12.5vw 0;
	}
	#contents .top_interview .interview_list {
		flex-wrap: nowrap;
		margin-bottom: 0;
		justify-content: center;
	}
	#contents .top_interview .interview_list li {
		margin: 10.41667vw 0 7.29167vw;
		width: 25.52083vw;
		height: 100%;
	}
	#contents .top_interview .interview_list li:first-of-type {
		margin: 10.41667vw 0 7.29167vw;
	}
	#contents .top_interview .interview_list li .label_text {
		font-size: clamp(14px, 1.45833vw, 28px);
		bottom: 7.8vw;
	}
	#contents .top_interview .interview_list li .label_text span {
		margin-bottom: 0.26042vw;
	}
	#contents .top_interview .interview_list li > a .list_wrap {
		height: 16.14583vw;
	}
	#contents .top_interview .interview_list li .name {
		font-size: clamp(15px, 1.5625vw, 30px);
		margin-top: 1.5625vw;
	}
	#contents .top_interview .interview_list li .name span {
		font-size: clamp(18px, 1.875vw, 36px);
	}
	#contents .top_interview .btn {
		font-size: clamp(15px, 1.25vw, 24px);
		padding: clamp(14px, 1.45833vw, 28px);
	}
	#contents .top_interview .btn:before {
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-67%) translateY(-18%) rotate(45deg);
	}

	#contents .top_event .event_pic_wrap .event_pic{
		height:31.25vw;
		object-fit:cover;
	}
	#contents .swiper-slide img{
		height:31.25vw;
	}
	#contents .top_news {
		padding: 9.375vw 0 9.89583vw;
	}
	#contents .top_news .sheep {
		max-width: 165px;
		width:8.5vw;
	}
	#contents .top_news .bg {
		z-index: 5;
	}
	#contents .top_news .news_list {
		padding: 60px 95px;
		padding: 3.125vw 4.94792vw;
	}
	#contents .top_news .news_list li a {
		flex-wrap: nowrap;
		padding-bottom: 10px;
	}
	#contents .top_news .news_list li a .category {
		margin: 0 10px;
	}
	#contents .top_news .news_list li a .title {
		font-size: 15px;
	}
	#contents .top_news .btn {
		font-size: clamp(15px, 1.25vw, 24px);
		z-index: 5;
		padding: clamp(14px, 1.45833vw, 28px) 0;
	}
	#contents .top_news .btn:before {
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-67%) translateY(-18%) rotate(45deg);
	}
	#contents .top_link {
		padding: 100px 0 170px;
		padding: 5.20833vw 0 8.85417vw;
	}
	#contents .top_link .text {
		margin-bottom: 54px;
		font-size: 24px;
	}
	#contents .top_link .link_list {
		gap: 2.60417vw;
		flex-wrap: wrap;
	}
	#contents .top_link .link_list .btn {
		font-size: clamp(15px, 1.5625vw, 30px);
		padding: 1.45833vw 0;
	}
	#contents .top_link .link_list .btn:before {
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-66%) translateY(-18%) rotate(45deg);
	}
	#contents .top_link .link_list .btn:hover:before {
		-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
		transform: translateX(-27%) translateY(-25%) rotate(45deg);
	}
	#contents .top_link .link_list .line_btn:before {
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-66%) translateY(-18%) rotate(45deg);
	}
	#contents .top_link .link_list .entry_btn:before {
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-66%) translateY(-18%) rotate(45deg);
	}
	#contents .top_link .sheep {
		right: 10.9375vw;
		bottom: -42px;
		width: 8.85417vw;
	}
	/*==================================
	PC_page
	==================================*/
	/* 下層固定ページ */
	#page .h_style01{
		padding-top: 120px;
	}
	.banner_area {
		text-align: center;
	}
	.catch_list ul {
		margin: 4px 0;
		float: left;
		width: 432px;
	}
	.catch_list li {
		padding: 6px 0 6px 44px;
		font-size: 18px;
	}
	.catch_list .img_right {
		width: 224px;
		float: right;
	}
	.catch_list .img_right img {
		width: auto;
		height: auto;
		max-width: 224px;
		max-height: 224px;
	}
	/*==================================
	PC_access
	==================================*/
	.access_info01 p {
		margin: 0;
	}
	.access_info02 {
		clear: both;
	}
	.access_info03 {
		margin: 0 auto;
		width: 500px;
	}

	/*==================================
	PC_form
	==================================*/
	.form_atention {
		width: 92%;
	}
	.privacy_policy {
		height: 150px;
	}
	/*=================================
	Contact_PC
	=================================*/
	table.inquiry  {
		border-spacing: 20px;
	}
	.inquiry th,
	.inquiry td{
		display: table-cell;
		width:auto;
	}
	.inquiry td{
		float: left;
		margin-left: 30px;
		width:100%;
	}
	.wpcf7-textarea {
		width: 70%;
	}
	.wpcf7-form-control {
		width: 70%;
	}
	td.cf_day {
		width: 87%;
	}
	/*==================================
	PC_Blog
	==================================*/
	.date {
		font-size: 13px;
		color: #ccc;
		text-align: right;
	}
	/*==================================
	PC_pager
	==================================*/
	.navigation {
		width: 630px;
	}
	/*==================================
	PC_採用情報ページ
	==================================*/
	.saiyo_info .flow {
		gap: 20px;
		flex-direction: row;
	}

	.saiyo_info .flow::before {
		width: 100%;
		height: 3px;
		top: 50%;
		left: 0;
	}

	.saiyo_info .flow li {
		padding: 40px;
	}

	.saiyo_info .tab_menu li {
		width: auto;
	}
	.saiyo_info .saiyo_table_list{
		flex-direction:row;
	}
	.saiyo_info .saiyo_table_list p:first-of-type {
		padding: 14px;
		border-bottom:2px solid #e86384;
		width:35%;
	}
	.saiyo_info .saiyo_table_list p:last-of-type {
		padding: 14px;

	}
	/*==================================
	PC_スタッフ紹介
	==================================*/
	.staff_wrap .conts{
		justify-content:flex-start;
	}
	.top_post_box {
		width: 30%;
		margin: 12px;
		overflow: hidden;
	}
	    #top_list {
        display: flex;
			justify-content:center;
        flex-wrap: wrap;
    }
	/*==================================
PC＿数字で見る
==================================*/
.sec_number_about,.sec_number_stuff {
  display: grid;
  grid-template-columns: repeat(4, 1fr); 
  gap: .5em;
  list-style: none;
  padding: 0;
  margin: 0;
}
.sec_number_about li:nth-child(3),
.sec_number_about li:nth-child(4),
.sec_number_about li:nth-child(5),
.sec_number_about li:nth-child(6),
.sec_number_about li:nth-child(7) {
  grid-column: span 2; 
}
.sec_number_stuff li:nth-child(1),
.sec_number_stuff li:nth-child(4),
.sec_number_stuff li:nth-child(5),
.sec_number_stuff li:nth-child(6),
.sec_number_stuff li:nth-child(7) {
  grid-column: span 2; 
}
}
/*==================================
PC iPad landscape ~
==================================*/
@media screen and (min-width: 960px) {
	img {
		image-rendering: -webkit-optimize-contrast;
	}
	/*#contents {
	margin: 0 auto 40px;
	width: 96%;
	max-width: 1090px;
	padding: 48px 36px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
	#contents::after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: "";
	clear: both;
	height: 0;
}*/
	#form_contents {
		width: 720px;
		margin: 0 auto;
	}
	#main {
		z-index: -1;
		/*float: right;
		width: 74%;
		max-width: 720px;*/
	}
	#sidebar {
		display: block;
		float: left;
		padding:16px;
	}
	#sidebar > div {
		width: 100%;
	}
	/* img */
	.img_left {
		margin: 0 16px 16px 0;
		float: left;
	}
	.img_right {
		margin: 0 0 16px 16px;
		float: right;
	}
	.side_fixed_menu {
		width: 100%;
	}
	/*下層*/
	#page_contents {
		margin: 30px auto 40px;
		width: 96%;
		max-width: 1090px;
		padding: 0 36px;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		margin: 45px auto 0;
		max-width: 1090px;
	}
	#page_contents #main{
		margin: 0 auto 40px;
		padding: 48px 36px;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		/* width: 94%; */
		max-width: 1000px;
	}
	/* 下層固定ページ */
	#page .h_style01{
		padding-top: 72px;
	}
}


/*==================================
PC Wide
==================================*/
@media screen and (min-width:1200px){
	#contents h2 span {
		font-size: clamp(18px, 4.60358vw, 36px);
	}
	
}
@media screen and (min-width: 1240px) {
	body {
		min-width: 1240px;
		max-width: none;
	}
	#main {
		padding: 0;
	}
	.side_fixed_menu {
		width: 100%;
	}
}
@media screen and (min-width: 1400px) {
	/*共通*/
	header .logo_wrap {
		margin-left: 11.66667vw;
	}
	#contents h2 img {
		height: auto;
	}
	h2 span {
		font-size: 40px;
	}
	/**/
	a.btn_flat {
		width: 160px;
	}
	a.btn_flat:before {
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-89%) translateY(-18%) rotate(45deg);
	}
	a.btn_flat:hover:before {
		-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
		transform: translateX(-9%) translateY(-25%) rotate(45deg);
	}
	.h_nav {
		/**/
		/**/
	}
	.h_nav .hamburger_menu {
		width: 68px;
		/* お好みのサイズに */
		height: 68px;
		/* お好みのサイズに */
	}
	.h_nav .hamburger_menu span:nth-of-type(1) {
		top: 30px;
	}
	.h_nav .hamburger_menu span:nth-of-type(2) {
		top: 40px;
	}
	.h_nav .hamburger_menu.active span:nth-of-type(1) {
		top: 35px;
		left: 30%;
	}
	.h_nav .hamburger_menu.active span:nth-of-type(2) {
		top: 35px;
		left: 30%;
	}
	.main_img > img {
		width: 100%;
	}
	.main_img .eyecatch-inner {
		top: 3.95833vw;
		padding-right: 80px;
	}
	.main_img .eyecatch-inner:before {
		width: 63.17708vw;
		height: 0;
		padding-top: 70%;
		background: url(image/top/fv_text_bg.png) no-repeat right center;
		background-size: 100% 100%;
	}
	.main_img .text {
		margin-top: 12.1875vw;
		width: 51.77083vw;
	}

	#contents .top_about {
		padding: 200px 0;
	}
	#contents .top_about .about_list {
		justify-content: flex-end;
		margin-top: -310px;
		padding: 0;
	}
	#contents .top_about .about_list li {
		height: 290px;
		/*width: 30%;*/
		width: 29.6875vw;
	}
	#contents .top_about .about_list li .text {
		font-size: 24px;
	}
	#contents .top_about .about_list li .text .bottom_text {
		margin-top: 20px;
		letter-spacing: 0.12em;
		font-size: clamp(20px, 1.97917vw, 38px);
	}
	#contents .top_about .about_list li .btn_arrow {
		margin-left: 0;
	}
	#contents .top_about .about_list li .btn_arrow:before {
		border-width: 8px 0 8px 12px;
		letter-spacing: 0.12em;
	}
	#contents .top_technique {
		padding: 80px 0 180px;
	}
	#contents .top_technique .technique_list li {
		width: 30%;
	}
	#contents .top_technique .technique_list li .text .technique_btn {
		width: 38px;
		height: 38px;
	}
	#contents .top_technique .technique_list li .text .technique_btn:before {
		border-width: 8px 0 8px 13px;
	}
	#contents .top_gaiyo .about_pic {
		width: 50%;
		height: auto;
	}
	#contents .top_gaiyo .about_pic:before {
		height: 113%;
	}
	#contents .top_gaiyo .text_wrap {
		width: 50%;
		padding: 70px;
		margin-top: 0;
	}
	#contents .top_gaiyo .text_wrap .title {
		font-size: 32px;
	}
	#contents .top_gaiyo .text_wrap .text {
		font-size: 16px;
		margin: 26px 0 60px;
	}
	#contents .top_gaiyo .text_wrap .btn_wrap {
		justify-content: center;
		gap: 34px;
		margin-left: 50px;
		font-size: 24px;
	}
	#contents .top_gaiyo .text_wrap .btn_wrap .gaiyo_btn{
		width:250px;
	}
	#contents .top_gaiyo .text_wrap .btn_wrap .gaiyo_btn:before {
		transition: all 0.5s ease-in-out;
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-85%) translateY(-18%) rotate(45deg);
	}
	#contents .top_gaiyo .text_wrap .btn_wrap .gaiyo_btn:hover:before {
		-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
		transform: translateX(-9%) translateY(-25%) rotate(45deg);
	}
	#contents .top_gaiyo .text_wrap .btn_wrap .daihyo_btn {
		padding: 28px 0;
		width:250px;
	}
	#contents .top_gaiyo .text_wrap .btn_wrap .daihyo_btn:before {
		transition: all 0.5s ease-in-out;
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-85%) translateY(-18%) rotate(45deg);
	}
	#contents .top_gaiyo .text_wrap .btn_wrap .daihyo_btn:hover:before {
		-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
		transform: translateX(-9%) translateY(-25%) rotate(45deg);
	}
	#contents .top_gaiyo .sheep {
		bottom: -56px;
		left: 70px;
		max-width: 172px;
	}
	#contents .top_interview .interview_list {
		flex-wrap: nowrap;
		margin-bottom: 0;
		justify-content: center;
	}
	#contents .top_interview .interview_list li .label_text {
		bottom:6.4vw;
	}
	#contents .top_interview .interview_list li:first-of-type > a img{
		bottom:-1.3vw;
	}
	#contents .top_interview .interview_list li:nth-of-type(2) > a img{
		bottom:-1.3vw;
	}
	#contents .top_interview .interview_list li:nth-of-type(3) > a img{
		bottom:-1.2vw;
	}
	#contents .top_interview .interview_list li .name {
		font-size: 30px;
		margin-top: 30px;
	}
	#contents .top_interview .interview_list li .name span {
		font-size: 18px;
	}
	#contents .top_interview .btn {
		font-size: 24px;
		padding: 28px 0;
	}
	#contents .top_interview .btn:before {
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-82%) translateY(-18%) rotate(45deg);
	}
	#contents .top_news {
		padding: 180px 0 190px;
	}
	#contents .top_news .sheep {
		max-width: 165px;
	}
	#contents .top_news .bg {
		z-index: 5;
	}
	#contents .top_news .news_list {
		padding: 60px 95px;
	}
	#contents .top_news .news_list li a {
		flex-wrap: nowrap;
		padding-bottom: 10px;
	}
	#contents .top_news .news_list li a .category {
		margin: 0 8px 0 4px;
	}
	#contents .top_news .news_list li a .title {
		font-size: 15px;
	}
	#contents .top_news .btn {
		font-size: 24px;
		padding: 28px 0;
	}
	#contents .top_news .btn:before {
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-82%) translateY(-18%) rotate(45deg);
	}
	#contents .top_link {
		padding: 100px 0 170px;
	}
	#contents .top_link .text {
		margin-bottom: 54px;
		font-size: 24px;
	}
	#contents .top_link .link_list {
		gap: 50px;
		flex-wrap: nowrap;
	}
	#contents .top_link .link_list .btn {
		font-size: 30px;
		padding: 28px 0;
	}
	#contents .top_link .link_list .btn:before {
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-86%) translateY(-18%) rotate(45deg);
	}
	#contents .top_link .link_list .btn:hover:before {
		-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
		transform: translateX(-9%) translateY(-25%) rotate(45deg);
	}
	#contents .top_link .link_list .line_btn:before {
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-86%) translateY(-18%) rotate(45deg);
	}
	#contents .top_link .link_list .entry_btn:before {
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-86%) translateY(-18%) rotate(45deg);
	}
	#contents .top_link .sheep {
		right: 10.9375vw;
		bottom: -42px;
		width: 8.85417vw;
	}
	footer {
		padding: 100px 0 0;
	}
	footer .f_wrap {
		flex-wrap: nowrap;
		justify-content: flex-start;
	}
	footer .f_wrap .left .f_title {
		margin-left: 22%;
		text-align: left;
	}
	footer .f_wrap .btn_wrap {
		font-size: 18px;
	}
	footer .f_wrap .btn_wrap .btn {
		padding: 22px 0;
	}
	footer .f_wrap .btn_wrap .btn:before {
		transition: all 0.5s ease-in-out;
		-webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
		transform: translateX(-75%) translateY(-18%) rotate(45deg);
	}
	footer .f_wrap .btn_wrap .btn:hover:before {
		-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
		transform: translateX(-9%) translateY(-11%) rotate(45deg);
	}
	footer .f_wrap .right {
		width: auto;
	}
	footer .f_wrap .right iframe {
		width: 690px;
		height: 300px;
	}
	
}
