@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Rasa');
@import url('https://fonts.googleapis.com/css?family=Open+Sans');
@import url('https://fonts.googleapis.com/css?family=Kosugi+Maru');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap');

/*!
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
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/

.mincho-text {
  font-family: serif;
}

/********* HTML再定義 ****/

html {
	-ms-text-size-adjust: 100%;
  text-box-trim: trim-both;
}
body {
	line-height: 180%;
	letter-spacing: 0px;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	width: 100%;
	min-height: 100%;
	padding: 0;
	margin: 0 auto;
  text-box-trim: trim-both;
}
body {	
/* font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;*/
font-family: "Droid Sans","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Roboto, Verdana, sans-serif;
  text-box-trim: trim-both;
}



.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
article h2,
article h3,
article h4,
article h5 {
  margin: 0;
  margin-bottom: 0;
  border: none;
  background: none;
  padding: 0;
}

h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  margin-bottom: 0;
line-height: 1.5;
  background: none;
  border: none;
}
ul,
ol,
dl {
  margin: 0;
  padding: 0;
}
p,
.entry-content p {
  margin: 0;
  padding: 0;
  margin-bottom: 1em;
}

a {
  color: #3389FF;
  text-decoration: none;
}


div table th, 
div table td {
font-size: 1em;
}



#title {
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
display: block;
    position: relative;
    padding-top: 10%;
    padding-bottom: 13%;
    height: 0;
    overflow: hidden;
	margin-bottom: 20px;
    background-color: #f5f5f5;
	background: url(../../uploads/2026/03/title_back.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	box-shadow: 0 5px 10px rgba(0,0,0,0.3);
}
.title {
display: block;
    position: relative;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 0;
	text-align: left;
	font-weight: bold;
    font-family: 'Kosugi Maru', sans-serif;
    color: #41c3e9;
    text-shadow: #FFF 2px 0px, #FFF -2px 0px, #FFF 0px -2px, #FFF 0px 2px, #FFF 2px 2px, #FFF -2px 2px, #FFF 2px -2px, #FFF -2px -2px, #FFF 1px 2px, #FFF -1px 2px, #FFF 1px -2px, #FFF -1px -2px, #FFF 2px 1px, #FFF -2px 1px, #FFF 2px -1px, #FFF -2px -1px;
}

@media only screen and (max-width: 1080px) {
.title {
	padding: 0 30px;
}
}

@media only screen and (max-width: 1023px) {
#title {
margin-top: 60px;
    padding-top: 15%;
    padding-bottom: 15%;
}
.title {
	padding: 0 16px;
}
}
@media only screen and (max-width: 834px) {
#title {
    padding-top: 10%;
    padding-bottom: 15%;
}
}
@media only screen and (max-width: 640px) {
#title {
    padding-top: 12%;
    padding-bottom: 25%;
}
}



/********* 全体 ***********************************************/


.eye-catch-wrap {
border: 5px solid #F2F2F2;
}
.eye-catch-wrap img,
.eye-catch-wrap figure {
display: block;
width: 100%;
max-width: inherit;
}
@media screen and (max-width: 640px){
.eye-catch-wrap {
border: 3px solid #F2F2F2;
}
}
.eye-catch {
display: block;
margin: 0 auto;
max-width: 100%;
}
.eye-catch-image {
display: block;
    width: 100%;
    height: auto;
	max-width: none;
    padding: 0;
    margin: 0;
    border: none;
    vertical-align:bottom

}



/********* セクション *************************************************/

section {
margin: 0;
margin-bottom: 0;
padding: 0;
padding-bottom: 0;
}
.content_section1em {
display: block;
margin-bottom: 1em;
}
.content_section80 {
display: block;
margin-bottom: 64px;
}
.content_section {
display: block;
margin-bottom: 0;
}
.content_section0 {
display: block;
margin-bottom: 0;
}
.content_section40 {
display: block;
margin-bottom: 40px;
}
.content_section32 {
display: block;
margin-bottom: 32px;
}
.content_section24 {
display: block;
margin-bottom: 24px;
}
.content_section16 {
display: block;
margin-bottom: 16px;
}
.content_section8 {
display: block;
margin-bottom: 8px;
}
.content_section40map {
display: block;
margin-bottom: 40px;
}

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

