@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;
}

.m_center{
margin-left:auto;
margin-right:auto;

}

.center {
text-align:center;
}

.relative{
position:relative;
}

.absolute{
position:absolute;
}


.left{
text-align:left;
}

.right{
text-align:right;

}

.inline_block {
display: inline-block;
}

.block{
display:block;

}

span{
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_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_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:375px){
.br_374{
display:none;
}
}

@media(min-width:330px){
.br_329{
display:none;
}
}


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

}


textarea {
max-width: 100%;
width:100%;
}

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



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

.entry_body{
max-width:1024px;
}

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

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


.aaa{
color:#aaa;
}

/*フォント*/

.ss_font{
font-size:1.125rem;
}/*18px*/

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

.font24 {
font-size:clamp(18px, 1.87vw, 24px);
}


.font26 {
font-size:clamp(18px, 2.03vw, 26px);
}


.font32 {
font-size:clamp(20px, 2.58vw, 32px);
}

.font30 {
font-size:clamp(20px, 2.34vw, 30px);
}


.font40 {
font-size:clamp(20px, 3.11vw, 40px);
}


.font46 {
font-size:clamp(22px, 3.57vw, 46px);
}

.font50 {
font-size:clamp(24px, 3.9vw, 50px);
}




@media(max-width:600px){

.s_font{
font-size:18px;
}/*18px*/



}

/*ヘッダー*/

body:not(.home) header{
background-color:rgba(0,0,0,.4);
}


header {
    display: flex;
    color: #fff;
    position: relative;
    z-index: 1;
}

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

.header_flex_child1 {
width: 30%;
padding: 15px 2%;
    align-self: center;
    white-space: nowrap;
}

.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;
color:#222;
top:0;
}

.scrolled .site_header_pc .menu-item {
color: #222;
}

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

@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:not(.menu-item-31) 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: 8px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
left    : 6px;
background : #fff;
  -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;
}

.scrolled .hamburger span {
background : #555;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#fff;
  -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 :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
position: fixed;
z-index: 2;
top: 0;
left: 0;
color: #fff;
background: rgba(2,2,2,0.6);
text-align: center;
opacity: 0;
transition: opacity .6s ease, visibility .6s ease;/* 開閉時の動き */
width: 100vw;
height: 100vh;
visibility:hidden;
}

nav.globalMenuSp ul {
margin: 0 auto;
padding: 0;
width: 100%;
opacity:0;
transition: opacity .6s ease;/* 開閉時の動き */
}

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: #fff;
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（相対値）伸長、ここまで*/



/* このクラスを、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;
}*/

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

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

.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-size: 1.2rem;
    margin-bottom: 1rem;
    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:0;
top:40px;
	z-index: 4;
    /*形状を指定*/
	background:#28BFE7;
	width:180px;
    /*はじめは非表示*/
	visibility: hidden;
	opacity: 0;
    /*アニメーション設定*/
transition: all .3s;
padding-bottom:0.5rem;
}

/*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;
}


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;

}

}*/

/*テストサイト２、ハンバーガーメニュー*/



/*

*, *:before, *:after {
    box-sizing: border-box;
    position: relative;
}*/

.menu-link {
    position: relative;
}


:root {
--easing: cubic-bezier(.5, 0, .5, 1);
--duration: .8s;
--menu-item-duration: .4s;
--hover-duration: .3s;
}

html, body {
height: 100%;
width: 100%;
}




.menu-button {
    appearance: none;
    color: white;
    background: transparent;
    border: none;
    font-size: 8vmin;
    opacity: 0.7;
    padding: 0;
    line-height: .6;
    transition: opacity var(--duration) linear;
    cursor: pointer;
}


.menu-button::before {
content: '≡';
display: inline-block;
top:1.2rem;
right: 1rem;
position: fixed;
}


.menu-button:hover {
    opacity: 1;
}





.site-content {
    padding: 7vw;
    display: grid;
    grid-template-rows: 50% 50%;
}
.site-content > h1 {
    grid-row: 1 / 2;
    align-self: end;
    font-size: 5.5vw;
    transition: all var(--duration) var(--easing);
    transition-property: transform, opacity;
}
#site {
height: 100%;
width: 100%;
display: grid;
grid-template-rows: auto 1fr;
}
#logoat {
margin-right: 1rem;
transition: transform var(--duration) var(--easing);
/*filter: grayscale(100%);
mix-blend-mode: lighten;*/
}


#logoat {
-webkit-text-fill-color: transparent;
-webkit-text-stroke: 2px white;
font-family: Raleway, sans-serif;
font-size:2rem;
font-weight: 700;
letter-spacing: 0.4vw;
}/*ロゴにおき変える場合は不要*/


