　@charset "UTF-8";
/*
Theme Name: maketheme
Author: NOA
Description: オリジナルテーマです
Version: 1.0
*/

.post-password-required input {
border: 1px solid #aaa;
position:relative;
z-index:1;
}

.home .post-password-required {
margin-top:0;
}

/*パスワード保護の画面*/

body {
line-height: 1.7;
}

img {
max-width:100%;
height:auto;
}

.center {
text-align:center;
}


.relative{
position:relative;
}

.absolute{
position:absolute;
}


.left{
text-align:left;
}

.right{
text-align:right;
}

.inline_block {
display: inline-block;
}

.space_70 {
margin: 70px 0 70px 0;
}

.space_50 {
margin: 50px 0 50px 0;
}

.space_35 {
	margin: 35px 0 35px 0;
}

.margin_top50{
margin-top:50px;
}

.margin_top1rem{
margin-top:1rem;
}

.padding_120 {
padding-top: 120px;
padding-bottom: 120px;

}

.padding_100{
padding-top: 100px;
padding-bottom: 100px;
}


.padding_70{
padding-top: 70px;
padding-bottom: 70px;
}

.padding_50{
padding-top: 50px;
padding-bottom: 50px;
}

.fit_content {
    width: fit-content;
    margin: 0 auto;
}

.under_line {
border-bottom: 1px solid #000;

}

@media(max-width:768px){
.space_70 {
margin: 35px 0 35px 0;
}

.space_50 {
margin: 25px 0 25px 0;
}

.margin_top50{
margin-top:25px;
}
	
.padding_120 {
padding-top: 60px;
padding-bottom: 60px;

}
	
.padding_100{
padding-top: 50px;
padding-bottom: 50px;
}



.padding_70{
padding-top: 35px;
padding-bottom: 35px;
}

.padding_50{
padding-top: 25px;
padding-bottom: 25px;
}

}

@media(min-width:841px){
.br_840{
display:none;
}
}
@media(min-width:769px){
.br_768{
display:none;
}
}

@media(min-width:601px){
.br_600{
display:none;
}
}

@media(min-width:501px){
.br_500{
display:none;
}
}

@media(min-width:415px){
.br_414{
display:none;
}
}

@media(min-width:370px){
.br_369{
display:none;
}
}





@media(min-width:375px){
.br_374{
display:none;
}
}

@media(min-width:349px){
.br_349{
display:none;
}
}




@media(max-width:768px){
.none_768{
display:none;
}

}


textarea {
    max-width: 100%;
}

td:not(.check) input {
    width: 100%;
}





.container{
max-width:1152px;
width:90%;
margin:0 auto;
}

.entry_body{
max-width:1024px;
}

@media screen and (min-width: 601px) and (max-width:768px) {
.container {
width:90%;
max-width:none;
   }
}


@media(max-width:600px) {
.container {
width:90%;
max-width:none;
   }
}




/*フォント*/
.ss_font{
font-size:1.125rem;
}/*18px*/

.s_font{
font-size:1.25rem;
}/*20px*/

.m_font{
font-size:1.625rem;
}/*26px*/

.l_font{
font-size:1.875rem;
}/*30px*/

.font50 {
    font-size: 50px;

}

.font40 {
    font-size: 40px;

}


.font30 {
    font-size: 30px;

}

.font24 {
    font-size: 24px;

}




@media(max-width:1100px){
.m_font{
font-size:1.375rem;
}/*22px*/

}

@media(max-width:600px){
.m_font{
font-size:1.2rem;
}/*19px*/

.l_font {
    font-size: 1.5rem;
}/*24px*/
	
.font50 {
font-size: 30px;

}
	
.font40 {
font-size: 26px;

}


.font30 {
font-size: 24px;

}
	
.font24 {
font-size: 20px;

}
	


}

@media (max-width:349px) {
    .font24 {
        font-size: 18px;
    }
}



/*ヘッダー*/
header {
display: flex;
color:#aaa;
}

.front_header_logo {
position:absolute;
top:10px;
left:2%;
z-index:1;
}/*トップページのロゴを下の要素と被せない場合は不要だが、代わりにheader_flex_child1と同じpaddingを設定する*/

.header_flex_child1 {
width: 30%;
padding:10px 2%;
align-self:center;
}
.header_flex_child2 {
width: 70%;
padding:10px 2%;


}

/*アーカイブページ、投稿一覧のヘッダーをウィジェットと被せる*/
.header_bottom {
margin-top: -47px;/*ロゴによって変更*/
position: relative;
z-index: -10;
}

@media(min-width:1000px){
.header_bottom {
margin-top: -63px;/*ロゴによって変更*/

}

}

/*グローバルナビ*/

@media(min-width:1000px){
.menu {
display: flex;
justify-content:center;
}

header .menu {
justify-content: end;

}

nav li:not(:last-child) {
    margin-right: 2%;
}

.scrolled header .header_flex_child2 {
background:#fff;
width:100%;
position: fixed;
padding:10px 2%;
z-index:10;
animation: headersticky 1s ease .5s forwards;
opacity:0;

}/*ヘッダーメニューの追従*/

@keyframes headersticky{
0%{
transform: translateY(-20px);
    }
100%{
transform: translateY(0);
opacity:1;
    }
}/*ヘッダーメニューの追従*/

.menu_sticky {
position: sticky;
position: -webkit-sticky;
top: 0;
}/*ページ内のメニューの追従*/

/*ホバー時の下線*/

nav.globalMenuSp ul li a{
display: block;
padding: 0.5em 0;
text-decoration :none;
position:relative;
width:fit-content;
/*margin:0 auto;*/
}

nav.globalMenuSp ul li a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 1px;
background: #fff;
bottom: 0;
transform: scale(0, 1);
transform-origin: left top;
transition: transform 0.3s;
}

nav.globalMenuSp ul li a:hover::after {
transform: scale(1, 1);
}/*ホバー後、x軸方向に1（相対値）伸長、ここまで*/

}




/*　ハンバーガーボタン　*/
@media(max-width:999px){
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
right : 13px;
top:20px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #555;
  -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: 16px;
        left: 6px;
        background: #644100;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
    
    }

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
        top: 16px;
        background: #644100;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    
    }