.content_section80 {
display: block;
margin-bottom: 32px;
}
.content_section {
margin-bottom: 0;
}
.content_section40 {
margin-bottom: 32px;
}
.content_section32 {
margin-bottom: 24px;
}
.content_section24 {
margin-bottom: 16px;
}
.content_section16 {
margin-bottom: 8px;
}
.content_section8 {
margin-bottom: 8px;
}
.content_section40map {
margin-bottom: 32px;
}
}


/********* ヘッダー ***********************************************/


.header-container {
padding: 0;
margin: 0 auto;
}
.header-container-in {
margin: 0;
padding: 0 0;
}
@media screen and (max-width: 1023px) {
.header-container {
display: none;
}
}


.head_flex {
display: flex;
max-width: 1080px;
margin: 0 auto;
padding: 0 0;
justify-content: space-between;
flex-wrap: wrap;
align-items: center;
}
@media only screen and (max-width: 1080px) {
.head_flex {
padding: 0 16px;
}
}

.head_flex_left {
display: block;
max-width: 350px;
width: 60%;
}
.head_flex_right{
display: block;
width: 40%;
max-width: 340px;
}
haeder {
padding: 0;
margin: 0;
}
.header {
display: block;
padding: 0 !important;
margin: 0 !important;
}
.header-in {
float: none;
margin: 0 !important;
padding: 0 0 !important;
width: 100% !important;
}
.logo.logo-header.logo-image {
    text-align: left;
    margin: 0 0;
}
.site-name-text-link {
    padding: 0 0;
}

@media only screen and (max-width: 834px) {
.header {
padding: 1em 1em;
}
}

.site-logo-image.header-site-logo-image {
display: block;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: auto !important;
}

.logo-menu-button img {
    max-height: 44px;
    display: block;
    margin: 8px auto;
    margin-left: -12%;
    width: auto;
}

/************************************
** ヘッダーレイアウト ヘッダー固定時崩れ防止
************************************/
.header-container-in.hlt-top-menu {
  display: block;
  margin: 0 auto;
  width: 100%;
}


