@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
:root{
	--MAINCOLOR:rgb(196,153,97);
	--SUBCOLOR:rgb(0,102,51);
	--COLOR1:rgb(51,102,204);
	--COLOR2:rgb(186,200,198);
	--WHITE:rgb(255,255,255);
	--FONT:rgb(21,12,21);
}
.flash{-webkit-animation:blink 2s ease-in-out infinite alternate;-moz-animation:blink 2s ease-in-out infinite alternate;animation:blink 2s ease-in-out infinite alternate;}

body{background:var(--WHITE);color:var(--FONT);overflow-x:hidden;}

div.d{height:10000px;}


/*.logo-header{padding:0;}
.logo-header .site-name::after {
    content: '';
    font-size: 25px;
	color:var(--WHITE);
	display:inline-block;
	vertical-align:top;
} 
.logo-text{padding:0;margin:0;}*/
.content-in{padding-bottom:0;margin-bottom:-5em;}
.eye-catch-wrap{display:none;}

.article.pc{margin-top:-3em;background:none!important;}
.container.pc{background:transparent!important;}

.,small{font-size:75%!important;}
.smaller{font-size:85%!important;}
.big{font-size:125%!important;}
.bigger{font-size:110%!important;}
.bolder{font-weight:bolder;}
.bold{font-weight:700;}
.red{color:rgb(255,0,70);}
.white{color:rgb(255,255,255);}
.blue{color:rgb(102,153,255);}
.royalblue{color:rgb(65,105,225);}
.black{color:rgb(21,12,21);}
.green{color:rgb(50,205,50);}
.dgreen{color:rgb(0,100,0);}
.yellow{color:rgb(255,255,224);}
.pink{color:rgb(242,98,132);}
.apricot{color:rgb(247,185,119);}
.mintgreen{color:rgb(120,204,198);}
.lefts{text-align:left!important;}
.centers{text-align:center!important;}
.rights{text-align:right!important;}
.bgnone{background:transparent!important;}
.noborder{border:0!important;border-radius:0!important;box-shadow:none!important;}
.br05{border-radius:0.5em!important;}
.mb01{margin-bottom:0.1em!important;}
.mb02{margin-bottom:0.2em!important;}
.mb03{margin-bottom:0.3em!important;}
.mb05{margin-bottom:0.5em!important;}
.mb2{margin-bottom:2em!important;}
.mb5{margin-bottom:5em!important;}
.mt05{margin-top:0.5em!important;}
.mt02{margin-top:0.2em!important;}
.mt1{margin-top:1em!important;}
.mr1{margin-right:1em!important;}
.mb1{margin-bottom:1em!important;}
.ml1{margin-left:1em!important;}
.m0{margin:0!important;}
.mt0{margin-top:0!important;}
.mr0{margin-right:0!important;}
.mb0{margin-bottom:0!important;}
.ml0{margin-left:0!important;}
.p0{padding:0!important;}
.pt0{padding-top:0!important;}
.pr0{padding-right:0!important;}
.pb0{padding-bottom:0!important;}
.pl0{padding-left:0!important;}
.pt05{padding-top:0.5em!important;}
.pr05{padding-right:0.5em!important;}
.pb05{padding-bottom:0.5em!important;}
.pl05{padding-left:0.5em!important;}
.pt1{padding-top:1em!important;}
.pb1{padding-bottom:1em!important;}
.pr1{padding-right:1em!important;}
.pl1{padding-top:1em!important;}
.prl05{padding-right:0.5em!important;padding-left:0.5em!important;}
.prl1{padding-right:1em!important;padding-left:1em!important;}
.ptb05{padding-top:0.5em!important;padding-bottom:0.5em!important;}
.ptb1{padding-top:1em!important;padding-bottom:1em!important;}
.pa05{padding:0.5em!important;}
.pa1{padding:1em!important;}
.all0{margin:0!important;padding:0!important;}
.br05{border-radius:0.5em!important;}
.block{display:block!important;}
.decimalinput{text-align:right;}
.pointer{cursor:pointer!important;}