nav.globalMenuSp {
        position: fixed;
        z-index: 2;
        top: 0;
        left: 0;
        color: #644100;
        text-align: center;
        opacity: 0;
        transition: opacity .6s ease, visibility .6s ease;
        width: 100vw;
        height: 100vh;
        visibility: hidden;
        background-color: #fffaf3;
    
    }

nav.globalMenuSp ul {
        margin: 50px auto;
        padding: 0;
        width: 80%;
        opacity: 0;
        transition: opacity .6s ease;
        text-align: left;
        max-width: 500px;
    
    }

nav.globalMenuSp ul li {
list-style-type: none;
padding: 0.5em 0;
width: 100%;

}

nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}

/*ホバー時の下線*/

nav.globalMenuSp ul li a{
        display: block;
        color: #644100;
        padding: 0.5em 0;
        text-decoration: none;
        position: relative;
        width: 100%;
        margin: 0 auto;
    
    }

nav.globalMenuSp ul li a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 1px;
background: #fff;
bottom: 0;
transform: scale(0, 1);
transform-origin: left top;
transition: transform 0.3s;
}

nav.globalMenuSp ul li a:hover::after {
        /* transform: scale(1, 1); */
    
    }/*ホバー後、x軸方向に1（相対値）伸長、ここまで*/



/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
opacity: 100;
visibility:visible;
}

nav.globalMenuSp.active ul {
opacity: 100;
}
}

@media(min-width:1000px){
.hamburger {
display:none;
}
}

/*カテゴリー、月別アーカイブ*/
.archive h1 {
font-size: 2rem;
text-align:center;
margin:3% auto;
}

.archive .post_archive_flex {
margin:0 auto;
}

/*カテゴリー、月別アーカイブ、投稿一覧抜粋バージョン*/

/*.post_archive_ex{
max-width: 1000px;
margin: 0 auto;
}*/

.dashicons-arrow-right-alt2:before {
    content: "\f345";
    margin-top: -2px;
    display: block;
}


.post_archive_flex2 {
    display: flex;
    align-items: center;
    border-top: 1px solid #EE8376;
    padding: 1rem 0;

}

.post_archive_ex article:last-child{
border-bottom:1px solid #EE8376;
}

.post_archive_flex2 figure {
width: 260px;
margin:0;
}

.post_archive_flex2 figure img{
width: 100%;
height: 168px;
object-fit: cover;
}

.post_archive_flex2 h2 {
font-weight: bold;
}

.post_archive_text2 {
 width:calc(100% - 260px);
padding-left: 82px;
}

.ex {
    display: block;
    text-align: right;
margin: 4% 0 0;
}

@media(max-width:768px){
.post_archive_flex2 {
display:block;
padding:1rem;
}

.post_archive_flex2 figure {
width: 100%;
max-width:266px;
margin:0 auto 1rem auto;
}

.post_archive_text2 {
width:100%;
padding-left: 0;
}

}






/*投稿一覧*/
.post_archive_flex {
display: flex;
row-gap: 50px;
margin: 5% auto 0;
width: 85%;
flex-wrap:wrap;
max-width: 1000px;
}
.post_archive_flex article {
    width: 33.3%;
    border: 1px solid #eee;
}
.post_archive_flex article img {
    display: block;
    height: 18vw;
    max-height: 228px;
min-height: 120px;
object-fit: cover;
width:100%;
}

.post_archive_text {
    padding: 0 1em 1em 1em;
}

.post_archive_page_nav {
    max-width: 1000px;
    text-align: center;
    margin: 2% auto;
}

body .dashicons, .dashicons-before::before {
vertical-align: text-bottom;

}
body .dashicons, .dashicons-before:before {
font-weight: 300;
font-size: 22px;
}




@media(max-width:768px){
.post_archive_flex article {
width: 50%;
}
.post_archive_flex article img {
height: 20vw;

}
}

@media(max-width:600px){
.post_archive_flex {
width: 96%;
}
}

/*3カラムアーカイブ(スペースあり)*/


.post_archive_flex {
max-width: 1020px;
column-gap: 16px;
row-gap:2.5rem;

}

.post_archive_flex article {
width: calc((100% - 32px) / 3);
border: none;
position: relative;
border-bottom: 1px solid #000;
padding: 0 0 4rem 0;
min-width: 300px;
}

.post_archive_flex article img {
min-height: 200px;

}

.post_archive_text {
padding: 1em 0;
}


/*テキストの高さを揃える*/

.post_archive_flex article {
display: flex;
}
.post_archive_flex a {
display: flex;
flex-direction: column;
}