.flex_head_bt {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_head_btbox {
display: block;
width: calc(100% / 3 - 4px);
}
.navi-in {
    max-width: 1080px;
    margin-bottom: 16px;
}
@media only screen and (max-width: 1080px) {
.navi-in {
    padding: 0 16px;
}
}
.navi-in > ul li {
    height: auto;
    font-weight: 700;
    line-height: 1.6;
    border-left: 1px solid #000;
    width: calc(100% / 8 ) !important;
}
.navi-in > ul li ul li {
    width: 240px !important;
}
.navi-in > ul li:last-child {
    border-right: 1px solid #000;
}

.navi-in > ul li ul li {
    height: 40px;
}


/********* カルーセル ***********************************************/

.carousel-in {
    max-width: 1080px;
    padding: 0 32px;
}

.carousel-content {
    margin: 0 0;
    padding-bottom: 4px;
}

.slick-track {
    margin: 0 0 !important;
    padding: 0 0 !important;
    
}
c.arousel-entry-card-thumb {
margin-top: 0;
    margin-bottom: 0.4em;
}
.slick-prev, .slick-next {
}
.slick-prev {
    left: -32px !important;
}
.slick-next {
    right: -32px !important;
}

/********* お知らせ*************************************************/

ul.tag_category {
display: inline-block;
margin: 0;
margin-bottom: 2px;
padding: 0;
}
ul.tag_category li {
list-style: none;
margin: 0;
margin-left: 4px;
padding: 0;
	display: inline-block;
	text-align: center;
	min-width: 6em;
}
ul.tag_category li a {
	display: block;
	padding: 0 1.5em;
	background-color: #148CC2;
	color: #FFF;
	border-radius: 16px;
	text-decoration: none;
}



.flex_news {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_news_box {
display: flex;
justify-content: space-between;
flex-flow: column;
width: calc(100% / 2 - 8px);
padding-bottom: 16px;
border-bottom: 1px solid #CCC;
}
.flex_news_box .bt_news {
margin-top: auto;
}
.flex_news_box:nth-child(n+3) {
margin-top: 20px;
}
@media screen and (max-width: 640px) {
.flex_news {
display: block;
padding-bottom: 8px;
}
.flex_news_box {
width: auto;
}
.flex_news_box:nth-child(n+2) {
margin-top: 16px;
}
}

.flex_news_view {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_news_view_eyecach,
.flex_news_view_txt {
display: block;
width: calc(100% / 2 - 16px);
}
.flex_news_view_eyecach {
order: 2;
}
.flex_news_view_txt {
order: 1;
}
@media screen and (max-width: 640px) {
.flex_news_view {
display: block;
}
.flex_news_view_eyecach,
.flex_news_view_txt {
width: auto;
}
.flex_news_view_eyecach {
margin-bottom: 16px;
}
}


.pagination-next {
display: none;
}
.left_post,
.right_post {
white-space: nowrap;
}
.title_entry {
display: block;
line-height: 150%;
margin-bottom: 24px;
    padding-bottom: 8px;
border-bottom: 1px dotted #999;
}
.entry_title h3,
.entry_title h4,
.entry_title p {
margin-bottom: 0 !important;
}
.entry_title h3,
.entry_title h4 {
    color: #3389FF;
}
p.daytime {
    text-align: right;
  text-box-trim: trim-start;
margin-bottom: 4px;
}


@media screen and (max-width: 640px) {
.title_entry {
margin-bottom: 16px;
}
}


.shousai_ryaku h4.title_main {
line-height: 150%;
margin-bottom: 0;
}
.shousai_ryaku {
padding-bottom: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1; /* 任意の行数を指定 */
}
.list_pic {
position: relative;
display: block;
overflow: hidden;
background: #555;
}
.list_pic img {
display: block;
  object-fit: contain;
  width: 100%;
  top: 0%;
  right: 0%;
}
.flex_newslist {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_newslist_pic {
order: 2;
display: block;
flex-flow: column;
width: calc(30% - 4px);
}
.flex_newslist_txt {
order: 1;
display: flex;
flex-flow: column;
width: calc(70% - 4px);
}


.bt_news {
display: inline-block;
line-height: 1.0;
text-box-trim: trim-both;
padding: 0;
margin: 0;
}
.bt_news a {
position: relative;
display: block;
padding-left: 1.2em;
line-height: 150%;
color: #555;
text-decoration: none;
}
.bt_news a:hover {
color: #0194ff;
text-decoration: underline;
}

.bt_news a:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f35a";
  margin: 0;
  margin-left: -1.2em;
  padding: 0;
  color: #0194ff;
  font-weight: 900;
  }



.bt_more {
margin-top: auto;
display: inline-block;
}

.bt_more a {
position: relative;
display: block;
color: #194092;
text-decoration: none;
}

.bt_more a::after {
position: absolute;
left: 3.5em;
top: 0.6em;
content: "";
        margin-left: 4px;
        width: 40px;
        height: 8px;
        border-bottom: 1px solid #194092;
        border-right: 1px solid #194092;
        transform: skew(45deg);
}
.bt_more a:hover::after {
left: 4em;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}


ul.bt_pdf {
  margin: 0;
  padding: 0;
}
ul.bt_pdf li {
  display: inline-block;
  list-style: none;
  margin: 5px;
  padding: 0;
}
ul.bt_pdf li a {
  position: relative;
  display: block;
  padding: 8px 16px;
  min-width: 126px;
  background-color: #fff;
  border: 1px solid #555;
  color: #000;
  text-decoration: none;
  padding-left: 2.5em;
}

ul.bt_pdf li a:before {
  position: absolute;
  top: 50%;
transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  content: "\f1c1";
  color: #f00;
  margin-left: -1em;
  font-weight: 900;
}

ul.bt_pdf li a:hover {
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.8;
}

/********* サイドバー　*************************************************/
.calendar_wrap,
.wp-block-group {
display: block;
	background: url(../../uploads/2025/04/box_back.png);
	background-size: cover;
	padding: 16px 16px;
	box-shadow: 0 5px 5px rgba(0,0,0,0.2);
	margin: 0;
}

table.wp-calendar-table {
border: none;
background: none;
padding: 0;
margin: 0;
}
table.wp-calendar-table tr {
border: none;
background: none;
padding: 0;
margin: 0;
}
table.wp-calendar-table th,
table.wp-calendar-table td {
border: none;
background: none;
padding: 0;
margin: 0;
}
table.wp-calendar-table th {
}
.widget-sidebar {
}
.widget-sidebar ul {
margin: 0;
padding: 0;
}

.widget-sidebar ul li a {
margin: 0;
margin-bottom: 0;
padding-bottom: 0;
padding: 0;
text-decoration: underline;
}

@media screen and (max-width: 640px) {
table.wp-calendar-table {
width: 100%;
}

table.wp-calendar-table th,
table.wp-calendar-table td {
font-size: 100%;
}
.widget-sidebar {
font-size: 100%;
}
}


.wp-block-search__label {
display: none !important;
}
.wp-block-search__input {
height: 1em!important;
width: 100% !important;
padding: 1em !important;
}

.wp-block-search__button.wp-element-button {
padding: 0 0.5em;
height: inherit;
clear: both;
}


select,
textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"] {
box-sizing: border-box;
  display: inline-block;
  margin: 4px 0;
  width: auto;
  min-width: inherit;
  border-radius: 0;
}
select {
padding: 8px;
}
textarea {
  display: block;
}


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




h2.pagemidashi {
	font-family: 'Kosugi Maru', sans-serif;
	position: relative;
	background: #bdf2f5;
	box-shadow: 0px 0px 0px 5px #bdf2f5, 5px 5px 5px rgba(0,0,0,0.3);
	border: dashed 2px #FFF;
	padding: 8px 8px;
	color: #41c3e9;
	margin: 8px 6px;
	margin-bottom: 8px;
}
h2.pagemidashi.color_seniority {
	background: #FEE;
	box-shadow: 0px 0px 0px 5px #FEE, 5px 5px 5px rgba(0,0,0,0.3);
	color: #F77;
}
h2.pagemidashi.color_aqua {
	background: #DEF;
	box-shadow: 0px 0px 0px 5px #DEF, 5px 5px 5px rgba(0,0,0,0.3);
	color: #1AF;
}

h2.pagemidashi.color_orange {
	background: #FEC;
	box-shadow: 0px 0px 0px 5px #FEC, 5px 5px 5px rgba(0,0,0,0.3);
	color: #FA3;
}
h2.pagemidashi.color_purple {
	background: #f4eafb;
	box-shadow: 0px 0px 0px 5px #f4eafb, 5px 5px 5px rgba(0,0,0,0.3);
	color: #C9E;
}

h3.midashi_tateline {
	background: #F8F8F8;/*背景色*/
	border-bottom: solid 3px #d7d7d7;/*下線*/
	border-left: solid 5px #41c3e9;/*左線*/
	color: #41c3e9;
	padding: 8px 8px;
}

h3.midashi_tateline.color_seniority {
	color: #F77;
	border-left: solid 5px #F77;/*左線*/
}
h3.midashi_tateline.color_orange {
	color: #FA3;
	border-left: solid 5px #FA3;/*左線*/
}
h3.midashi_tateline.color_aqua {
	color: #1AF;
	border-left: solid 5px #1AF;/*左線*/
}
h3.midashi_tateline.color_purple {
	color: #C9E;
	border-left: solid 5px #C9E;/*左線*/
}

.ttl_balloon5 {
  border-bottom: 3px solid #4c9ac0 !important;
  padding: 0.3em !important;
  padding-left: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 16px !important;
  position: relative;
  text-box-trim: trim-start;
}
.ttl_balloon5::before {
  content: '';
  background-color: #fff;
  width: 20px;
  height: 3px;
  position: absolute;
  left: 30px;
  bottom: -3px;
}
.ttl_balloon5::after {
  content: '';
  background-color: #4c9ac0;
  width: 20px;
  height: 3px;
  transform: rotate(50deg);
  position: absolute;
  left: 25px;
  bottom: -10px;
}
.ttl_balloon5 h4 {
margin-bottom: 0;
}
@media only screen and (max-width: 640px) {
.ttl_balloon5 {
  padding: 0.2em !important;
  padding-top: 0 !important;
  padding-left: 0 !important;
  margin-bottom: 16px !important;
}
}


ul.list_pricelist {
	margin: 0;
	padding: 0;
	border-bottom: 1px dotted #bbb;
}
ul.list_pricelist li {
list-style: none;
	margin: 0;
	border-top: 1px dotted #bbb;
  padding: 0.5em 0;
}


dl.flex_pricelist {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-bottom: 1px dotted #bbb;
}
dl.flex_pricelist dt {
  width: 70%;
  margin: 0;
	border-top: 1px dotted #bbb;
  padding: 0.5em 0;
}
dl.flex_pricelist dd {
  width: 30%;
  margin: 0;
	text-align: right;
	border-top: 1px dotted #bbb;
  padding: 0.5em 0;
}



/********* grid　*************************************************/

.cc_grid_half_cont {
display: grid;
grid-template-columns: repeat(12, 1fr);
gap: 40px;
}

.cc_grid_half {
display: grid;
grid-template-columns: repeat(12, 1fr);
gap: 24px;
}
.cc_grid_txt {
grid-column: span 6 / span 6;
}
.cc_grid_pic {
grid-column: span 6 / span 6;
    grid-column-start: 7;
}
.cc_grid_helfbox {
grid-column: span 6 / span 6;
}
.cc_grid_helfbox_only {
grid-column: span 6 / span 6;
}
.cc_grid_helf01 {
grid-column: span 6 / span 6;
}
.cc_grid_helf02 {
grid-column: span 6 / span 6;
    grid-column-start: 7;
}

@media screen and (max-width: 640px){
.cc_grid_half_cont {
display: grid;
grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto;
gap: 32px;
}

.cc_grid_half {
display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto;
    gap: 16px;
}
.cc_grid_half.shikaku {
display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto;
    gap: 0 16px;
	margin-bottom: 16px;
}
.cc_grid_txt {
    grid-column: span 12 / span 12;
    grid-column-start: 1;
    grid-row-start: 2;
}
.cc_grid_pic {
    grid-column: span 12 / span 12;
    grid-column-start: 1;
    grid-row-start: 1;
}

.cc_grid_helfbox {
    grid-column: span 12 / span 12;
}
.cc_grid_helf01 {
    grid-column: span 12 / span 12;
    grid-column-start: 1;
    grid-row-start: 1;
}
.cc_grid_helf02 {
    grid-column: span 12 / span 12;
    grid-column-start: 1;
    grid-row-start: 2;
}
}

.cc_grid_txt h4 {
  text-box-trim: trim-start;
}


.box_manager {
display: block;
padding-bottom: 24px;
border-bottom: 1px solid #CCC;
}

@media screen and (max-width: 640px){
.box_manager {
padding-bottom: 24px;
}
}

.grid_three {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(auto, 1fr);
    gap: 24px;
}
.grid_three_box {
    grid-column: span 4 / span 4;
}
 @media screen and (max-width: 640px){
.grid_three {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(auto, 1fr);
    gap: 16px;
}
.grid_three_box {
    grid-column: span 6 / span 6;
}
} 
  
  


.cc_grid_3_2 {
display: grid;
grid-template-columns: repeat(12, 1fr);
    gap: 16px;
}

.cc_grid_3_2_pic {
    grid-column: span 4 / span 4;
    grid-column-start: 9;
}

.cc_grid_3_2_txt {
    grid-column: span 8 / span 8;
}


@media screen and (max-width: 640px){
.cc_grid_3_2 {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
  grid-template-rows: auto;
    gap: 16px;
}
.cc_grid_3_2_pic {
    grid-column: span 6 / span 6;
    grid-column-start: 4;
    grid-row-start: 1;
}

.cc_grid_3_2_txt {
    grid-column: span 12 / span 12;
    grid-column-start: 1;
    grid-row-start: 2;
}
}


.float_img_half_right {
display: block;
float: right;
max-width: calc(100% / 2 - 16px);
margin: 0;
margin-left: 24px;
margin-bottom: 16px;
}
@media screen and (max-width: 640px){
.float_img_half_right {
display: block;
float: none;
max-width: 100%;
margin: 0 auto;
margin-left: auto;
margin-bottom: 16px;
}
}


/********* grid　*************************************************/


.grid_threepic {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 16px;
}
    
.grid_threepic001 {
    grid-column: span 4 / span 4;
}

.grid_threepic002 {
    grid-column: span 4 / span 4;
    grid-column-start: 5;
}

.grid_threepic003 {
    grid-column: span 4 / span 4;
    grid-column-start: 9;
}
@media only screen and (max-width: 640px) {
 .grid_threepic {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 8px;
}
.grid_threepic001 {
    grid-column: span 8 / span 8;
    grid-column-start: 3;
}

.grid_threepic002 {
    grid-column: span 8 / span 8;
    grid-column-start: 3;
    grid-row-start: 2;
}

.grid_threepic003 {
    grid-column: span 8 / span 8;
    grid-column-start: 3;
    grid-row-start: 3;
}
}

.grid_features {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 16px;
}
    
.grid_features_pic {
    grid-column: span 4 / span 4;
}

.grid_features_txt {
    grid-column: span 8 / span 8;
    grid-column-start: 5;
}
@media only screen and (max-width: 640px) {
.grid_features {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 8px;
}
    
.grid_features_pic {
    grid-column: span 6 / span 6;
    grid-column-start: 4;
}

.grid_features_txt {
    grid-column: span 12 / span 12;
    grid-row-start: 2;
}
}

table.timeTable {
margin: 0;
padding: 0;
margin-bottom: 0;
padding-bottom: 0;
text-align: center;
}


.imagecenter_keibi {
display: block;
margin: 0 auto;
border: 1px solid #CCC;
max-width: 100%;
}


.pager-post-navi {
padding: 0;
margin: 0;
}

/*** 事業内容***/

.bg_top_jigyou {
  padding-inline: calc((100vw - 1080px) / 2);
  background-color: #F5F5F5;
}


.businesscontents_content {
	padding: 0 16px;
	padding-bottom: 12px;
}

@media (min-width: 640px) {
.businesscontents_content {
	padding: 0 0;
	padding-bottom: 0;
}
}



.alternate {
	display: flex;
	flex-direction: column-reverse;
}
.alternate + .alternate {
	margin-top: 16px;
}
.alternate__body {
	padding: 24px;
	background: #E3E3E3;
		position: relative;
		z-index: 1;
}
.alternate__ttl {
	text-align: center;
	letter-spacing: 0.2em;
}
.alternate__sttl {
	display: block;
	font-size: 10px;
}
.alternate__txt {
	margin-top: 24px;
	line-height: 1.7;
}
.alternate__thumb {
		position: relative;
		z-index: 2;
}
.alternate__thumb img {
	max-width: none;
	width: 100%;
}
/*ずらし用の指定*/
@media (max-width: 639px) {
	.alternate__body {
		margin-top: -40px;
		padding-top: 60px;
	}
	.alternate._normal .alternate__thumb {
		margin-left: -24px;
	}
	.alternate._normal .alternate__body {
		margin-right: -24px;
	}
	.alternate._reverse .alternate__thumb{
		margin-right: -24px;
	}
	.alternate._reverse .alternate__body{
		margin-left: -24px;
	}
}

@media (min-width: 640px) {
	.alternate {
		flex-direction: row-reverse;
		/* border: 1px solid red; */
	}
	.alternate + .alternate {
		margin-top: 64px; /*後続ボックスとの余白を確保*/
	}
	.alternate._reverse {
		flex-direction: row;
	}
	.alternate__body {
		width: 50%;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.alternate__thumb {
		width: 50%;
	}
	.alternate__thumb img {
		height: 100%;
		object-fit: cover;
	}
	/*ずらし用の指定*/
	/*【補足】比較のためあえてずらす前の指定とは別にずらすために追加したプロパティ類を分けて記述しています。実際にはセレクタを統合する必要があります*/
	.alternate__body {
		position: relative;
		z-index: 1;
		top: 40px; /*元の位置を基準に単純に40px下にずらす*/
		width: calc(50% + 80px); /*あらかじめ80px分広げる*/
	}
	.alternate__thumb {
		position: relative;
		z-index: 2;
	}
	.alternate._normal .alternate__body {
		margin-left: -80px; /*ネガティブマージンで広げた分を相殺*/
		padding-left: 110px; /*重なり分の余白を確保*/
	}
	.alternate._reverse .alternate__body {
		margin-right: -80px;
		padding-right: 110px;
	}
}


/* ====== レイアウトのベース ====== */
.two-col {
    padding: 0 !important;
    margin: 0 !important;
}

.two-col__inner {
  margin: 0 auto;
  /* 2列グリッド：左テキスト / 右写真 */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;

  /* 上ぞろえ（縦方向の配置を上に） */
  align-items: start;
}

/* ====== 左：テキスト ====== */
.two-col__title {
  margin: 0 0;
}
.two-col__list {
  margin: 0 0;
  padding: 0;
}

.two-col__btn {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  text-decoration: none;
  transition: opacity .2s ease;
}
.two-col__btn:hover { opacity: .85; }

/* ====== 右：写真 ====== */
.two-col__media {
  margin: 0;
}

.two-col__media img {
  width: 100%;
  height: auto;           /* 画像の比率を保持 */
  display: block;
  border-radius: 16px;
  object-fit: cover;      /* 必要に応じてトリミング */
}

.two-col__caption {
  color: #6b7280;
  margin-top: 8px;
}

/* ====== レスポンシブ（スマホ：1カラム） ====== */
@media (max-width: 640px) {
  .two-col__inner {
    grid-template-columns: 1fr;
  }
  /* モバイルでは順番はHTMLのまま：左テキスト→右写真 */
  .two-col {
    padding: 0;
  }
}


.one_three_grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
  gap: 24px;
}
    
.one_three_gridbox01  {
    grid-column: span 8 / span 8;
    grid-column-start: 1;
}

.one_three_gridbox02 {
    grid-column: span 4 / span 4;
    grid-column-start: 9;
    grid-row-start: 1;
}
@media (max-width: 640px){
.one_three_grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
  gap: 16px;
}
.one_three_gridbox01  {
    grid-column: span 12 / span 12;
    grid-column-start: 1;
    grid-row-start: 2;
}

.one_three_gridbox02 {
    grid-column: span 6 / span 6;
    grid-column-start: 4;
    grid-row-start: 1;
}
}




.grid_12 {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 24px;
}
@media only screen and (max-width: 640px) {
.grid_12 {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 16px;
}
}
.grid_doublebox {
    grid-column: span 6 / span 6;
}
.grid_doublebox_only {
    grid-column: span 6 / span 6;
}
.grid_triplebox {
    grid-column: span 4 / span 4;
}
.grid_triplebox_bai {
    grid-column: span 8 / span 8;
}
.grid_fourbox {
    grid-column: span 3 / span 3;
}
@media only screen and (max-width: 640px) {
.grid_doublebox {
    grid-column: span 12 / span 12;
}
.grid_triplebox {
    grid-column: span 12 / span 12;
}
    
.grid_triplebox_bai {
    grid-column: span 12 / span 12;
}
.grid_fourbox {
    grid-column: span 6 / span 6;
}
}

.grid_double_txt_left {
    grid-column: span 6 / span 6;
}
.grid_double_pic_right {
    grid-column: span 6 / span 6;
}
@media only screen and (max-width: 640px) {
.grid_double_txt_left {
    grid-column: span 12 / span 12;
    grid-column-start: 1;
    grid-row-start: 2;
}
.grid_double_pic_right {
    grid-column: span 12 / span 12;
    grid-column-start: 1;
    grid-row-start: 1;
}
}



ul.submenu_age {
display: flex;
justify-content: center;
flex-wrap: wrap;
	margin: 0 0;
	margin-top: 16px;
	padding: 0;
	border-bottom: 16px solid #fcf2f2;
}
ul.submenu_age li {
display: block;
list-style: none;
width: calc(100% / 4 - 8px);
margin: 0 4px;
}

ul.submenu_age li a {
display: block;
font-weight: 600;
background-color: #FFF;
color: #555;
text-align: center;
padding: 16px 0;
text-decoration: none;
border-radius: 8px 8px 0 0;
	box-shadow: 2px -2px 3px rgba(0,0,0,0.3);
}

ul.submenu_age li.current_page_item a,
ul.submenu_age li a:hover {
background-color: #fcf2f2;
color: #090;
}



@media only screen and (max-width: 640px) {
ul.submenu_age {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
	margin: 0 0;
	margin-top: 16px;
	padding: 0;
	border-bottom: 16px solid #fcf2f2;
}
ul.submenu_age li {
display: block;
list-style: none;
width: calc(100% / 4 - 4px);
margin: 0 0;
padding: 0;
}

ul.submenu_age li a {
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
font-size:  70%;
line-height: 150%;
background-color: #FFF;
color: #555;
text-align: center;
padding: 8px 2px;
min-height: 3em;
text-decoration: none;
border-radius: 8px 8px 0 0;
	box-shadow: 2px -2px 3px rgba(0,0,0,0.3);
}

ul.submenu_age li.current_page_item a,
ul.submenu_age li a:hover {
background-color: #fcf2f2;
color: #090;
}
}

.img_radius {
    border-radius: 16px;
}
/*----------------------------------------
	枠囲み
----------------------------------------*/
/*枠囲み（標準）*/
.frame {
  border: 2px solid #37952F;
  padding: 40px;
}
.frame__title {
  padding-left: 20px;
  border-left: 2px solid #37952F;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
}
.frame__title + * {
  margin-top: 30px;
}
@media only screen and (max-width: 640px) {
.frame {
  padding: 24px;
}
.frame__title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
}
}