div.textswrapper{position:relative;padding:1em!important;background:transparent;padding:0.5em 0 0.5em 0;margin-bottom:2em;}
div.textswrapper:before,div.textswrapper:after{content:"";position:absolute;display:inline-block;width:100%;height:1.2em;}
div.textswrapper:before{top:0;left:0;border:0.15em solid var(--COLOR2);border-bottom:0;}
div.textswrapper:after{bottom:0;right:0;border:0.15em solid var(--COLOR2);border-top:0;}
div.textswrapper.none:before,div.textswrapper.none:after{content:"";width:0;height:0;border:0;}
div.texts{position:relative;padding:0 1em 0 1em;margin-bottom:1em;}

div.sitelayout.pc{padding:0 2em 0 2em;}
div.sitelayout.sp{padding:0;}

div.filter{z-index:9999;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:100%;background:rgb(255,255,255);}
div.cover{position:relative;width;100%;padding:0;margin:0 auto;}

div.boxlayout{position:relative;width:100%;text-align:center;margin-bottom:1em;}
div.boxlayout div{position:relative;display:inline-block;text-align:left;vertical-align:top;}
div.boxlayout.pc div.outer{width:48%;}
div.boxlayout.sp div.outer{width:98%;}
div.boxlayout div div{display:block;}

div.flowbox{position:relative;display:flex;width:100%;overflow-x:scroll!important;}
div.flowbox div{position:relative;flex-shrink:0;margin:0.25em;padding:0.25em;text-align:center;cursor:pointer;}
div.flowbox.pc div.skin{width:30%;}
div.flowbox.sp div.skin{width:60%;}
div.flowbox div div{display:block;width:100%;}
div.flowbox div div.images{margin-bottom:0.5em;}
div.flowbox div div.images img{width:100%;object-fit:contain;}
div.flowbox.pc div div.images img{height:12em;}
div.flowbox.sp div div.images img{height:8em;}

div.rowset{margin-bottom:1em;}
div.rowset div{width:inherit;display:block;}
div.rowset div.title{margin-bottom:0.5em;}
div.rowset div.content{padding:0 0.5em 0 0.5em;margin-bottom:1em;}
div.rowset div.title span{display:inline-block;border-bottom:0.15em dotted var(--MAINCOLOR);padding:0.25em 0.5em 0.25em 0.5em;color:var(--MAINCOLOR);}

div.formbutton{position:relative;margin:0 auto;width:50%!important;text-align:center;}
div.formbutton input[type=submit]{width:100%;cursor:pointer;background:var(--MAINCOLOR);color:var(--WHITE);border-radius:0.5em;}
div.formbutton input[type=submit]:hover{opacity:0.7;}

div.mailframe{padding:0 1em 0 1em;}

div.imageblock{margin-bottom:1em;text-align:center;}
div.imageblock div{display:inline-block!important;margin:0.2em;}
div.imageblock div img{width:100%;height:auto;}
div.imageblock.pc div.one{width:70%;}
div.imageblock.pc div.one.narrow{width:30%;}
div.imageblock.sp div.one{width:80%;}
div.imageblock div.one.full{width:100%;}
div.imageblock div.two{width:45%;}
div.imageblock.pc div.two1{width:45%;}
div.imageblock.sp div.two1{width:75%;}
div.imageblock div.two2{width:40%;}

div.underline{font-size:1.05em;margin-bottom:1em;padding:0.25em;border-bottom:0.15em solid var(--MAINCOLOR);color:var(--MAINCOLOR);}

h2.heading{padding:0.25em;margin-bottom:1em;border-left:1em solid var(--MAINCOLOR);color:var(--MAINCOLOR);background:none;font-weight:500;}
h3.heading{padding:0.25em;margin-bottom:1em;color:var(--MAINCOLOR);border:0;border-top:0.05em solid var(--MAINCOLOR);border-bottom:0.1em solid var(--MAINCOLOR);background:none;}

/* 追加CSSここから */

/* reset_CSS */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}


/* Springs_CSS */
html{
	font-size: 62.5%;
	color: #442222;
}