.post_archive_text {
    padding: 1.2rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.post_archive_text h2 {
flex-grow: 1;
}



@media(min-width:1101px){
.works:not(:nth-of-type(3n)):after{
content: "";
position: absolute;
width: 16px;
height: 1px;
bottom: -1px;
right: -16px;
display: block;
background-color: #000;
}
}

@media(max-width:1100px){

.post_archive_flex {
width: 616px;
}

.works:not(:nth-of-type(2n)):after{
content: "";
position: absolute;
width: 16px;
height: 1px;
bottom: -1px;
right: -16px;
display: block;
background-color: #000;
}

}

@media(max-width:725px){

.post_archive_flex {
width:100%;
}

.post_archive_flex article {
width: 80%;
padding:0 0 2rem 0;
}

.post_archive_flex article img {
height: 50vw;
max-height:none;

}

.works::after {
display:none!important;
}

.post_archive_flex {
justify-content: center;
}

}


/*ここまで*/



/*投稿記事*/
.single h1 {
font-weight:bold;

}

/*.single .post h2 {
font-size: 1.5rem;
}

.single p {
margin: 1rem 0;
}*/




/*ユーザーが投稿、カスタム投稿するときのブロックエディターの装飾*/
.wp-block-table.alignright {
    margin: 0 0 0 auto;
}


/*管理画面用*/

html :where(.wp-block)[data-align="left"], html :where(.wp-block)[data-align="right"] {
    width: 100%;
    height: auto;
}

html :where(.wp-block)[data-align="right"] > * {
display: block;
margin: 0 0 0 auto;
width: fit-content;
float: none;
}

html :where(.wp-block)[data-align="left"] > *{
display: block;
margin: 0 auto 0 0;
width: fit-content;
float: none;
}

.wp-block-post-content {
    max-width: 840px;
    margin: 0 auto;
}


/*フロントエンド*/

.wp-block-table table{
max-width:100%;
}


.wp-block-table.alignleft table,.wp-block-table.alignright table,.wp-block-table.aligncenter table{
    display: block;
}

.wp-block-table table th{
text-align:center;
}

.wp-block-table table th.has-text-align-right {
text-align: right;
}

.wp-block-table table th.has-text-align-left {
text-align: left;
}

.wp-block-table.aligncenter {
    margin: 0 auto;
}

.single td,.single th {
vertical-align: middle;
}

.wp-block-list {
list-style: inside;
}

.single .container > * {
    margin-bottom: 1rem;
}

.single .container > div > .post > div > * {
    margin-bottom: 1rem;
}


/*見出し装飾*/

h2.wp-block-heading{
position:relative;
padding: 0.5em .7em;
background-color: #2C343D;/**/
color: #fff;
font-size: 28px;
margin-bottom:2rem!important;
}

h2.wp-block-heading::before {
    content: "";
    width: 100%;
    border: 1px solid #aaa;
    height: 100%;
    display: block;
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
}


h3.wp-block-heading {
    border-bottom: 2px solid #2C343D;
    position: relative;
    font-size: 24px;
}


h3.wp-block-heading::before {
position: absolute;
bottom: -4px;
left: 0;
width: 100%;
height: 1px;
background-color: #000000;
content: '';
}

h4.wp-block-heading {
border-bottom: 1px solid #aaa;
position:relative;
font-size: 20px;
display:inline-block;
}


h4.wp-block-heading::before {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 70%;
height: 2px;
background-color: #2C343D;
content: '';
}

h5.wp-block-heading {
    border-left: 2px solid #2C343D;
    font-size: 18px;
    padding-left: 0.5rem;
}



@media(max-width:768px){
h2.wp-block-heading {
font-size: 24px;
}

h3.wp-block-heading {
font-size: 20px;
}

h4.wp-block-heading {
font-size: 18px;
}

h5.wp-block-heading{
font-size: 16px;
}

}
/*ここまで*/




.post_page_nav .nav-links {
display: flex;
justify-content: space-between;
flex-wrap:wrap;
}

.post_page_nav .nav-previous {
width: 40%;
display: flex;
align-items: center;
}

.post_page_nav .nav-next {
    width: 40%;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: end;
    margin-right: 0;
    margin-left: auto;
}

.post_page_nav .nav-previous a,.post_page_nav .nav-next a{
vertical-align:middle;
}

.post_page_nav .nav-previous::before {
font-family: "dashicons";
content: "\f341";
vertical-align: middle;
margin-right:5px;
font-size:20px;
display: block;
}

.post_page_nav .nav-next::after {
    font-family: "dashicons";
    content: "\f345";
    vertical-align: middle;
    margin-left: 5px;
    font-size: 20px;
    display: block;
}

.post-categories li::before {
font-family: "dashicons";
content: "\f318";
vertical-align: middle;
margin-left:5px;
font-size:20px;

}

.post-categories a{
vertical-align: middle;

}

.post-categories {
    display: flex;
    flex-wrap: wrap;
}

.post-categories li {
    width: fit-content;
    margin-right: 5px;
}

@media(max-width:600px){
.post_page_nav .nav-previous {
width: 96%;
margin-bottom:3%;
}

.post_page_nav .nav-next {
width: 96%;
}
}


/*関連記事*/
.slick01 .slick-slide img {
display: block;
height:12vw;
max-height:162px;
min-height:100px;
object-fit:cover;
width:100%;
}
.slick01 .slick-prev {
    left: 0;
}
.slick01 .slick-next {
    right: 0;
}
.slick01 .slick-next::before,.slick01 .slick-prev::before {
color: #aaa;
}
.slick01 .slick-list.draggable {
width: 91%;
margin: 0 auto;
}

.myrelated {
    margin-top: 5%;
}

.myrelated h2 {
margin-bottom: 2%;
}

/*サイドバー*/

.mycols {
display: flex;
justify-content: center;
margin: 0 auto;
max-width: 1024px;
flex-wrap:wrap;
}

.mycontent {
width: calc(100% - 272px);
padding-right: 62px;
}
.sidebar {
width:272px;
}


@media(max-width:1000px){

.mycontent {
width: 100%;
padding-right: 0;
margin-bottom:2rem;
}
.sidebar {
width: 100%;

}

.mycols {
padding-left:1rem;
padding-right:1rem;
}

}

/*404エラー*/
[id="404"] {
    max-width: 1000px;
margin: 5% auto 0;
}

/*テーブル*/

/*.wp-block-table td, .wp-block-table th {
border: none;
}*/

table {
    max-width: 800px;
    margin: 0 auto;
}

/*サブメニュー*/
nav ul li{
	position: relative;
}

@media (min-width: 1000px) {
nav li.menu-item-has-children:not(:last-child) {
margin-right: 4%;
    }
}


/*==矢印の設定*/

/*2階層目を持つliの矢印の設定*/
nav ul li.menu-item-has-children::before {
    content: '';
    position: absolute;
    left: auto;
    top: 40%;
    width: 8px;
height: 8px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
transform: rotate(135deg);
right: -15px;

}

/*3階層目を持つliの矢印の設定*/
nav ul ul li.menu-item-has-children::before{
content:'';
position: absolute;
left:6px;
top:42%;
width:8px;
height:8px;
border-top: 2px solid #fff;
border-right:2px solid #fff;
transform: rotate(45deg);
}

/*== 2・3階層目の共通設定 */

/*下の階層を持っているulの指定*/


nav li.menu-item-has-children ul {
    position: absolute;
    left: auto;
    top: 40px;
    z-index: 4;
    background: #71C7E2;
    width: 300px;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
    padding-bottom: 0.5rem;
    border-radius: 10px;
    padding-left: 30px;
    padding-right: 30px;
    right: 0;
}


@media(max-width:999px){

nav li.menu-item-has-children ul{
    position: absolute;
    left: 0;
    top: 40px;
    z-index: 4;
    background: #71C7E2;
    width: 180px;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
    padding-bottom: 0.5rem;
    border-radius: 10px;
    padding-left: 30px;
    padding-right: 30px;

}
	
}

/*hoverしたら表示*/
nav li.menu-item-has-children:hover > ul,
nav li.menu-item-has-children ul li:hover > ul,
nav li.menu-item-has-children:active > ul,
nav li.menu-item-has-children ul li:active > ul{
  visibility: visible;
  opacity: 1;
}

/*ナビゲーションaタグの形状*/
nav li.menu-item-has-children ul li a{
	color: #fff;
}

nav li.menu-item-has-children ul li:last-child a{
	border-bottom:none;
}


/*==3階層目*/

/*3階層目の位置*/
nav li.menu-item-has-children ul ul{
	top:0;
	left:182px;
	background:#66ADF5;
}

nav li.menu-item-has-children ul ul li a:hover,
nav li.menu-item-has-children ul ul li a:active{
	background:#448ED3;
}


/*==999px以下の形状*/

@media screen and (max-width:999px){
	nav{
		padding: 0;
	}

	nav ul{
		display: block;
	}

nav li.menu-item-has-children ul,
nav li.menu-item-has-children ul ul{
        position: relative;
        left: 0;
        top: 0;
        width: 100%;
        visibility: visible;
        opacity: 1;
        display: none;
        transition: none;
        margin: 10px 0;
    
    }


nav ul li.menu-item-has-children::before {
content: none;

}

nav ul ul li.menu-item-has-children::before {
content:none;

}

/*矢印の位置と向き*/

nav ul li.menu-item-has-children > span > a::before {
    content: '';
    position: absolute;
    left: auto;
    top: 40%;
    width: 8px;
height: 8px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
transform: rotate(135deg);
right: -15px;

}

nav ul ul li.menu-item-has-children > span > a::before{
transform: rotate(135deg);
}
    
/*activeクラスを付与して矢印を上向にする用*/
nav ul li.menu-item-has-children.active > span > a::before{
    transform: rotate(-45deg);
}

}






/*完了画面でフッターが一番下に来るように*/

/*サブページのヘッダー<section class="sub_header"><img src=""></section>
 *
 * @media (min-width: 1000px) {
.contact_thanks.padding_70, .single-post .mycols {
min-height: calc(100vh - 726px);
        }

.sub_header img {
height: 390px;
object-fit: cover;
width: 100%;

}

    }

@media (max-width: 999px) {
.contact_thanks.padding_70, .single-post .mycols {
min-height: calc(100vh - 626px);
        }

.sub_header img {
height: 300px;

}

    }


@media (max-width:768px) {
.contact_thanks.padding_70, .single-post .mycols {
min-height: calc(100vh - 576px);
    }
}

@media (max-width: 600px) {

.sub_header img {
height: 200px;

}

}*/

/*ここまで*/



/*以下、不要な項目は削除*/

/*１、ゆっくりズームインの画像*/

.slide {
position: relative;
width: 100%;
height: 800px;
overflow: hidden;
}/*高さは固定*/

@media(max-width:600px){
.slide {
height: 500px;
}
}

.slide-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
animation: slider-1 24s linear infinite;
}
.slide-image:nth-child(1) {
background-image: url("https://test.ciabody-femcare.com/wp-content/uploads/2023/07/26329504_m.jpg");
animation-delay: -2s;
  }

