/*
Theme Name:放課後デイサービス OSSU
*/

:root {
  --content-brand-blue: #0090da;
  --content-brand-lightblue: #d6f1ff;
  --content-brand-green: #00a8a8;
  --content-brand-lightgreen: #dbffff;
  --content-brand-pink: #ff6b6b;
  --content-brand-lightpink: #ffebeb;
  --content-brand-kakufont: 'BIZ UDPGothic', sans-serif;
  --content-brand-marufont: 'Zen Maru Gothic', sans-serif;
}
/*リンクテキスト設定*/
html{font-size:62.5%;font-family: var(--content-brand-kakufont);}
html,body{
width: 100%;
}
img{ width:100%; display: block;}








body{ line-height: 1.5;}
p{letter-spacing: 0.15rem;}
a{ text-decoration: none; transition: 0.5s ;color: #000000;}
a:visited{ color: #000000;}
a:hover img{ opacity: 0.8; transition: 0.5s ;}
a:hover,li:hover,input:hover,p:hover { transition: 0.5s ;}
a:hover{ color:var(--content-brand-green);}


/*フェードイン*/
.effect-fade {
opacity : 0;
transform : translate(0, 0);
transition : all 4000ms;
}

.effect-fade.effect-scroll {
opacity : 1;
transform : translate(0, 0);
}

/*シャドウ*/
.shadow    {
box-shadow: 1px 1px 5px #999;
-webkit-box-shadow: 1px 1px 5px #999;
-moz-box-shadow: 1px 1px 5px #999;
}
.txshadow{ text-shadow: 1px 1px 5px rgba(39, 51, 135, .90);}

/*縦書き*/
.tategaki {
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
font-feature-settings:normal;
}
/*明朝体*/
.min{font-family:'Noto Serif JP', 'Noto Serif Japanese', "游明朝", YuMincho, 'Noto Serif JP', serif, sans-serif;font-display: swap;}
/*ゴシック体*/
.impact{font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif}
.abel{font-family: 'Abel', sans-serif; }
.ropa{font-family: 'Ropa Sans', sans-serif;}
.roboto{font-family: 'Roboto', sans-serif;}

/*ページネーション*/
.pagenation {
margin: 1em auto;
clear:both;
padding:0 0 50px 0;
width:100%;
}
.pagenation:after, .pagenation ul:after {
}
.pagenation ul {
margin: 0;
text-align:center;
}
.pagenation li {
list-style: none outside none;
margin-left: 3px;
display:inline-block;
font-size:1.6rem
}
.pagenation li:first-child {
margin-left: 0;
}
.pagenation li.active {
background-color: #999999;
border-radius: 3px;
color: #FFFFFF;
cursor: not-allowed;
padding: 10px 20px;
}
.pagenation li a {
background: none repeat scroll 0 0 #CCCCCC;
border-radius: 3px;
color: #FFFFFF;
display: block;
padding: 10px 20px;
text-decoration: none;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
}
.pagenation li a:hover {
background-color: #000000;
color: #FFFFFF;
opacity: 0.8;
transition-duration: 500ms;
transition-property: all;
transition-timing-function: ease;
}
.navigation.pagination{ display:none;}

/*拡大アニメーション*/
.zoom-1 img {
  width: 100%;
  height: auto;
  animation: animationZoom1 40s ease-in-out infinite;
}
.zoom {
  width: 300px;
  height: 200px;
  overflow: hidden;
  margin-bottom: 30px
}

@keyframes animationZoom1 {
  50% { transform:scale(1.1)} 
}


/*非表示*/
.nodisplay{ display: none;}

/**
* 最大幅の指定と中央寄せ
*/
.container {
position: relative;
margin-left: auto;
margin-right: auto;
max-width: 970px;
}

/**
* slick.js
*/
.slider{opacity: 0; transition: all 0.5s;}
.slider.slick-initialized{opacity: 1;}
.slide-arrow{ position: absolute; top:0; bottom:0; margin:auto; z-index: 5;}
.prev-arrow{ left:5%}
.next-arrow{ right:5%}
.slick-dots li button:before{ color: #fc3b9c!important;}

/*装飾*/
section.dec{ position: relative; background-color: var(--content-brand-green); color: #ffffff;}
section.dec:before{content:'';display:block; max-width:48px; width:3.4%; height: 100%; background-color: var(--content-brand-pink); position: absolute; left:0; top:0}
.std { text-align: center; font-size:4.6rem; font-weight:bold; font-family: var(--content-brand-marufont); letter-spacing: 0.25rem;}
.std i{ font-weight: bold; font-size: 2.1rem; display: block; letter-spacing: 0.15rem;}
.std2 { font-size:3.6rem; font-weight: bold; letter-spacing: 0.25rem; font-family: var(--content-brand-marufont);}
.std2 i{ color: var(--content-brand-green); font-weight: bold;}

/*.mv figure:after{animation: animationtoup 2s ease-in-out;}*/
.kaiketsu .block li.is-active figure:after{animation: animationpopup2 1s ease-in-out;}

@keyframes animationZoomOut {
  0%{ transform:scale(1.1)}
  100% { transform:scale(1.0)} 
}
@keyframes animationtoleft {
  0%{ right:-100%;}
  100% { right:0} 
}
@keyframes animationtodown {
  0%{ top:-100%;}
  100% { top:0} 
}
@keyframes animationtoright {
  0%{ left:-100%;}
  100% { left:0} 
}
@keyframes animationtoup {
  0%{ bottom:-100%;}
  100% { bottom:0} 
}

@keyframes animationpopup {
  0%{ transform:scale(0)}
  100% { transform:scale(1.0)} 
}

@keyframes animationpopup2 {
  0%{ transform:scale(0)}
  75%{ transform:scale(0)}
  100% { transform:scale(1.0)} 
}

#sb_instagram .sbi_photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*固定ボタン*/
.fixmenu{display: none; width:100%;}
.fixmenu.visible{ display: block; background-color: rgba( 255,255,255,0.8); top:0; left: 0; position: fixed; z-index: 6; padding:0.5rem 0 0 0}
.fixmenu.visible ul{ display: flex; width:80%; margin:0.5rem auto; justify-content: space-between; max-width:700px;position: relative;left: -2.5rem;}






/*BASE*/
.site{ overflow: hidden;}
.spot{ position: absolute;}
.bc{ display: none;}
.pagehead{ width:95%; max-width:1100px; margin:0 auto; display: flex; justify-content: space-between; align-items: center; position: relative;}
.pagehead .branding img{ width:95%; display: block;}
.pagehead .branding{ width:17rem; padding:2.5%; mix-blend-mode:multiply}
.pagehead ul{ display: flex; font-size:1.8rem; position: relative; z-index: 999;}
.pagehead li{ padding:1.5rem;}

.contactdata{ padding:0;}
.belt{ width:97.5%; margin:0 auto 2.5rem auto}
.access{ display:flex; justify-content: space-between;;}
.access .text{ width:50%; padding:7.5rem 0; display: flex; align-items: center; justify-content: flex-end;}
.access .wrap{ margin-right: 2.5rem; width:fit-content}
.access h2{ margin-bottom:5.0rem; text-align: left}
.access dt{ font-size:2.8rem; font-weight: bold; margin-bottom:1.5rem}
.access dd{ font-size:2.0rem; line-height: 2;}
.access iframe{ width:50%; display: block;}
.access .ikawadani .googlemap,
.access .ikawadanikita .googlemap{ position: relative; bottom:-2.4rem}
.contactdata .open{ padding:7.5rem 0; width:95%; max-width:1000px; margin:0 auto; position: relative;}
.contactdata .open h2{ margin-bottom:5.0rem; color: var(--content-brand-green);}
.contactdata .open ul{ display: flex; justify-content: space-between;}
.contactdata .open li{ width:32%; text-align: center;}
.contactdata .open dt{ border:1px solid var(--content-brand-green);color: var(--content-brand-green); font-size:2.4rem; padding:1.0rem 0; margin-bottom:1.0rem}
.contactdata .open dd{ font-size:2.1rem; font-weight: bold;}
.contactdata .open dd i{ font-size:1.6rem; display: block;}
.contactdata .open .spot{ width:17.6%; top:-7.5rem; left:0}

.contact { width:95%; max-width:1000px; margin:0 auto; background-color: var(--content-brand-green); border-radius:1.5rem; padding:2.5rem 0; color:#ffffff}
.contact h2{ display:flex; align-items: center; width:90%; margin:0 auto 0.5rem auto; font-size:3.2rem; white-space: nowrap;}
.contact h2:before,
.contact h2:after{ content: ''; width:100%; height:3px; background-color: #ffffff; display: block; margin:0 0.5rem}
.contact h2+p{ font-size:2.1rem; text-align: center; margin-bottom:2.5rem}
.contact ul{ display: flex; justify-content: space-between; width:90%; margin:0 auto}
.contact .tel{ width:50%;}
.contact .tel a{ display: block;}
.contact .tel img{width:100%; display: block;}
.contact .close dl{ display: flex; align-items: center;}
.contact .close dt{ width:8.0rem; height:8.0rem; background-color: #ffffff; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--content-brand-green); font-size: 1.8rem; font-weight: bold; margin-right: 1.0rem;}
.contact .close dd{ font-size:1.8rem}
.site-footer{ padding:5.0rem 0; text-align: center;}
.site-footer ul{ display: flex; font-size:1.8rem; justify-content: center; margin-bottom: 5.0rem;}
.site-footer li{ padding:0 1.5rem;}
.site-footer .branding{ width:16.0rem; margin:0 auto;}
.site-footer .branding img{ width:100%; display: block;}
.site-footer dd{ font-size:1.4rem; padding:1.5rem 0 0 0}
.site-footer dd a{ display: flex; align-items: center; justify-content: center;}
.site-footer dd a::before,
.site-footer dd a::after{ content: ''; width:10.0rem; margin:0.5rem 0; height:1px; background-color: #000000; display: block;}

/*TOP*/
.toppage .mv{ margin-bottom: 7.5rem;}
.toppage .mv figure{ position: relative; max-width:1300px; width:95%; margin:0 auto; display: flex; align-items: flex-end; justify-content: center;}
.toppage .mv figcaption { position: absolute; width:100%; font-size:3.5rem; font-weight: bold; text-align: center; letter-spacing: 0.5rem;}
.toppage .mv figcaption img{ width:40%; max-width:410px; margin:0 auto 2.5rem auto}
.toppage .mv figcaption strong{font-size:6.0rem; font-weight: bold; color: var(--content-brand-green); letter-spacing: 0.75rem;}
.toppage .news{ padding: 5.0rem 0;position: relative;}
.toppage .news .block{ width:95%; max-width:1000px; margin:0 auto; position: relative;}
.toppage .news .spot{ width:30%; top:-25rem; right:-5.0rem}
.toppage .feature{ padding: 5.0rem 0;}
.toppage .feature h2{ margin-bottom:2.5rem; text-align: left;}
.toppage .feature .wrap{ width:95%; max-width:1000px; margin:0 auto; position: relative;}
.toppage .feature .block{ display: flex; justify-content: space-between; padding: 2.5rem 0;}
.toppage .feature .block figure{ width:50%; display: block;}
.toppage .feature .text{ display: block; font-size:1.8rem; line-height: 2;}
.toppage .feature .spot{ width:19.6rem; bottom:-2.5rem; right:-5rem; width:20%}
.toppage .topfaq { padding:7.5rem 0}
.toppage .topfaq .wrap{ display: flex; width:95%; max-width:1000px; margin:0 auto; justify-content: space-between; position: relative;}
.toppage .topfaq .image{ width:45%}
.toppage .topfaq .image img{ border-radius: 1.0rem;}
.toppage .topfaq .text{ width:50%}
.toppage .topfaq h2 { margin-bottom:2.5rem; text-align: left;}
.toppage .topfaq dt{ display: flex; font-size:3.0rem; color: #e8e7e8; font-weight: bold; margin-bottom:1.5rem; letter-spacing: 0.2rem;}
.toppage .topfaq dt:before{ content: 'Q.';}
.toppage .topfaq dd{ font-size:1.6rem; color: #ffffff; margin-bottom:2.5rem; display: flex; line-height: 2; position: relative; padding-right: 2.5rem; letter-spacing: 0.15rem;}
.toppage .topfaq dd:before{ content: 'A.'; font-size:3.0rem; font-weight: bold; position: relative; top:-2.0rem;}
.toppage .topfaq dd small{ display: block; font-size:1.0rem}
.toppage .topfaq .spot{ width:18%; bottom:-2.5rem; left:-2.5rem; }
.toppage .course{ padding:7.5rem 0;}
.toppage .course .wrap{ width:95%; max-width:1000px; margin:0 auto; position: relative;}
.toppage .course .wrap .spot{ width:26%; top:-2.5rem; right:0}
.toppage .course h2{ text-align: left; margin-bottom: 2.5rem;}
.toppage .course h2+p{ font-size:2.0rem; margin-bottom:5.0rem; line-height: 2;}
.toppage .course h3{ font-size:2.8rem; font-weight: bold; text-align: center; margin-bottom:1.5rem;}
.toppage .course table{ width:95%; max-width:75.0rem; margin:0 auto 0.5rem auto}
.toppage .course td{ border: 1px solid #000000; padding:1.5rem; font-size:1.8rem}
.toppage .course thead td{ white-space: nowrap; text-align: center; font-size:2.1rem; font-weight: bold;}
.toppage .course thead td:nth-child(1){ background-color: var(--content-brand-green); color: #ffffff;}
.toppage .course thead td:nth-child(2){ background-color: #bfbfbf; color: #ffffff;}
.toppage .course thead td:nth-child(3){ background-color: var(--content-brand-pink); color: #ffffff;}
.toppage .course tbody td:nth-child(1){ background-color: var(--content-brand-lightgreen); white-space: nowrap; font-weight: bold;}
.toppage .course tbody td:nth-child(2){ background-color: #ffffff; font-size:1.6rem; white-space: nowrap; }
.toppage .course tbody td:nth-child(3){ background-color: var(--content-brand-lightpink); text-align: right;}
.toppage .course tbody td:nth-child(4){ font-size:1.6rem;}
.toppage .course tbody td:nth-child(4) i{ font-size:1.2rem; display: block;}
.toppage .course table+.note{ width:95%; max-width:75.0rem; margin:0 auto; font-size:1.2rem; text-align: right;}









/*メールフォーム*/
section.contact .form{ width:95%; max-width: 900px; margin:0 auto;}
section.contact table{ width:100%}
section.contact th{ font-size:1.8rem; font-weight: bold; padding:1.5rem 1.5rem; vertical-align: middle;}
section.contact th i{font-size: 1.4rem; display: inline-block; padding:0.5rem; line-height: 1; border-radius: 0.5rem; margin-right: 0.5rem; background-color: #fc3b9c; color: #ffffff;}
section.contact td{ padding: 1.5rem; font-size:1.6rem;}
section.contact td input,
section.contact td select,
section.contact td textarea{ padding:0.75rem; width:calc( 100% - 1.5rem - 2px)}
section.contact .note{ font-size:1.3rem; padding:2.5rem}
section.contact .note i{ font-weight: bold; display: block;}
section.contact .doui{ text-align: center; font-size:1.6rem}
section.contact .doui input{ transform: scale(1.5);}
section.contact .submit{ display: flex; flex-direction: column; padding:2.5rem 0; align-items: center;}
section.contact .submit input{ width:30.0rem; padding:1.5rem 0; background-color: #000000; color: #ffffff; font-weight: bold; border:none; border-radius:5.0rem;}
section.contact .submit input:hover{ background-color: #fc3b9c; cursor: pointer;}
section.contact .submit input:disabled{ background-color: #cccccc;}

/*下層ページ*/
.pagehead p.branding{ width:17rem;}
.entry-header{ width:95%; margin:0 auto; max-width:1000px; position: relative; display: flex; justify-content: space-between; align-items: center;}
.entry-header h1{ font-size:4.8rem; font-weight: bold; letter-spacing: 0.5rem; font-family: var(--content-brand-marufont);}
.about .entry-header figure{ width:55%; position: relative; bottom:-5.0rem; right:-5%; z-index: 5;}
.houkagodayservice h2 { margin-bottom: 2.5rem;}
.houkagodayservice .block{ width:95%; max-width:1000px; margin:0 auto; background-color:#ffffff; border-radius:1.5rem; display: flex; justify-content: space-between;}
.houkagodayservice .block .text{ width:47.5%; font-size:1.8rem; line-height: 2; }
.houkagodayservice .block .text p{ margin-bottom:1.5rem}
.houkagodayservice .block .text p:last-child{ margin-bottom:0}
.houkagodayservice .block figure{ width:47.5%; margin-top: 10.0rem;}
.houkagodayservice .block figure img{ width:100%; display: block;}
.nagare{ padding:7.5rem 0}
.nagare h2 { margin-bottom: 2.5rem;}
.nagare .block{ width:95%; max-width:1000px; margin:0 auto; background-color:#ffffff; border-radius:1.5rem; position: relative;}
.nagare dl{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;}
.nagare dt{ width:20%; max-width:210px; background-color: var(--content-brand-green); color: #ffffff; font-size: 2.4rem; font-weight: bold; padding:1.0rem 0; border-radius: 3.0rem; margin-bottom:2.5rem; display: flex; justify-content: center; align-items: center;}
.nagare dd{ width:75%; margin-bottom:2.5rem; font-size:1.6rem; line-height: 2;}
.nagare li{ margin-bottom:1.5rem}
.nagare li strong{ font-size: 2.1rem; font-weight: bold; color: var(--content-brand-green); display: block; margin-bottom: 0.5rem;}
.nagare dd a{ display: block; padding:0.5rem 0; border:1px solid var(--content-brand-green); font-size:1.8rem; text-align: center; color: var(--content-brand-green);}
.nagare dd a:hover{ background-color: var(--content-brand-green); color: #ffffff;}
.nagare .spot{ width:12%; bottom:-2.5rem; left:5.0rem}
.nagare .flow{ padding:5.0rem 0 2.5rem 0; background-color: var(--content-brand-lightgreen); border-radius:1.5rem; margin-bottom: 5.0rem;}
.nagare .flow img{ width:80%; margin:0 auto;}
.contact-cta{padding:2.5rem}
.schedule{ padding:5.0rem 0}
.schedule .block{ width:90%; max-width:1000px; margin:0 auto;}
.schedule h2 { margin-bottom: 2.5rem;}
.schedule .wrap{ display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 5.0rem;}
.schedule .box{ width:48%; position: relative; display: flex; align-items: center; justify-content: center;}
.schedule .box:nth-of-type(1) dl:before{content: ''; width:80%; height:auto; aspect-ratio:1 / 1; display:block; background-size:contain; background-position:center;  background-repeat: no-repeat; background-color:var(--content-brand-lightblue); border-radius:50%; position: absolute; z-index: -1;}
.schedule .box:nth-of-type(2) dl:before{content: ''; width:80%; height:auto; aspect-ratio:1 / 1; display:block; background-size:contain; background-position:center;  background-repeat: no-repeat; background-color:var(--content-brand-lightpink); border-radius:50%; position: absolute; z-index: -1;}
.schedule .box dl{ position: relative; z-index: 2;}
.schedule .box dt{ font-weight: bold; font-size:2.4rem; margin-bottom:1.5rem;}
.schedule .box dd{ display: flex; font-size:1.6rem; margin-bottom:1.0rem}
.schedule .box dd i{ margin-right:0.5rem; white-space: nowrap; min-width:12.5rem}
.schedule .box:nth-of-type(1) dt{ color:var(--content-brand-blue);}
.schedule .box:nth-of-type(2) dt{ color:var(--content-brand-pink);}
.schedule .note{ text-align: center; font-size:1.2rem}
.faq .entry-header figure{ width:33%; position: relative; top:-2.5rem}
.faqlist{ padding:7.5rem 0 2.5rem 0; background-color: var(--content-brand-lightblue); margin-bottom: 2.5rem;}
.faqlist ul{ width:90%; max-width:1000px; margin:0 auto}
.faqlist li{ background-color: #ffffff; border-radius:1.5rem; padding:0 2.5rem 1.5rem 2.5rem; margin-bottom:5.0rem}
.faqlist dt{ font-size:2.4rem; font-weight: bold; display: flex; align-items: center; color: var(--content-brand-green); font-family: var(--content-brand-marufont);}
.faqlist dl i{ width:6.4rem; max-width:6.4rem; min-width:6.4rem; height:6.4rem; display: block; white-space: nowrap; overflow: hidden; margin-right: 0.5rem; font-size:5.2rem; font-weight: bold; display: flex; justify-content: center; align-items: center; font-family: var(--content-brand-marufont);}
.faqlist dt i{ background-color: #ffffff; border-radius:50%; margin-left:-5.0rem; color: var(--content-brand-green); position: relative; top:-1.5rem}
.faqlist dd { font-size:1.6rem; line-height: 2; display: flex;}
.faqlist dd i{ color: var(--content-brand-pink);}
.hyouka .entry-header figure{ width:48%;}
.hyouka .hyouka-list h2{margin-bottom: 2.5rem;}
.hyouka .hyouka-list .block{ width:95%; max-width:1000px; margin:0 auto; background-color: #ffffff; padding:5.0rem 0 10.0rem 0; border-radius:1.5rem;}
.hyouka .hyouka-list .description{ margin:0 auto 5.0rem auto; font-size:1.8rem; line-height: 2;}
.hyouka .hyouka-list ul{ width:100%; margin:0 auto; display: flex; justify-content: space-between; flex-wrap: wrap;}
.hyouka .hyouka-list li{ margin-bottom:1.5rem; border-radius: 1.5rem; border:2px solid var(--content-brand-green); width:45%; transition: 0.5s all;}
.hyouka .hyouka-list li a{ display: flex; padding:1.5rem; align-items: center;}
.hyouka .hyouka-list li a img{ width: 4.8rem; margin-right:1.5rem}
.hyouka .hyouka-list li a strong{ font-size:2.4rem; color: var(--content-brand-green);}
.hyouka .hyouka-list li a strong small{ display: block; color: #666666; font-size:1.4rem; display: block;}
.hyouka .hyouka-list li:hover{ background-color: var(--content-brand-lightgreen);}
.hyouka .hyouka-list .widebutton { margin:0 auto 1.5rem auto; border-radius: 1.5rem; border:2px solid var(--content-brand-green); width:70%; transition: 0.5s all;}
.hyouka .hyouka-list .widebutton a{ display: flex; padding:1.5rem; align-items: center; justify-content: center;}
.hyouka .hyouka-list .widebutton a img{ width: 4.8rem; margin-right:1.5rem}
.hyouka .hyouka-list .widebutton a strong{ font-size:2.4rem; color: var(--content-brand-green);}
.hyouka .hyouka-list .widebutton a strong small{ display: block; color: #666666; font-size:1.4rem; display: block;}
.hyouka .hyouka-list .widebutton:hover{ background-color: var(--content-brand-lightgreen);}






/*投稿ページ*/
.single .title-box .std{ padding:5.0rem 0}
.single article { width:90%; margin:0 auto; max-width:1000px; padding:5.0rem 0; color: #4d4d4d;}
.single article .data{ display: flex; align-items: center; margin-bottom:1.5rem}
.single article .data .cat {display: inline-block; padding:0.5rem; line-height: 1; font-size:1.5rem; color: #fc3b9c; border:1px solid #fc3b9c; background-color: #ffffff; margin-right: 0.5rem;}
.single article .data .date{ font-size:1.5rem;}
.single article h1{ font-size:3.2rem; font-weight: bold; margin-bottom:5.0rem;}
.single article .main-eyecatch { margin-bottom:2.5rem}
.single article .main-eyecatch img{ width:100%; height:auto; display: block; object-fit: contain; object-position: center;}
.single .postcontent h2{ font-size:2.0rem; font-weight:bold; color:#fc3b9c; margin-bottom:1.5rem}
.single .postcontent h3{ font-size:1.8rem; font-weight:bold; margin-bottom:1.0rem; border-bottom:1px solid #fc3b9c}
.single .postcontent h4{ font-size:1.6rem; font-weight:bold; margin-bottom:0.5rem; border-left:1.0rem solid #fc3b9c; padding-left:0.5rem; /*position: relative; left:-1.5rem*/}
.single .postcontent p{ font-size:1.6rem; margin-bottom:1.5rem; line-height: 1.8;}
.single .postcontent strong{ font-weight: bold;}
.single .postcontent em{ font-style: italic;}
.single .postcontent ul{ padding-left:1.5rem;margin-bottom:2.5rem}
.single .postcontent li{ font-size:1.6rem; list-style-type: disc;}
.single .postcontent table{ font-size:1.6rem}
.single .postcontent th{ font-weight: bold;}
.single .postcontent a{ color: #fc3b9c; text-decoration: underline;}
.single .postcontent a:hover{ color: #fc3b9c;}
.navi-single{ display: flex; justify-content: center; align-items: center; font-size:1.6rem; margin:5.0rem 0}
.navi-single p{ display: inline-flex; align-items: center;}
.navi-single a{ font-weight: bold; padding: 0.5rem;}
.navi-single a:hover{ color: #fc3b9c;}
.navi-single .list{ margin:0 2.5rem}
.single .postcontent .linkbox{ padding:2.5rem 0; text-align: center; font-size:1.8rem; margin-bottom:5.0rem; background-color: #eeeeee;}
.single .postcontent .linkbox a{ display: block;}

/*投稿一覧ページ*/
.category .title-box h1{ width:30.2%; }
.category .title-box h1 i{ color: #4d4d4d; margin-bottom:2.5rem;}
.archive-wrap{ max-width:1000px; width:90%; margin:0 auto; padding:5.0rem 0}
.archive-wrap .information::before{ display: none;}
.archive-list {margin-bottom: 5.0rem;}
.archive-list li { padding:2.5rem; border-bottom:1px solid #4d4d4d}
.archive-list li .wrap{ display: flex; justify-content: space-between; align-items: center;}
.archive-list li .image{ width: 30%; height: auto; display: block;}
.archive-list li .image img{ width:100%; height: auto; display: block; object-fit: cover; object-position: center;aspect-ratio: 3 / 2; }
.archive-list li .text{ display: block; width:67%;}
.archive-list li .text i.date{ font-size:1.4rem; color: #fc3b9c; display: block;}
.archive-list li .text a{ font-size:2.4rem; color: #4d4d4d; display: block; font-weight: bold;}

/*紹介記事ページ*/
.single-article .data .name{ font-size:1.6rem; display: block;}
.single-article .data .name br{display: none;}
.single-article .data { text-align: right; justify-content: flex-end;}

/*紹介記事一覧ページ*/
.post-type-archive .title-box h1{ padding:5.0rem 0}
.error-404 { padding:10.0rem 0}
.error-404 h1{ text-align: center; font-size: 3.2rem; color: #000000; margin-bottom:2.5rem;}

/*==============================================
●PC版非表示
===============================================*/
.sp{ display:none!important;}







/*===============================================
●レスポンシブ  画面の横幅が1210pxまで
===============================================*/
@media screen and (max-width:1210px){
}



/*===============================================
●レスポンシブ  画面の横幅が1000pxまで
===============================================*/
@media screen and (max-width:1000px){
html{ font-size:0.95vw}
.searchbox .kubun li input{ transform:scale(1.3); margin-right:0.5rem;}
}

/*===============================================
●レスポンシブ  画面の横幅が800pxまで
===============================================*/
@media screen and (max-width:800px){
}






/*===============================================
●レスポンシブ  画面の横幅が600pxまで
===============================================*/
@media screen and (max-width:600px){
body{ min-width:320px; background-image:none;}
img{
max-width: 100%;
height: auto;
width /***/:auto;
}
html{ font-size:2.0vw}
.pc{ display:none!important;}
.sp{ display:block!important;}
.toppage .mv .bg img{ height: 80vh; object-fit: contain; object-position: top;}
.toppage .mv .box{ bottom:auto; top:66%}
.toppage .mv figcaption img{ display: none;}
.toppage .mv figcaption strong{ font-size:5.2rem}
.toppage .news .spot{width: 40%; top: -20rem; right: 0;}
.pagehead ul{ display: none;}
.pagehead h1.branding{ width:30%; margin:0 auto; padding:2.5rem 0}
.toppage .mv .bg{ width:90%}
.toppage .mv figure{ align-items: center;}
.toppage .feature .block{ flex-direction: column; align-items: center;padding:0}
.toppage .feature .block figure{ width:80%;}
.toppage .feature .text{ margin-bottom:2.5rem ;}
.toppage .feature .spot{ right:0; top:-10.0rem; width:30%;}
.toppage .topfaq .wrap{ display: block; width:80%}
.toppage .topfaq .image{ width:100%; margin-bottom:2.5rem}
.toppage .topfaq .text{ width:100%}
.toppage .topfaq .spot{ top:-5.0rem; right:-2.5rem; left:auto; bottom:auto; width:30%}
.toppage .course thead td{ padding:0.5rem; font-size:1.8rem; vertical-align: middle;}
.toppage .course td{ padding:0.5rem; font-size:1.6rem; vertical-align: middle;}
.toppage .course tbody td:nth-child(2){ white-space: normal;}
.toppage .course .wrap .spot{ width:33%}
.toppage .course h2+p{ padding:0 2.5rem}
.access {display:block}
.access .text{ width:100%; justify-content: center;}
.access iframe{ width:96.6%; margin:0 0 0 auto; height:40rem}
.contactdata .open ul{ width:66%; margin:0 auto; display: block;}
.contactdata .open li{ width:100%; margin-bottom:2.5rem}
.contactdata .open .spot{ bottom:0.5rem;left:0; top:auto; width:24% }

.entry-header{ flex-direction: column-reverse; justify-content: center; align-items: center;}
.about .entry-header figure{ bottom:0; right:0; width:80%}
.entry-header img{ width:100%; height:25rem; object-fit: contain; object-position: center;}
.contact ul{ flex-direction: column;}
.contact li{ width:100%;}
.contact .tel{ width:100%; margin-bottom:1.5rem}
.std2{ font-size:3.2rem;}
.entry-header h1 img{ height:7.5rem;}
.entry-header:before{ width:60%}
.houkagodayservice .block{ flex-direction: column;}
.houkagodayservice .block .text{ width:90%; margin:0 auto}
.houkagodayservice .block figure{ top:auto; right:auto; width:80%; margin:2.5rem auto;}
.nagare .block{ width:85%}
.nagare .spot{ bottom:auto; left:auto; top:-7.5rem; right:0; width:30%}
.nagare dl{ flex-direction: column;}
.nagare dt{ width:100%; max-width: none;}
.nagare dd{ width:100%; margin-bottom:5.0rem}
.nagare figure{ width:100%; margin:auto}
.schedule .wrap{ flex-direction: column; align-items: center; width:100%}
.schedule .box { width:100%; margin-bottom: 5.0rem;}
.schedule .box dl{ width:100%;}
.schedule .box dd i{ white-space: nowrap; margin-right:1.5rem}
.schedule .box:nth-of-type(1) dl:before{ margin:auto; left:0; right:0; bottom:0; top:0}
.schedule .box:nth-of-type(2) dl:before{ margin:auto; left:0; right:0; bottom:0; top:0}
.faq .entry-header figure{ width:60%}
.faqlist{ margin-top: 5.0rem;}
.hyouka .entry-header figure{ width:80%}
.hyouka .hyouka-list .block{ width:85%;}
.hyouka .hyouka-list li{ width:100%}
.hyouka .hyouka-list .description{ text-align: justify;}
.hyouka .hyouka-list li a strong{ font-size:2.1rem;}
.hyouka .hyouka-list .widebutton{ width:100%}


.site-footer ul{ width:100%; flex-wrap: wrap; justify-content: space-around;}
.site-footer li { width:45%; margin:0 auto; border-bottom:1px solid #e2815a; padding:1.5rem 0; margin-bottom:1.5rem}
.site-footer li a{ display: flex;  align-items:center; }
.site-footer li a:before{ content: ''; width:1.6rem; height: 1.6rem; background-color: #92bd4c; border-radius: 50%; display: block; margin-right:0.5rem}
.category .title-box h1{ width:60.4%}
.archive-list li{ padding:2.5rem 0}
.archive-list li .image img{ aspect-ratio: 1 / 1;}



}




/*　ハンバーガーボタン　*/
.hamburger {
background-color: var(--content-brand-green);
display : block;
position: fixed;
z-index : 1200;
right : 1.0rem;
top   : 1.0rem;
border-radius: 0.5rem;
width : 42px;
height: 42px;
cursor: pointer;
text-align: center;
border:1px solid #ffffff;
}
.hamburger span {
display : block;
position: absolute;
width   : 30px;
height  : 3px ;
left    : 6px;
background : #ffffff;
-webkit-transition: 0.3s ease-in-out;
-moz-transition   : 0.3s ease-in-out;
transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
top: 10px;
}
.hamburger span:nth-child(2) {
top: 20px;
}
.hamburger span:nth-child(3) {
top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
top : 20px;
left: 6px;
-webkit-transform: rotate(-45deg);
-moz-transform   : rotate(-45deg);
transform        : rotate(-45deg);
}  
.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
top: 20px;
-webkit-transform: rotate(45deg);
-moz-transform   : rotate(45deg);
transform        : rotate(45deg);
}
nav.globalMenuSp {
position: fixed;
z-index : 1000;
top  : 0;
left : 0;
color: #070030;
background: rgba(255, 255, 255, 0.95);
text-align: center;
transform: translateY(-100%);
transition: all 0.6s;
width: 100%;
}
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
transform: translateY(0%);
}
/*メニューレイアウト*/
.globalMenuSp .wrap{ z-index:1000; overflow: scroll; height: 100vh; position: relative; -webkit-overflow-scrolling: touch;}
.globalMenuSp .branding{ width:16.0rem; margin:2.5rem auto}
.globalMenuSp .branding img{ display: block; width:100%;}


.globalMenuSp .branding+ul{ padding:2.5rem 0; text-align: left; width:85%; margin:0 auto; display: flex; flex-wrap: wrap; justify-content: space-around;}
.globalMenuSp .branding+ul li { padding: 2.5rem 0; width:50%}
.globalMenuSp .branding+ul li a{ font-size:2.4rem; font-weight: bold; display: flex; align-items: center;}
.globalMenuSp .branding+ul li a:before{ content: ''; width:1.6rem; height: 1.6rem; background-color: var(--content-brand-green); border-radius: 50%; display: block; margin-right:0.5rem}
.globalMenuSp .contact { width:85%;}
.globalMenuSp .close{ text-align: left;}
.globalMenuSp .close dt{ margin-right: 1.5rem;}
.globalMenuSp .contact li{ padding:0.5rem 0}