body{
	font-family: "Noto Sans JP", sans-serif;
}
h1{
	font-size: 4.8rem;
	font-weight: 700;
	line-height: 1.2;
}
h2{
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
p{
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.8;
}
li{
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.8;
}
a{
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.8;
}
small{
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.2;
}
.wrap{
	width: 100%;
}
.main{
	padding-right: 0;
	padding-left: 0;
}

/* header */
.header_container{
	background-color: #FFF;
	border-radius: 20px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
	width: 80%;
	max-width: 480px;
	height: 80px;
	position: fixed;
	top: 24px;
	left: 50%;
	z-index: 100;
	transform: translateX(-50%);
	display: flex;
	justify-content: flex-end;
	align-items: center;
	overflow: hidden;
}
.header_title{
	height: 48px;
}
.header_title img{
	object-fit: contain;
}
.header_menubtn{
	background-color: #266626;
	width: 80px;
	height: 100%;
	cursor: pointer;
}
.header_menubtn:hover{
	opacity: 0.6;
}

/* footer */
.footer_cttbtn{
	width: 160px;
	height: 160px;
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 999;
}
.footer_cttbtn a{
	display: block;
	width: 100%;
	height: 100%;
}
.footer_cttbtn img{
	width: 160px;
	height: 160px;
	filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.4));
}
.footer_cttbtn img:hover{
	opacity: 0.6;
}
.footer_container{
	background-color: #E2EAB4;
	padding: 40px 24px 18px 24px;
	display: grid;
	place-content: center;
}
.footer_navi{
	display: grid;
	place-content: center;
	margin-bottom: 48px;
}
.footer_navi ul{
	list-style: none;
	padding-left: 0;
	display: flex;
	justify-content: space-between;
	gap: 16px;
}
.footer_navi a{
	text-decoration: none;
	color: #442222;
}
.footer_navi a:hover{
	opacity: 0.6;
}
.footer_navi_icon{
	width: 28px;
	height: 28px;
	vertical-align: middle;
}
.footer_navi_text{
	font-weight: 700;
	font-size: 1.6rem;
}
.footer_contact{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 24px;
	margin-bottom: 48px;
}
.footer_contact_title p{
	font-weight: 700;
	line-height: 1.2;
}
.footer_contact_title span{
	font-size: 3.2rem;
}
.footer_contact_address p{
	font-size: 1.2rem;
}
.footer_contact_ctt{
	display: flex;
	gap: 12px;
}
.footer_contact_btn{
	background-color: #266626;
	height: 48px;
	width: 160px;
	border-radius: 24px;
}
.footer_contact_btn:hover{
	opacity: 0.6;
}
.footer_contact_btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: #FFF;
	font-weight: 700;
}
.footer_contact_btn img{
	width: 28px;
	height: 28px;
	vertical-align: middle;
}
.footer_contact_sns{
	height: 48px;
	display: flex;
	gap: 12px;
}
.footer_contact_sns img{
	width: 48px;
	height: 48px;
}
.footer_contact_sns img:hover{
	opacity: 0.6;
}
.copyright{
	text-align: center;
}

/* toppage */
.top_hero{
	background-color: #E5FBFF;
	background-image: url("https://springs-job.com/wp-content/uploads/2025/03/springs_mainvisual_foot.png"),url("https://springs-job.com/wp-content/uploads/2025/03/springs_mainvisual.jpg");
	background-repeat: repeat-x, no-repeat;
	background-position: bottom, center;
	background-size: auto 50px, cover;
	width: 100%;
	height: 100vh;
	display: grid;
	place-content: center;
	margin: 0;
}
.top_hero_logo{
	width: 100%;
	max-width: 800px;
	height: auto;
	text-align: center;
}
.top_hero_logo img{
	width: 100%;
	height: auto;
	object-fit: contain;
}

.top_container{
	background-color: #E5FBFF;
	background-image: url("https://springs-job.com/wp-content/uploads/2025/03/springs_footervisual.png");
	background-repeat: repeat-x;
	background-position: bottom;
	background-size: auto 120px;
	margin: 0;
	padding: 0 40px;
	display: grid;
	place-content: center;
}