/*幅600px以下かつ、デバイスピクセル比2以上の場合*/
@media only screen and (max-width: 600px) and (-webkit-min-device-pixel-ratio: 2){
.slide-image:nth-child(1) {
background-image: url("https://test.ciabody-femcare.com/wp-content/uploads/2023/07/26329504_m.jpg");
animation-delay: -2s;
  }
}

.slide-image:nth-child(2) {
background-image: url("https://test.ciabody-femcare.com/wp-content/uploads/2023/07/26772999_m.jpg");
animation-delay: 6s;
  }

.slide-image:nth-child(3) {
background-image: url("https://test.ciabody-femcare.com/wp-content/uploads/2023/07/26953541_m.jpg");
animation-delay: 14s;
  }

@keyframes slider-1 {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  4.16% {
    opacity: 1;
  }
  33.33% {
    opacity: 1;
  }
  41.66% {
    opacity: 0;
    transform: scale(1.2);
  }
  100% {
  opacity: 0;
  }
}
/*background-imageを早めに読み込むため、1枚目の写真のURLを入れてheader.phpの<head>へ貼り付け

<?php if( is_front_page() ): ?>
<link rel="preload" href="1枚目の写真のURL" as="image">
<?php endif; ?>
*/


/*2、ゆっくりズームイン、縦横比はそのままで親要素の高さ可変*/

.slide2 {
position: relative;
width: 100%;
height:auto;
overflow: hidden;
max-height:800px;
}

.slide2::before {
content: "";
display: block;
padding-top: 56.49%;
}/*子要素の高さに親要素を合わせる、1600px:900px=1.77:1 幅に対して高さ56.49%*/

.slide-image2 {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
animation: slider-2 24s linear infinite;
}
.slide-image2 img {
width: 100%;
height: 100%;
object-fit:cover;
}


.slide-image2:nth-child(1) {
animation-delay: -2s;
  }

.slide-image2:nth-child(2) {
animation-delay: 6s;
  }

.slide-image2:nth-child(3) {
animation-delay: 14s;
  }



@keyframes slider-2 {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  4.16% {
    opacity: 1;
  }
  33.33% {
    opacity: 1;
  }
  41.66% {
    opacity: 0;
    transform: scale(1.2);
  }
  100% {
  opacity: 0;
  }
}


.fv {
  position: relative;
}
.fv-copy {
position: absolute;
font-size: 34px;
font-weight: bold;
color: #FFFFFF;
z-index: 1;
letter-spacing: 0.35em;
line-height: 1.24;
writing-mode: vertical-rl;
}
.fv-copy-01 {
bottom:30%;
top: auto;
right:50%;
left:auto;

  }

/*３、背景の写真固定デザイン,transformは入ると対応しない
<div class="hoge">
<p class="relative">ここにテキスト。テキストに応じて画像の高さも変わる。z-index1を指定する</p>
<div class="hoge__attachment">
<div class="hoge__attachment__clip">
<img src="" alt="" loading="lazy">
</div>
</div>
</div>
*/
.hoge{
position:relative;
overflow: hidden;
}