.site-header {
    z-index: 100;
    display: flex;
    justify-content: flex-start;
align-items: center;
}
.site-title {
    /*font-size: 1.5rem;*/
transition: all var(--duration) var(--easing);
transition-property: transform, opacity;
margin: 0;
margin-right: auto;
}

.site-menu {
position: absolute;
display: grid;
/*grid-template-columns: 10% 1fr 10% 1fr;*/
grid-template-rows: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    z-index: 99;
    outline: 1px solid purple;
    overflow: hidden;
}
.site-menu > ul, .site-menu li {
    margin: 0;
    padding: 0;
    list-style-type: none;
}




.site-menu > ul {
    padding-top: 10vh;
    height: 100%;
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
.site-menu:before, .site-menu:after {
    content: '';
    position: absolute;
height: 100%;
width: 50.1%;
    left: 0;
    z-index: -1;
    background: #191D24;
    transition: transform var(--duration) var(--easing);
}
.site-menu:after {
    left: 50%;
}
.menu-title {
/* grid-column: 4;
    grid-row: 1;*/
justify-self: end;
    align-self: end;
    font-size: 12vw;
    color: black;
    font-weight: 900;
}
.menu-title span {
    display: block;
    line-height: .7;
}

.menu-item[data-active] {
    -webkit-text-fill-color: white;
}
.menu-item[data-active]::before {
    display: none;
}

.site-menu {
    transition: visibility 0s linear var(--duration);
}
.menu-item {
    transition: transform var(--menu-item-duration) ease, opacity var(--menu-item-duration) linear;
}
.menu-title span {
    transition: transform var(--duration) var(--easing), opacity var(--duration) linear;
}


/*クリック時ではない*/
#site:not([data-menu]) .site-menu {
visibility:hidden;


}
#site:not([data-menu]) .site-menu::before {
    transform: translateY(-100%);
}
#site:not([data-menu]) .site-menu::after {
    transform: translateY(100%);
}

#site:not([data-menu]) .site-menu .menu-item {
    opacity: 0;
    transform: translateX(-100%);
    transition-timing-function: cubic-bezier(0.8, 0, 0.7, 1);
    transition-delay: calc( 100ms * (var(--total) - var(--i)));
}/*メニュー項目を時間差で表示する時*/

#site:not([data-menu]) .menu-title span {
transform: translateX(-50%);
}
#site:not([data-menu]) .menu-title span:nth-child(even) {
    transform: translateX(50%);
}
#site:not([data-menu]) .site-content h1, #site:not([data-menu]) .site-title {
    transform: none;
    opacity: 1;
}

/*クリック時*/
#site[data-menu] .site-menu {
visibility:visible;
transition-delay: 0s;
}

#site[data-menu] .site-menu::before, #site[data-menu] .site-menu::after {
    transform: none;
}
#site[data-menu] .site-menu .menu-item {
    transform: none;
    transition-timing-function: cubic-bezier(0.2, 0, 0.2, 1);
    transition-delay: calc( (var(--duration)/2) + (100ms * var(--i)));
}/*メニュー項目を非表示にする時*/

#site[data-menu] .site-content h1 {
    transform: translateY(-100%);
    opacity: 0;
}
#site[data-menu] .site-title {
    transform: translateY(-100%);
    opacity: 0;
}

.site_opacity[data-menu] #logoat {
    transform: scale(1.5);
}/*クリック時ロゴ少し拡大*/


/*追加*/

.header_flex_child1 {
display: flex;
align-items: center;
}

/*.site_header_pc .menu-item {
font-size: 1.5rem;
align-items: center;
display: inline-flex;
cursor: pointer;
color: #fff;
}*/

.site_header_sp .menu-item {
align-items: center;
display: inline-flex;
/*cursor: pointer;*/
color: #fff;

/* font-size: 9vmin;
    flex-grow: 1;
    align-items: center;
    display: inline-flex;
    cursor: pointer;
    font-weight: bold;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 2px white;*/
}

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


}

@media(max-width:999px){

#logoat {
margin-left: 1rem;
}/*ロゴ*/


#site{
position: fixed;
top: 0;
left: 0;
z-index:2;
opacity:0;
visibility:hidden;
transition:opacity 1s ease, visibility 1s ease;
}

#site[data-menu]{
opacity:100;
visibility:visible;
z-index:200;
}





.site_opacity[data-menu]{
z-index: 3;
}



#site .site-menu .menu-item:not(:last-child) {
 margin-bottom: 1rem;
    }/*各項目下の余白*/

.site_header_pc {
    display: none;
}
}