.top_philosophy{
	text-align: center;
	margin-bottom: 70px;
	background-image: url("https://springs-job.com/wp-content/uploads/2025/03/springs_top_contents_clouds.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
    width: 100vw;
}
.top_philosophy h2{
	margin-top: 80px;
	margin-bottom: 40px;
	color: #442222;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.1em;
    padding: 0;
	background-color: transparent;
}
.top_philosophy p{
	font-size: 2.4rem;
	color: #442222;
	font-weight: 400;
	line-height: 1.8;
}
.top_banner{
	width: calc(100% - 32px);
	max-width: 960px;
	margin: 0 auto;
	margin-bottom: 160px;
}
.top_banner_link{
	width: 100%;
	height: auto;
	border: solid 2px #442222;
	border-radius: 20px;
	margin-bottom: 40px;
}
.top_banner_link:last-child{
	margin-bottom: 0;
}
.top_banner_link:hover{
	opacity: 0.6;
}
.top_banner_link img{
	border-radius: 20px;
}
.top_access{
	width: calc(100% - 32px);
	max-width: 960px;
	height: auto;
	background-color: #FFF;
	border: solid 2px #442222;
	border-radius: 20px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	overflow: hidden;
}
.top_access_address{
	margin-left: 32px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.top_access_address h2{
	color: #442222;
	font-size: 3.2rem;
	font-weight: 700;
	padding: 0;
	background-color: transparent;
	margin-bottom: 0;
}
.top_access_address p{
	color: #442222;
	margin-bottom: 0;
}
.top_access_map{
	position: relative;
	width: 100%;
	max-width: 560px;
	height: 0;
	padding-top: 560px;
}
.top_access_map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* page */
.page_title{
	background-image: url("https://springs-job.com/wp-content/uploads/2025/05/springs_titleback.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	margin: 0;
	height: 160px;
	display: grid;
	place-content: center;
}
.page_title h1{
	font-size: 4rem;
	letter-spacing: 0.1em;
	text-align: center;
	margin: 0;
}
.page_back{
	background-color: #E5FBFF;
	background-image: url("https://springs-job.com/wp-content/uploads/2025/03/springs_footervisual.png");
	background-repeat: repeat-x;
	background-position: bottom;
	background-size: auto 120px;
	display: grid;
	place-content: center;
}
.page_container{
	max-width: 960px;
	margin: 0;
	padding: 120px 0 160px 0;
}
.article .heading_decoration{
	font-size: 3.2rem;
	letter-spacing: 0;
	text-align: center;
	display: flex;
	gap: 0.5em;
	justify-content: center;
	align-items: center;
	margin: 0;
	background: transparent;
}
.heading_decoration::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 80px;
	height: 48px;
	background-image: url("https://springs-job.com/wp-content/uploads/2025/05/springs_headL.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.heading_decoration::after{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 80px;
	height: 48px;
	background-image: url("https://springs-job.com/wp-content/uploads/2025/05/springs_headR.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* about */
.about_preface{
	margin-bottom: 120px;
}
.about_preface_container{
	display: flex;
	gap: 40px;
	align-items: center;
	margin-bottom: 40px;
}
.about_preface_container:last-child{
	margin-bottom: 0;
	flex-direction: row-reverse;
}
.about_preface_container p{
	font-size: 2rem;
	line-break: strict;
	text-align: justify;
	margin: 0;
}
.about_preface_ct_img{
	width: 100%;
	max-width: 360px;
	height: fit-content;
	aspect-ratio: 1 / 1; 
}

.about_target{
	margin-bottom: 120px;
}
.about_target > p{
	font-size: 1.8rem;
	margin-bottom: 24px;
}
.about_target_container{
	display: flex;
	gap: 48px;
}
.about_target_ct_box{
	width: 100%;
	background-color: #FFF;
	border: solid 2px #442222;
	border-radius: 24px;
	padding: 32px;
	display: grid;
	place-content: center;
}
.about_target_ct_box p{
	font-size: 2rem;
	font-weight: 500;
	text-align: center;
	word-break: keep-all;
	overflow-wrap: anywhere;
	margin: 0;
}

.about_person{
	margin-bottom: 120px;
}
.about_person > p{
	font-size: 1.8rem;
	margin: 0;
}
.about_person_container_top{
	display: flex;
	gap: 48px;
	margin-bottom: 40px;
}
.about_person_container_bottom{
	display: flex;
	gap: 24px;
	margin-bottom: 40px;
}
.about_person_ct_box{
	width: 100%;
	background-color: #FFF;
	border: solid 2px #442222;
	border-radius: 24px;
	padding: 24px;
	display: grid;
	place-content: center;
}
.about_person_ct_box p{
	font-size: 1.6rem;
	text-align: center;
	word-break: keep-all;
	overflow-wrap: anywhere;
	margin: 0;
}
.about_person_ct_box .about_person_ct_box_em{
	font-size: 2.4rem;
	font-weight: 500;
}
.about_person_container_top .about_person_ct_box_em{
	margin-bottom: 0.5em;
}

.about_wages{
	margin-bottom: 120px;
}
.about_wages_container{
	display: flex;
	gap: 40px;
	align-items: center;
}
.about_wages_container p{
	font-size: 2rem;
	line-break: strict;
	text-align: justify;
	margin: 0;
}
.about_wages_ct_img{
	width: 100%;
	max-width: 360px;
	height: fit-content;
	aspect-ratio: 1 / 1; 
}

.about_flow{
	margin-bottom: 120px;
}
.about_flow_container{
	display: grid;
	grid-template-columns: auto auto;
	gap: 40px;
	justify-content: center;
}
.about_flow_ct_box{
	max-width: 320px;
}
.about_flow_ct_box img{
	width: 100%;
	max-width: 320px;
	height: fit-content;
	aspect-ratio: 1 / 1;
	margin-bottom: 16px;
}
.about_flow_ct_box_para{
	margin: 0;
	padding: 0 16px;
	background-color: #FFF;
	height: 160px;
	border: solid 2px #442222;
	border-radius: 24px;
	display: grid;
	place-content: center;
	position: relative;
}
.about_flow_ct_box_para::before{
	content: "";
	width: 24px;
	height: 24px;
	background-color: #442222;
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translateX(-50%);
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.about_flow_ct_box_para::after{
	content: "";
	width: 24px;
	height: 24px;
	background-color: #FFF;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.about_flow_ct_box_para p{
	font-size: 2.4rem;
	font-weight: 500;
	text-align: center;
	word-break: keep-all;
	overflow-wrap: anywhere;
	margin: 0;
}
.about_QandA_container{
	margin-bottom: 40px;
}
.about_QandA_container:last-child{
	margin-bottom: 0;
}
.about_QandA_ct_Q{
	display: flex;
	gap: 24px;
	padding: 16px 40px;
	background-color: #E2EAB4;
	border-radius: 24px 24px 0 0;
	align-items: center;
}
.about_QandA_ct_Q img{
	width: 100%;
	max-width: 128px;
	height: fit-content;
	aspect-ratio: 1 / 1;
}
.about_QandA_ct_Q p{
	font-size: 2.4rem;
	font-weight: 500;
	margin: 0;
}
.about_QandA_ct_A{
	display: flex;
	gap: 24px;
	padding: 40px;
	background-color: #FFF;
	border: solid 2px #E2EAB4;
	border-top: none;
	border-radius: 0 0 24px 24px;
	align-items: center;
}
.about_QandA_ct_A img{
	width: 100%;
	max-width: 128px;
	height: fit-content;
	aspect-ratio: 1 / 1;
}
.about_QandA_ct_A p{
	font-size: 1.8rem;
	line-break: strict;
	text-align: justify;
	margin: 0;
}

/* contact */
/* tableスタイル打消し */
.contact_para{
	width: 100%;
}
.contact_para p{
	margin-bottom: 0;
}
.contact_form{
	width: 100%;
}
.contact_form p{
	margin-bottom: 0;
}
.contact_form_table{
	width: 100%;
}
.contact_form_table th, .contact_form_table td{
	padding: 0;
	border: none;
}
.contact_form_table th{
	background-color: transparent;
}
.contact_form input[type=submit]{
	border: none;
}
/* tableスタイル打消しここまで */

.contact_para{
	margin-bottom: 24px;
}
.contact_form_table tr{
	display: grid;
	grid-template-columns: 1fr 3fr;
	background-color: #E2EAB4!important;
	align-items: center;
	padding: 16px;
	width: 100%;
	max-width: 960px;
	border-radius: 24px;
	margin-bottom: 16px;
}
.contact_form_table th > p{
	font-weight: 500;
}
.contact_form input[type=submit]{
	background-color: #442222;
	color: #FFF;
	font-size: 2rem;
	padding: 1em;
	border-radius: 200px;
}

/* gallery */
.gallery_container{
	margin-bottom: 120px;
}
.gallery_container:first-child{
	margin-bottom: 160px;
}
.gallery_container:last-child{
	margin-bottom: 0;
}

.gallery_container_topimg{
	display: block;
	margin: 0 auto;
	margin-bottom: 40px;
}
.gallery_container_toppara{
	text-align: center;
	font-size: 2rem;
}

.article .gallery_container_heading{
	margin-bottom: 24px;
}

.gallery_container_part{
	display: flex;
	gap: 40px;
	align-items: center;
	margin-bottom: 64px;
}
.gallery_container_part:nth-of-type(2n){
	flex-direction: row-reverse;
}
.gallery_container_part_img{
	width: 100%;
	max-width: 360px;
	height: fit-content;
	aspect-ratio: 1 / 1; 
}
.gallery_container_part_speech{
	padding: 40px;
	background-color: #FFF;
	border: solid 2px #442222;
	border-radius: 24px;
	position: relative;
}
.speech_L::before{
	content: "";
	width: 24px;
	height: 24px;
	background-color: #442222;
	position: absolute;
	top: 50%;
	left: -24px;
	transform: translateY(-50%);
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
.speech_L::after{
	content: "";
	width: 24px;
	height: 24px;
	background-color: #FFF;
	position: absolute;
	top: 50%;
	left: -20px;
	transform: translateY(-50%);
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
.speech_R::before{
	content: "";
	width: 24px;
	height: 24px;
	background-color: #442222;
	position: absolute;
	top: 50%;
	right: -24px;
	transform: translateY(-50%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.speech_R::after{
	content: "";
	width: 24px;
	height: 24px;
	background-color: #FFF;
	position: absolute;
	top: 50%;
	right: -20px;
	transform: translateY(-50%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.article .gallery_container_part_title{
	font-size: 2.4rem;
	border: none;
	padding: 0;
	margin: 0;
	margin-bottom: 1.2em;
}
p.gallery_container_part_para{
	line-break: strict;
	text-align: justify;
	margin: 0;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*960px以下*/
@media screen and (max-width: 960px){
  /*必要ならばここにコードを書く*/
	.page_container{
		padding: 120px 24px 160px 24px;
	}
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
	.main{
		padding: 0!important;
	}
	.top_hero{
		height: 40vh;
		min-height: 280px;
		display: flex;
		align-items: center;
	}
	.top_hero_logo{
		width: 60%;
		min-width: 200px;
	}
	.top_access{
		margin: 0 16px 96px 16px;
		flex-direction: column;
		justify-content: start;
		align-items: start;
	}
	.top_access_address{
		margin-top: 24px;
		margin-bottom: 24px;
		margin-left: 24px;
	}
	.top_access_map{
		max-width: 100%;
		padding-top: 280px;
	}
	
	.gallery_container_part{
		flex-direction: column;
		gap: 24px;
	}
	.gallery_container_part:nth-of-type(2n){
		flex-direction: column;
	}
	.gallery_container_part_speech::before{
		content: "";
		width: 24px;
		height: 24px;
		background-color: #442222;
		position: absolute;
		top: -24px;
		left: 50%;
		transform: translateX(-50%);
		clip-path: polygon(50% 0, 100% 100%, 0 100%);
	}
	.gallery_container_part_speech::after{
		content: "";
		width: 24px;
		height: 24px;
		background-color: #FFF;
		position: absolute;
		top: -20px;
		left: 50%;
		transform: translateX(-50%);
		clip-path: polygon(50% 0, 100% 100%, 0 100%);
	}

}

/*640px以下*/
@media screen and (max-width: 640px){
  /*必要ならばここにコードを書く*/
	.page_title{
		height: 120px;
	}
	.page_title h1{
		font-size: 3.2rem;
	}
	.page_back{
		background-size: auto 80px;
	}
	.page_container{
		padding: 80px 24px 120px 24px;
	}
	.article .heading_decoration{
		font-size: 2.4rem;
	}
	
	.about_preface{
		margin-bottom: 80px;
	}
	.about_preface_container{
		gap: 24px;
		flex-direction: column;
		margin-bottom: 40px;
	}
	.about_preface_container:last-child{
		margin-bottom: 0;
		flex-direction: column;
	}
	.about_preface_container p{
		font-size: 1.8rem;
	}
	.about_preface_ct_img{
		width: 100%;
	}
	
	.about_target{
		margin-bottom: 80px;
	}
	.about_target > p{
		font-size: 1.6rem;
		margin-bottom: 20px;
	}
	.about_target_container{
		gap: 18px;
		flex-direction: column;
	}
	.about_target_ct_box{
		padding: 18px;
	}
	.about_target_ct_box p{
		font-size: 1.8rem;
	}
	
	.about_person{
		margin-bottom: 80px;
	}
	.about_person > p{
		font-size: 1.6rem;
		margin: 0;
	}
	.about_person_container_top{
		flex-direction: column;
		gap: 18px;
		margin-bottom: 18px;
	}
	.about_person_container_bottom{
		flex-direction: column;
		gap: 18px;
		margin-bottom: 24px;
	}
	.about_person_ct_box{
		padding: 18px;
	}
	.about_person_ct_box p{
		font-size: 1.4rem;
	}
	.about_person_ct_box .about_person_ct_box_em{
		font-size: 2rem;
	}
	
	.about_wages{
		margin-bottom: 80px;
	}
	.about_wages_container{
		flex-direction: column;
		gap: 18px;
	}
	.about_wages_container p{
		font-size: 1.8rem;
	}
	.about_wages_ct_img{
		width: 100%;
	}
	
	.about_flow{
		margin-bottom: 80px;
	}
		.about_flow_container{
		grid-template-columns: auto;
		gap: 24px;
	}
	.about_flow_ct_box_para{
		height: 120px;
	}
	.about_flow_ct_box_para p{
		font-size: 2rem;
	}
	
	.about_QandA_container{
		margin-bottom: 24px;
	}
	.about_QandA_container:last-child{
		margin-bottom: 0;
	}
	.about_QandA_ct_Q{
		flex-direction: column;
		gap: 16px;
		padding: 18px;
		align-items: flex-start;
	}
	.about_QandA_ct_Q img{
		max-width: 80px;
	}
	.about_QandA_ct_Q p{
		font-size: 2rem;
	}
	.about_QandA_ct_A{
		flex-direction: column;
			gap: 16px;
			padding: 18px;
			align-items: flex-end;
	}
	.about_QandA_ct_A img{
		max-width: 80px;
	}
	.about_QandA_ct_A p{
		font-size: 1.6rem;
	}
	
	.contact_form_table tr{
		grid-template-columns: auto;
	}
	.contact_form_table th{
		margin-bottom: 8px;
	}
	.contact_form_table th > p{
		text-align: start;
	}
	
	.gallery_container{
		margin-bottom: 80px;
	}
	.gallery_container:first-child{
		margin-bottom: 80px;
	}
	.gallery_container:last-child{
		margin-bottom: 0;
	}
	.gallery_container_topimg{
		margin-bottom: 24px;
	}
	.gallery_container_toppara{
		text-align: left;
		font-size: 1.8rem;
	}
	.article .gallery_container_heading{
		margin-bottom: 16px;
	}
	.gallery_container_part_speech{
		padding: 24px;
	}
	.article .gallery_container_part_title{
		font-size: 1.8rem;
	}

}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
	.footer_cttbtn{
		width: 96px;
		height: 96px;
	}
	.footer_cttbtn img{
		width: 96px;
		height: 96px;
	}
	.top_container{
		padding: 40px 16px 16px 16px;
	}
	.top_philosophy{
		margin-bottom: 64px;
	}
	.top_philosophy h2{
		font-size: 2.4rem;
		margin-bottom: 24px;
	}
	.top_philosophy p{
		font-size: 1.6rem;
	}
	.top_banner{
		margin-bottom: 64px;
	}
	.top_banner_link{
		margin-bottom: 24px;
	}
	.top_banner_link:last-child{
		margin-bottom: 0;
	}
	
	.page_title{
		height: 96px;
	}
	.page_title h1{
		font-size: 2.4rem;
	}
	.article .heading_decoration{
		font-size: 2rem;
	}
	.heading_decoration::before{
		width: 40px;
		height: 24px;
	}
	.heading_decoration::after{
		width: 40px;
		height: 24px;
	}
}