.hoge__attachment{
position:absolute;
left:0;
top:0;
display:block;
height:100%;
width:100%;
overflow: hidden;
}
.hoge__attachment__clip{
position:relative;
overflow:hidden;
clip-path:inset(0 0 0 0);/*要素を矩形にトリミング*/
height:100%;

  }
.hoge__attachment__clip img{
position:fixed;
width:100%;
min-height:100vh;
height:auto;
left:0;
top:0;
pointer-events:none;
object-fit:cover;
  }


/*４、画面いっぱいスライドショー、最新記事などのslick03をslick02にすれば画面１枚ずつの表示*/
.slick02_sliderArea{
max-width: 100%;
margin: 0 auto;
padding:0 auto;
}

.slick02 .slick-slide {
margin: 0 auto;
}
.slick02 .slick-slide img {
  width: 100%;
  height: auto;
}
.slick02 .slick-prev, .slick-next {
z-index: 1;
}
.slick02 .slick-prev:before,.slick02 .slick-next:before {
  color: #000;
}

.slick02 .slick-prev {
left: 0;
}
.slick02 .slick-next {
right: 0;
}


.slick02 .slick-active {
  opacity: 1;
}


.slick02 .slick-current {
  opacity: 1;
}

.slick02 .thumb {
  margin: 20px 0 0;
}
.slick02 .thumb .slick-slide {
  cursor: pointer;
}


.slick02 .slick-dots {
bottom: 10px;

}

.slick02.full-screen .slick-list {
overflow: visible;
}

.slick02_sliderArea {
overflow: hidden;
}

.slick02.full-screen.slider {
max-width: 100vw;
margin: 0 auto;
}


/*高さの上限*/
.slick-slide {
max-height: 900px;
}

.slick02 .slick-slide img {
object-fit: cover;
max-height: 900px;
}

/*4.5、サムネイルを押すか矢印を押すと画像が切り替わる*/

/*メイン画像下に余白をつける*/

.gallery{
	margin:0 0 5px 0;
}

.gallery li{
list-style:none;
}

.gallery .slick-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    max-height: 900px;
    /* max-width: 1920px; */
    object-position: center;
    /* text-align: center; */
    margin: 0 auto;
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.make-slick-prev,
.make-slick-next {
    position: absolute;/*絶対配置にする*/
	z-index: 3;
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #ccc;/*矢印の色*/
    border-right: 2px solid #ccc;/*矢印の色*/
    height: 25px;
    width: 25px;
}

.make-slick-prev {/*戻る矢印の位置と形状*/
    left:2.5%;
    transform: rotate(-135deg);
}

.make-slick-next {/*次へ矢印の位置と形状*/
    right:2.5%;
    transform: rotate(45deg);
}

/*選択するサムネイル画像の設定*/

.choice-btn li{
cursor: pointer;
outline: none;
background:#333;
list-style:none;
}

.choice-btn li img{
opacity: 0.4;/*選択されていないものは透過40%*/
}

.choice-btn .slick-current li img{
opacity: 1;/*選択されているものは透過しない*/
}

.choice-btn .slick-track {
	transform: unset !important;/*画面幅サイズ変更に伴うサムネイル固定*/
}

/*サムネイルを押すか矢印を押すと画像が切り替わる2*/

/*メイン画像下に余白をつける*/
.gallery_auto{
	margin:0 0 5px 0;
}

.gallery_auto li{
list-style:none;
}
/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
    position: absolute;/*絶対配置にする*/
	z-index: 3;
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #ccc;/*矢印の色*/
    border-right: 2px solid #ccc;/*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left:2.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right:2.5%;
    transform: rotate(45deg);
}

/*選択するサムネイル画像の設定*/

.choice-btn_auto li{
	cursor: pointer;
	outline: none;
	background:#333;
list-style:none;
}

.choice-btn_auto li img{
	opacity: 0.4;/*選択されていないものは透過40%*/
}

.choice-btn_auto li.slick-current img{
	opacity: 1;/*選択されているものは透過しない*/
}

.gallery_auto .slick-next:before,.gallery_auto .slick-prev:before,.choice-btn_auto .slick-next:before,.choice-btn_auto .slick-prev:before{
display:none;

}

/*4.6、ギャラリー*/

.all_gallery{
columns: 4;/*段組みの数*/
padding:0 15px;/*ギャラリー左右に余白をつける*/
margin:0;
}

.all_gallery li {
    margin-bottom: 20px;/*各画像下に余白をつける*/
list-style:none;
}

/*ギャラリー内のイメージは横幅100%にする*/
.all_gallery img{
	width:100%;
	height:auto;
	vertical-align: bottom;/*画像の下にできる余白を削除*/}

/*　横幅900px以下の段組み設定　*/
@media only screen and (max-width: 900px) {
.all_gallery{
	columns:3;
	}
}

@media only screen and (max-width: 768px) {
.all_gallery{
	columns: 2;
	}
}

/*画像を出現させるアニメーションCSS*/

.flipLeft{
animation-name: flipLeft;
animation-duration:0.5s;
animation-fill-mode:forwards;
perspective-origin: left center;
opacity: 0;
}

@keyframes flipLeft{
  from {
   transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
 	opacity: 0;
  }

  to {
  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
  opacity: 1;
  }
}



/*5、文字が１字ずつ出現する(eachTextAnimeクラスを付与しておく)*/

.eachTextAnime {opacity: 0;}
.eachTextAnime.appeartext {opacity: 1;}

.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
  0% {opacity:0;}
  100% {opacity:1;}
}

.eachTextAnime2 {opacity: 0;}
.eachTextAnime2.appeartext {opacity: 1;}

.eachTextAnime2 span{opacity: 0;}
.eachTextAnime2.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
  0% {opacity:0;}
  100% {opacity:1;}
}


.eachTextAnime3 {opacity: 0;}
.eachTextAnime3.appeartext {opacity: 1;}

.eachTextAnime3 span{opacity: 0;}
.eachTextAnime3.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
  0% {opacity:0;}
  100% {opacity:1;}
}




/*6、新着記事スライドショートコード(サムネイルあり)*/
.new_post_list {
max-width: 1000px;
margin:0 auto;
}

.new_post_list .slick-slide {
padding: 10px;
}

.new_post_list .slick-slide img {
width: 100%;
height: 12vw;
max-height: 200px;
min-height: 100px;
object-fit: cover;
}
.slick03 .slick-prev:before,.slick03 .slick-next:before {
  color: #000;
}