/*元々の調整*/

@media (min-width: 1000px) {

nav.globalMenuSp ul li a {
padding: 0.5rem 2rem;
white-space: nowrap;
    }

nav li.menu-item-has-children ul ul {
right: -100%;
left: auto;
}/*サブサブメニュー*/


.home main, .sub_header {
margin-top: -94px!important;
}

nav li.menu-item-has-children ul {
top: 55px;
width: fit-content;

}


}



nav ul li.menu-item-has-children::before {
right: 0;
}

@media (max-width: 999px) {

nav ul {
padding: 3rem;
color: #fff;
width: 100vw;
    }

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

.site_header_sp .menu-item {
display: block;
width:fit_content;
}

nav li.menu-item-has-children ul {
        padding: 0.5rem;
        margin-top: 0.5rem;
    }/*サブ項目全体*/


}


/*ハンバーガーメニュー項目を時間差で表示*/

.menu-menu-1-container > ul{
--total: 4;
}/*メニュー項目の数(サブメニューは入れない)、このままでもOK*/


.menu-menu-1-container > ul li:first-child {
--i: 0;
}

.menu-menu-1-container > ul li:nth-child(2) {
--i: 1;
}

.menu-menu-1-container > ul li:nth-child(3) {
--i: 2;
}

.menu-menu-1-container > ul li:nth-child(4) {
--i: 3;
}

.menu-menu-1-container > ul li:nth-child(5) {
--i: 4;
}

.menu-menu-1-container > ul li:nth-child(6) {
--i: 5;
}

.menu-menu-1-container > ul li:nth-child(7) {
--i: 6;
}/*メニュー項目の数によって増やす。あらかじめ多めに記載*/

/*ここまで*/


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

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

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

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

.slide-image {
background-position: center 15%;
background-repeat: no-repeat;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
animation: slider-1 16s linear infinite;
}
.slide-image:nth-child(1) {
background-image: url("https://k-west-assessment.com/wp-content/uploads/2023/12/Group-29.jpg");
animation-delay: -2s;
  }


.slide-image:nth-child(2) {
background-image: url("https://k-west-assessment.com/wp-content/uploads/2023/12/Group-2.jpg");
animation-delay: 6s;
  }

@media(max-width:600px){

.slide-image:nth-child(1) {
background-image: url("https://k-west-assessment.com/wp-content/uploads/2023/12/Group-30.png");
animation-delay: -2s;
  }


.slide-image:nth-child(2) {
background-image: url("https://k-west-assessment.com/wp-content/uploads/2023/12/Group-31.png");
animation-delay: 6s;
  }
}



@keyframes slider-1 {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  4.16% {
    opacity: 1;
  }
50% {
    opacity: 1;
  }
62.5% {
    opacity: 0;
    transform: scale(1.2);
  }
  100% {
  opacity: 0;
  }
}


.slide_img_p{
animation: slider-p 16s linear infinite;
animation-delay: -2s;
color:#fff;
}

.slide_img_p2{
animation: slider-p 16s linear infinite;
animation-delay: 6s;
color:#000;
opacity:0;
}


@keyframes slider-p {
0% {
opacity: 0;
  }
  4.16% {
opacity: 1;
  }
50% {
    opacity: 1;
  }
62.5% {
opacity: 0;
  }
  100% {
  opacity: 0;
  }
}

/*.home h1{
animation: slider-p 16s linear infinite;
animation-delay: -2s;
}*/

.home_header_animation_p{
animation: slider-p 16s linear infinite;
animation-delay: 6s;
top:0;
color:#000;
opacity:0;
}


/*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: 980px;
margin: 0 auto;

}

.new_post_noimagelist li a {
display: flex;
margin-bottom: 1rem;
flex-wrap: wrap;
}
.new_post_noimagelist span {
padding-right: 3%;
width: 130px;
}

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

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

.new_post_noimagelist h3 {
width: 100%;
margin-bottom:1rem;
}
}

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

@media (max-width: 600px) {
#scroll {
right: -25%;
bottom: -20%;
left: auto;
min-width: 250px;


    }
}

/*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 {
    position: relative;
    overflow: hidden;
    text-decoration: none;
    display: block;
    padding: 10px 30px;
    text-align: center;
    outline: none;
    transition: ease .2s;
    background-color: #0016D9;
    border-radius: 10px;
    margin: 0 auto;
    z-index: 1;
}

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

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

/*== 背景が流れる（斜め） */
.bgskew::before {
	content: '';
    /*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: -130%;
    /*色や形状*/
background:#fff;
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;
}


}

/*ここまで*/



/*投稿用の設定、カスタム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;
}

/*ここまで*/