.aqua,
.aqua a {
    color: #41c3e9;
}
.redpink,
.redpink a {
    color: #F77;
}

.color_nenchou,

.color_nenchou a {
    color: #007;
    
}
.color_nenchuu,
.color_nenchuu a {
    color: #FA3;
    
}
.color_nenshou,
.color_nenshou a {
    color: #6CF;
    
}
.color_3po,
.color_3po a{
    color: #C9E;  
}


.footer-middle-2col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
	}



.cta_btn09 {
  font-weight: bold; /* 文字の太さ */
  text-align: center;
  letter-spacing: 0.1em;
  align-items: center;
  display: flex;
  justify-content: center;
    flex-wrap: nowrap; /* 絶対に折り返さない */
  gap: 24px;
margin-bottom: 0;
}
@media only screen and (max-width: 640px) {
.cta_btn09 {
  letter-spacing: 0;
  gap: 16px;
}
}
.font_mplus {
font-family: 'M PLUS Rounded 1c', sans-serif;
}
.top_title {
	display: block;
	margin: 0 auto;
	margin-bottom: 0;
	text-align: center;
    /*
	font-family: 'Kosugi Maru', sans-serif;
    */
}
.top_title .title_jap {
    font-weight: 700;
    font-size: 36px;
	color: #41c3e9;
	margin: 0;
    margin-bottom: 8px;
    font-family: 'M PLUS Rounded 1c', sans-serif;
}
.top_title p {
    font-weight: 600;
    font-size: 16px;
	margin: 0;
}
@media only screen and (max-width: 640px) {
.top_title .title_jap {
    font-size: 28px;
}
.top_title p {
    font-size: 14px;
}
}