/*7、新着記事ショートコード(サムネなし5件)*/
.new_post_noimagelist ul {
    max-width: 750px;
    margin: 50px auto;
    width: fit-content;
}

.new_post_noimagelist li a {
    display: flex;
    margin-bottom: 1rem;
    flex-wrap: wrap;
    justify-content: center;
}

.new_post_noimagelist span {
margin-right: 30px;
    width: 130px;
    white-space: nowrap;
}

.new_post_noimagelist h3 {
width: calc(100% - 160px);
}

@media(max-width:600px){
.new_post_noimagelist span {
padding-right: 0;
width: 100%;
}

.new_post_noimagelist h3 {
width: 100%;
margin-bottom:0;
}
	
.new_post_noimagelist ul {
    max-width: 750px;
    margin: 25px auto;
    width: 90%;
}
	
	
}


/*8、スクロールアニメーション、ロッテぃ*/
#scroll {
position: absolute;
width: 20%;
left: -5%;
bottom: -12%;
min-width: 300px;
max-width:380px;
}

@media(max-width:600px){

#scroll {
left: -20%;
bottom: -20%;
}
}


/*9、アコーディオン
 * <ul class="accordion-area"><li><section>
<h3 class="title">質問</h3>
<div class="box">
<p>回答</p>
</div>
</section></li></ul>
 * */

/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    width: 96%;
    max-width: 900px;
    margin:0 auto;
}

.accordion-area section {
	border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.title {
position: relative;/*+マークの位置基準とするためrelative指定*/
cursor: pointer;
font-size:1rem;
font-weight: normal;
padding: 3% 50px 3% 3%;
/*transition: all .5s ease;*/
}

/*アイコンの＋と×*/
.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
background-color: #651901;

}
.title::before{
top:48%;
right: 15px;
transform: rotate(0deg);

}
.title::after{
top:48%;
right: 15px;
transform: rotate(90deg);

}

body .title {
padding-left: 2.7rem;
text-indent: -1.7rem;
}

.accordion-area li:first-child {
    margin-top: 0;
}

.accordion-area li {
margin: 1rem 0;

}

/*　closeというクラスがついたら形状変化　*/
.title.close::before{
	transform: rotate(45deg);
}

.title.close::after{
	transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/

.box {
display: none;
background: #f3f3f3;
margin:0 3% 3% 3%;
padding: 3%;
}

/*cssのみで実装するとき追加
 * <div class="faq_accordion">
<input type="checkbox" id="toggle1" class="toggle">
<label class="title" for="toggle1">質問</label>
<div class="faq_content">
<p>回答</p>
</div>
</div>



.faq_accordion{
width: 96%;
max-width: 900px;
margin-left:auto;
margin-right:auto;
position: relative;
border-radius: 30px;
background-color: rgba(173,216,230,.7);
}

.faq_accordion:not(:last-child) {
    margin-bottom: 1rem;
}

.toggle {
display: none;
}


.title,
.faq_content {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform: translateZ(0);
transition: all 0.3s;
}

.title {
    padding: 3% 50px 3% 3%;
    display: block;
    font-weight: bold;
}

.title::after,
.title::before {
transition: all 0.3s;
}



.faq_content {
max-height: 0;
overflow: hidden;
}
.faq_content p {
margin: 0 3% 3% 3%;
padding: 3%;
line-height: 1.5;
background-color: #FFFAF3;
border-radius: 30px;
}

.toggle:checked + .title + .faq_content {
max-height: 500px;
transition: all 1.5s;
}
.toggle:checked + .title::before {
transform: rotate(45deg) !important;
}

.toggle:checked + .title::after {
transform: rotate(-45deg) !important;
}

*/



/*10、背景が流れるボタン
<a href="" class="make_btn bgskew"><span></span></a>
*/
.make_btn{
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
	overflow: hidden;
    /*ボタンの形状*/
	text-decoration: none;
display: inline-block;
border: 1px solid #fff;/* ボーダーの色と太さ */
    padding: 10px 30px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
transition: ease .2s;
background-color:#fff;
}

/*ボタン内spanの形状*/
.make_btn span {
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	color:#333;
}

.make_btn:hover span{
	color:#fff;
}

/*== 背景が流れる（斜め） */
.bgskew::before {
	content: '';
    /*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: -130%;
    /*色や形状*/
	background:#333;
	width:120%;
	height: 100%;
	transform: skewX(-25deg);
}

/*hoverした時のアニメーション*/
.bgskew:hover::before {
	animation: skewanime .5s forwards;/*アニメーションの名前と速度を定義*/
}

@keyframes skewanime {
	100% {
		left:-10%;/*画面の見えていない左から右へ移動する終了地点*/
	}
}


/*11、矢印が右に移動して背景がつくボタン
<a href="" class="btnarrow5 btnarrow5_left">btnarrow5_leftは左用</a>
*/

.btnarrow5{
    /*矢印の基点とするためrelativeを指定*/
	position: relative;
    /*ボタンの形状*/
	border: 1px solid #fff;
    padding: 8px 30px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
color: #fff;
outline: none;
    /*アニメーションの指定*/
    transition: all .2s linear;
}

.btnarrow5:hover{
	background:#333;
	color:#fff;
}

/*矢印と下線の形状*/
.btnarrow5::before{
	content:"";
    /*絶対配置で下線の位置を決める*/
	position: absolute;
	top:50%;
	right:-26px;
    /*下線の形状*/
	width:40px;
height:1px;
background:#fff;
    /*アニメーションの指定*/
    transition: all .2s linear;
}

.btnarrow5::after{
	content:"";
    /*絶対配置で矢印の位置を決める*/
	position: absolute;
    top: 20%;
    right: -21px;
    /*矢印の形状*/
	width:1px;
height:12px;
background:#fff;
    transform:skewX(45deg);
    /*アニメーションの指定*/
    transition: all .2s linear;
}

.btnarrow5_left::before {
left: -26px;
}

.btnarrow5_left::after {
left: -21px;
transform: skewX(-45deg);

}

/*hoverした際の移動*/
.btnarrow5:hover::before{
	right:-30px;
}

.btnarrow5:hover::after{
	right:-25px;
}

.btnarrow5_left:hover::before{
left:-30px;
}

.btnarrow5_left:hover::after{
left:-25px;
}


/*12、背景が中央から流れるボタン
 * <a href="#" class="btn"><span class="btn-inner">Learn More</span></a>*/


.make_btn2 {
    display: inline-block;
padding: 13px 20px;
color: #fff;/*色は適宜*/
    text-decoration: none;
    position: relative;
background: transparent;
border: 1px solid #e1e1e1;/*色は適宜*/
    font: 12px/1.2 "Oswald", sans-serif;
    letter-spacing: 0.4em;
    text-align: center;
    text-indent: 2px;
    text-transform: uppercase;
    transition: color 0.1s linear 0.05s;
}

.make_btn2::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
height: 1px;
background: #e1e1e1;/*色は適宜*/
    z-index: 1;
    opacity: 0;
    transition: height 0.2s ease, top 0.2s ease, opacity 0s linear 0.2s;
}/*1pxがhoverで全体に広がる*/

.make_btn2::after {
    transition: border 0.1s linear 0.05s;
}

.make_btn2 .btn-inner {
    position: relative;
    z-index: 2;
}

.make_btn2:hover {
color: #373737;/*色は適宜*/
transition: color 0.1s linear 0s;
}

.make_btn2:hover::before {
    top: 0;
    height: 100%;
    opacity: 1;
    transition: height 0.2s ease, top 0.2s ease, opacity 0s linear 0s;
}

.make_btn2:hover::after {
border-color: #373737;/*色は適宜*/
transition: border 0.1s linear 0s;
}


/*13、スクロールダウンアニメーション
 * <div class="scrolldown4"><span>Scroll</span></div>
 * */

.scrolldown4{
position:absolute;
bottom:1%;
right:5%;
    /*矢印の動き1秒かけて永遠にループ*/
animation: arrowmove 1s ease-in-out infinite;
z-index:1;
}

/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove{
      0%{bottom:1%;}
      50%{bottom:3%;}
     100%{bottom:1%;}
 }

/*Scrollテキストの描写*/
.scrolldown4 span{
    /*描画位置*/
  position: absolute;
  left:-20px;
  bottom:10px;
    /*テキストの形状*/
  color: #eee;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  /*縦書き設定*/
  -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 矢印の描写 */
.scrolldown4:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom: 0;
    right: -6px;
    /*矢印の形状*/
    width: 1px;
    height: 20px;
    background: #eee;
    transform: skewX(-31deg);
}

.scrolldown4:after{
  content:"";
    /*描画位置*/
  position: absolute;
  bottom:0;
  right:0;
    /*矢印の形状*/
  width:1px;
  height: 50px;
  background:#eee;
}


/*１４、文字がランダムに出現
 * <p class="randomAnime">text</p>
 * */

.randomAnime {
	visibility: hidden;
}


/*１５、にゅーん（滑らかに変形して出現）
 * <div class="smoothTrigger">スクロールのタイミングでsmoothクラス付与</div>
 * */
.smooth{
	animation-name: smoothAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
  　transform-origin: left;
	opacity:0;
}

@keyframes smoothAnime{
  from {
  transform: translate3d(0, 100%, 0) skewY(12deg);
  opacity:0;
  }

  to {
  transform: translate3d(0, 0, 0) skewY(0);
  opacity:1;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.smoothTrigger{
    opacity: 0;
}


/*１６、波
 *1つ目
<div class="wave">
<canvas id="waveCanvas"></canvas>
</div>
2つ目(反転)
<div class="wave">
<canvas id="waveCanvas"></canvas>
</div>
 *
 * */

.wave {
position: relative;
height: 200px;/*何も表示されない場合は各波の親要素に高さを持たせる*/
margin-top: -1px;
margin-bottom: -1px;
}


.wave2 {
transform: scaleY(-1);
}

#waveCanvas,#waveCanvas2{
position: absolute;
bottom: 0;
left:0;
width: 100%;
}


/*１７、流体シェイプ
 * <div class="fluid"></div>
 * */

.fluid {
    width:100%;/*幅と高さで円の形が変わる*/
    height:100%;
    background: linear-gradient(45deg,rgba(74,198,186,1),rgba(14,141,152,1));/*背景色（グラデーション）*/
    animation: fluidrotate 30s ease 0s infinite;/*imgにanimationつけたらマスクできる*/
}

/*流体シェイプの形　→ https://9elements.github.io/fancy-border-radius/*/

@keyframes fluidrotate {

0%, 100% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
}
14% {
    border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
}
28% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
}
42% {
    border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
}
56% {
    border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
}
70% {
    border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
}
84% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
}

}

/*１８、新着記事のスライダー、ページネーションつき*/

/*アイキャッチ画像の高さはfunction.phpで指定*/

.c5-slider_wrap .c5-slider li.c5-slider_content {
    box-sizing: border-box;
    text-align: center;
    background: #000;
padding: 0;
box-sizing: border-box;
height:100%;
}

.c5-slider_wrap .prev-arrow,
.c5-slider_wrap .next-arrow {
  box-sizing: border-box;
  position: absolute;
  top: 46.5%;
  margin: 0;
  line-height: 1;
  transform: translateY(-46.5%);
cursor: pointer;
z-index: 2;
color:#000;
}
.c5-slider_wrap .prev-arrow {
left: -15px;
}
.c5-slider_wrap .next-arrow {
right:-15px;
}
.c5-slider_wrap .c5-dots {
    display: flex;
    justify-content: center;
    max-width: 980px;
    margin: 0 auto;
    position: relative;
    bottom: -15px;
    z-index: 1;
}
.c5-slider_wrap .c5-dots .c5-dots__num {
    box-sizing: border-box;
    margin: 0 2px;
    padding: 2px 5px;
    font-size: 14px;
    text-align: center;
    color: #fff;
    background-color: #000;
    border-radius: 4px;
}

.c5-slider_wrap .c5-dots li:hover {
  cursor: pointer;
}
.c5-slider_wrap .c5-dots li.slick-active .c5-dots__num {
    background-color: #fff;
    border: 1px solid #000;
    color: #222;
    padding: 1px 5px;
    /* box-sizing: revert-layer; */
}
.c5-slider_wrap .slick-dotted.slick-slider {
  margin-bottom: 0;
}

.c5-slider_content img {
    margin: 0 auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/*ページネーション*/

.c5-dots li{
display:none;

}


/*選択中のものと、前後2つずつの５つを表示する*/

li:has(+ li + .slick-active) {
    display: block;
}

li:has(+ .slick-active) {
    display: block;
}


.c5-dots .slick-active {
    display: block;
}

.slick-active + li {
    display: block;
}

.slick-active + li + li {
    display: block;
}


/*1の時,4と5も表示する*/
.slick-active:first-child + li + li + li {
    display: block;
}/*4*/

.slick-active:first-child + li + li + li + li {
    display: block;
}/*5*/


/*2の時*/
.slick-active:nth-child(2) + li + li + li {
    display: block;
}/*5*/



/*最後から一つ前の時*/
.c5-dots li:has(+li + li + li:nth-last-child(2).slick-active){
display: block;
}/*3つ前*/




/*最後の時*/
.c5-dots li:has(+li + li + li:last-child.slick-active){
    display: block;
}/*3つ前*/

.c5-dots li:has(+ li + li + li + li:last-child.slick-active){
    display: block;
}/*４つ前*/


.c5-slider .slick-track {
    display: flex;
    height: 100%;
    align-items: auto;
}


.c5-slider .slick-slide {
height:auto;
background-color: #000;
margin:0 0.5rem;
}

.c5-slider .slick-slide > div {
height:100%;

}

/*日付の高さが揃うように*/
/*子要素に*/
.c5-slider_content a {
display: flex;
height: 100%;
flex-direction: column;
}


/*孫要素に*/
.c5-slider_content a > * {
    width: 100%;
}


.c5-slider_content h3 {
    flex-grow: 1;
}
/*ここまで*/

.c5-slider_content h3 {
    flex-grow: 1;
    padding: 1rem;
    text-align: left;
}

.c5-slider_content span {
padding: 0 1rem 1rem;
text-align:left;
}

/*記事がありません*/

.news_none {
    padding: 0.3rem 0.5rem;
}




/*不要*/

/*癒しの空間、サンプルサイト*/
.fv-catch-out {
position: absolute;
top: 0;
background-color: rgba(255,255,255,.5);
padding: 2rem;
position: absolute;
top: 40%;
left: 20%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
font-size:2rem;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
letter-spacing: 0.12em;
}

@media(max-width:600px){
.fv-catch-out {
padding: 1.5rem;
font-size: 1.5rem;
}
}

/*挨拶*/

.aisatu_inner {
background-color: rgba(255,255,255,.6);
padding:1rem;

}

/*見出し*/
@media(max-width:600px){
.has-x-large-font-size,.has-large-font-size{
font-size: 1.8rem!important;
}


}
/*ここまで*/

/*ページ遷移せずに、絞り込み検索(カスタム投稿)*/

.kensaku_flex {
    display: flex;
    flex-wrap: wrap;
}

.kensaku_flex > div {
    width: 30%;
    margin: 1rem;
    border: 1px solid #aaa;
}

.kensaku_flex > div > div {
padding: 1rem;
}

.kensaku_flex table {
margin-left:0;

}



/*投稿用の設定、カスタムCSSプラグインへ移動、「管理画面」にもチェックをつける*/
.wp-block-table.alignright {
    margin: 0 0 0 auto;
}


/*管理画面用*/

html :where(.wp-block)[data-align="left"], html :where(.wp-block)[data-align="right"] {
    width: 100%;
    height: auto;
}

html :where(.wp-block)[data-align="right"] > * {
display: block;
margin: 0 0 0 auto;
width: fit-content;
float: none;
}

html :where(.wp-block)[data-align="left"] > *{
display: block;
margin: 0 auto 0 0;
width: fit-content;
float: none;
}

.wp-block-post-content {
    max-width: 840px;
    margin: 0 auto;
}


/*フロントエンド*/

.wp-block-table table{
max-width:100%;
}


.wp-block-table.alignleft table,.wp-block-table.alignright table,.wp-block-table.aligncenter table{
    display: block;
}

.wp-block-table table th{
text-align:center;
}

.wp-block-table table th.has-text-align-right {
text-align: right;
}

.wp-block-table table th.has-text-align-left {
text-align: left;
}

.wp-block-table.aligncenter {
    margin: 0 auto;
}

.single td,.single th {
vertical-align: middle;
}

.wp-block-list {
list-style: inside;
}

.single .container > * {
    margin-bottom: 1rem;
}

.single .container > div > .post > div > * {
    margin-bottom: 1rem;
}


/*見出し装飾*/

h2.wp-block-heading{
position:relative;
padding: 0.5em .7em;
background-color: #2C343D;/**/
color: #fff;
font-size: 28px;
margin-bottom:2rem!important;
}

h2.wp-block-heading::before {
    content: "";
    width: 100%;
    border: 1px solid #aaa;
    height: 100%;
    display: block;
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
}


h3.wp-block-heading {
    border-bottom: 2px solid #2C343D;
    position: relative;
    font-size: 24px;
}


h3.wp-block-heading::before {
position: absolute;
bottom: -4px;
left: 0;
width: 100%;
height: 1px;
background-color: #000000;
content: '';
}

h4.wp-block-heading {
border-bottom: 1px solid #aaa;
position:relative;
font-size: 20px;
display:inline-block;
}


h4.wp-block-heading::before {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 70%;
height: 2px;
background-color: #2C343D;
content: '';
}

h5.wp-block-heading {
    border-left: 2px solid #2C343D;
    font-size: 18px;
    padding-left: 0.5rem;
}



@media(max-width:768px){
h2.wp-block-heading {
font-size: 24px;
}

h3.wp-block-heading {
font-size: 20px;
}

h4.wp-block-heading {
font-size: 18px;
}

h5.wp-block-heading{
font-size: 16px;
}

}


/*色変更*/

h2.wp-block-heading {
background-color: #fff;
color: #2c343d;

}

h3.wp-block-heading {
border-bottom: 2px solid #fff;
}


h3.wp-block-heading::before {
background-color: #aaa;

}

h4.wp-block-heading {
border-bottom: 1px solid #fff;
}

h4.wp-block-heading::before {
background-color: #aaa;

}

h5.wp-block-heading {
border-left: 2px solid #fff;
}

/*ここまで*/
