@charset "UTF-8";

/*-- ---------- --*/
/*-- layout css --*/
/*-- ---------- --*/

/*-- l-header --*/
.l-header{
    position: fixed;
    top:0;
    left:0;
    right:0;
    z-index: 1000;
    background: rgba(33,33,204,.5);
}
.l-header > .container{
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height:70px;
}
.burger-btn {
    display: none;
}
/*-- ロゴ --*/
.l-header .area_logo_header{
    position: relative;
    padding:0 15px;
    background: var(--white-color);
    height:100%;
    display: flex;
    align-items: center;
}
.l-header .area_logo_header::after{
    content: '';
    width: 90px;
    height: 70px;
    background-color: var(--white-color);
    clip-path: polygon(100% 0%, 0% 0%, 0px 100%);
    position: absolute;
    left: 100%;
    top: 0;
}
.l-header .logo a{
    display: flex;
    align-items: center;
    text-decoration: none;
}
.l-header .logo img{
    max-width: 320px;
}
.nav-wrapper{
    position: relative;
    display: flex;
    align-items: center;
}
.list_nav {
    display: flex;
    align-items: center;
    padding: 10px 0;
}
.list_nav li{
    position: relative;
    padding:0 10px;
}
.list_nav li.list_nav_sp{display: none}
.list_nav a{
    position: relative;
    display: flex;
    align-items: center;
    padding: 8px;
    font-size: 16px;
    font-weight:500;
    line-height: 1;
    color:var(--white-color);
    text-decoration: none;
}
.list_nav_contact{
    position: relative;
    display: flex;
    align-items: center;
}
.list_nav_contact::before{
    content:'';
    width: 90px;
    height: 70px;
    clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
    position: relative;
    display: block;
    background: var(--hctxt-color);
}
.list_nav_contact li{
    display: flex;
    align-items: center;
    padding-right:20px;
    height:70px;
    background: var(--hctxt-color);
}
.list_nav_contact a{
    position: relative;
    display: flex;
    align-items: center;
    padding: 8px;
    font-size: 16px;
    font-weight:500;
    line-height: 1;
    color:var(--white-color);
    background: var(--hctxt-color);
    text-decoration: none;
}
.list_nav a::before{
    content:'';
    display: flex;
    align-items: center;
    justify-content: center;
    border-top:2px solid var(--white-color);
    border-right:2px solid var(--white-color);
    transform: rotate(45deg);
    width: 10px;
    height: 10px;
    margin-right:8px;
	transition:all .5s;
}
.list_nav .contact__btn a::before{
    display: none;
}

@media (max-width:1200px){
.list_nav li{
    position: relative;
    padding:0 10px;
}
.list_nav a{
    position: relative;
    display: flex;
    align-items: center;
    padding: 8px;
    font-size: 14px;
}
/*-- ロゴ --*/
.l-header .logo img{
    max-width: 250px;
}
}
@media (max-width:1050px){
.l-header > .container{
    padding-right: 20px;
    height:60px;
}
.l-header .area_logo_header::after{
    content: '';
    width: 80px;
    height: 60px;
    background-color: var(--white-color);
    clip-path: polygon(100% 0%, 0% 0%, 0px 100%);
    position: absolute;
    left: calc(100% - 1px);
    top: 0;
}
.l-header .nav-wrapper{
    display: flex;
    align-items: stretch;
    position: fixed;
    top: 0;
    left: 100%;
    width:100%;
    height: 100vh;
    background: var(--main-color);
    border-radius: 0;
    transition:all .5s;
    overflow: auto;
    z-index: 2;
}
.l-header .nav-wrapper nav{width: 100%;}
.list_nav {
    display: flex;
    flex-direction: column;
    width:100%;
    margin: 13vw 0 0;
}
.list_nav li,.list_nav li.list_nav_sp{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width:80%;
    border-right: 0px solid #1a1a1a;
    border-bottom: 2px solid var(--white-color);
    padding:36px 10px;
}
.list_nav li:last-child{
    border-bottom: 0px solid #1a1a1a;
}
.list_nav a{
    position: relative;
    display: flex;
    align-items: center;
    padding: 10px;
    font-size: 14px;
    color: var(--white-color);
}
.list_nav a::before{
    border-top:2px solid var(--white-color);
    border-right:2px solid var(--white-color);
}
.list_nav_contact{
    display: none;
}
/* メニューオープン時 */
.nav-wrapper.slide-in {left:0;}
/* 以下、ハンバーガーボタン */
.burger-btn,
.burger-btn span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}
.burger-btn {
    position: relative;
    width: 35px;
    height: 30px;
    background: none;
    border: none;
    appearance: none;
    cursor: pointer;
    margin-left:auto;
    z-index:9999;
}
.burger-btn span{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 2px;
    background-color:var(--white-color);
}
.burger-btn span:nth-of-type(1) {
        top: 5px;
}
.burger-btn span:nth-of-type(2) {
        top:50%;
        transform: translate(-50%,-50%);
}
.burger-btn span:nth-of-type(3) {
        bottom: 5px;
}
.burger-btn.close span{
        background-color:var(--white-color);
}
#menu_n.close span:nth-of-type(1) {
        transform:translateX(-45%)translateY(10px) rotate(-45deg);
}
#menu_n.close span:nth-of-type(2) {
        opacity: 0;
}
#menu_n.close span:nth-of-type(3) {
        transform:translateX(-45%)translateY(-7px) rotate(45deg);
}
}
@media (max-width:768px){
.l-header .logo img{
    max-width: 220px;
}
}
@media (max-width:375px){
.l-header .area_logo_header::after{
    content: '';
    width: 60px;
    height: 60px;
    background-color: var(--white-color);
    clip-path: polygon(100% 0%, 0% 0%, 0px 100%);
    position: absolute;
    left: calc(100% - 1px);
    top: 0;
}
}
@media (max-width:360px){
.l-header .area_logo_header::after{
    content: '';
    width: 30px;
    height: 60px;
    background-color: var(--white-color);
    clip-path: polygon(100% 0%, 0% 0%, 0px 100%);
    position: absolute;
    left: calc(100% - 1px);
    top: 0;
}
}
/*-- l-footer --*/
.l-footer{
    position: relative;
    padding: 0;
}
.l-footer .l-footer__body{
    padding: 30px 0;
    background: #4b4948;
}
.l-footer .l-footer__body__left{
    width: 270px;
}
.l-footer .l-footer__body__right{
    width:auto;
    padding-left: 30px;
}
.l-footer p,
.l-footer p a,
.l-footer a{
    color:var(--white-color);
}
.l-footer .f__txt{
    text-align: center;
}
.l-footer .f__copy{
    margin: 30px 0 0;
    font-size: 10px;
    text-align: center;
    color: var(--white-color);
}
@media (max-width:900px){
.l-footer .l-footer__body__left{
    width:100%;
    text-align: left;
}
.l-footer .l-footer__body__left li{
    width: 33%;
}
.l-footer .l-footer__body__right{
    margin: 15px 0 0;
    padding-left: 0;
    width:100%;
    text-align: left;
}
.l-footer .l-footer__body__right h2{
    font-size: 14px;
}
}
@media (max-width:768px){
.l-footer{
    position: relative;
    padding: 0px 0;
}
.l-footer .l-footer__body{
    padding: 30px 0;
    border-top: 0px solid #b3b3b3;
}
}
@media (max-width:640px){
.l-footer .l-footer__body__left li:last-child{
    width: auto;
}
.l-footer .l-footer__body__left li a{
    font-size: 12px;
}
.l-footer .f__copy{
    font-size: 10px;
}
}

/*-- l-main --*/
.no__home .l-main{margin:70px 0 0;}
section{padding:80px 0 ;}
.home section{padding:60px 0 ;}
.section__header{
    position: relative;
    text-align: center;
    margin: 0 auto 40px;
}
.section__header h1{
    font-weight: 700;
    position: relative;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0px;
    color: var(--main-color);
}
.section__header h2{
    font-weight: 700;
    position: relative;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0px;
    background: var(--main-color);
    color:var(--white-color);
}
.section__header h1.main__txt,.section__header h2.main__txt{
    font-weight: 700;
    text-align: center;
    color:var(--main-color);
    border-bottom: 3px dotted var(--main-color);
    display: inline-block;
    background: none;
    padding-bottom: 0.3em;
    margin: 0 auto;
}
.section__header p{
    position: relative;
    text-align: center;
    margin: 20px auto 0;
    width:80%;
}
#side-contact .section__header h2{
    background: transparent;
}
.section__header h1.re__c,.section__header h2.re__c{
    background: var(--white-color);
    color:var(--main-color);
} 
.section__body{
    padding:0;
}
.l-heading{
    padding-left: 10px;
    border-left: 6px solid var(--main-color);
}
.highlight {
    display: inline-block;
    background: linear-gradient(transparent 60%, #fff176 60%);
    font-weight: bold;
}
@media screen and (max-width: 768px){
section{padding:60px 0;}
.home section{padding:40px 0 ;}
.section__header{
    margin: 0 auto 30px;
}
.section__header p{
    margin: 15px auto 0;
    text-align: left;
    width:100%;
}
}
@media screen and (max-width: 640px){

}

/*-- side-contact --*/
#side-contact{
    background: var(--sc-bg);
}
#side-contact .section__header p{
    text-align: center;
    margin: 10px 0 0px;
    color:var(--white-color);
    width:100%;
}
#side-contact .c__1{width:50%;text-align: left; padding-right:30px;}
#side-contact .c__1 a{
	font-weight:700;
    color:var(--white-color);
    line-height: 1;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-decoration: none;
}
#side-contact .c__1 p{
    text-align: left;
	margin:10px 0 0;
    color:var(--white-color);
}
#side-contact .c__2{
    width:50%;
	display:flex;
	flex-direction:column;
	justify-content:center;
    align-items: center;
}
#side-contact .c__2 a{
    width:100%;
    margin: 0px auto 18px;
    text-decoration: none;
}
#side-contact .c__2 a:last-child{
    margin: 0 0 0px;
}

@media screen and (max-width: 1200px){
/*-- Index #side-contact --*/
#side-contact .c__1{width:100%;text-align: center; padding-right:0px;}
#side-contact .c__1 a{
	justify-content: center;
}
#side-contact .c__1 p{
    text-align: center;
	margin:10px 0 0;
    color:var(--white-color);;
}
#side-contact .c__2{
    width:100%;
}
#side-contact .c__2 a{
    width:75%;
}
#side-contact .section__header p{
    text-align: center;
    margin: 10px 0 0px;
}
#side-contact .c__2{
    margin: 20px 0 0px;
}
}
@media screen and (max-width: 640px){
/*-- Index #side-contact --*/
#side-contact .c__1 a img{
    width:60px;
	margin-top:18px;
}
#side-contact .c__1 .txt60{
    font-size: 30px;
}
#side-contact .c__2 a{
    width:100%;
}
}
@media screen and (max-width: 480px){
/*-- Index #side-contact --*/
#side-contact .c__1 .txt48{
    font-size: 24px;
}
#side-contact .c__1 .txt54{
    font-size: 33px;
}
}

/*-- 404.php --*/
.error404 #l-cwrap{
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.error404 #l-cwrap section{
	padding:160px 0;
}
@media screen and (max-width: 768px){
.right__menu{position: fixed;right:5px;}
.right__menu a,.right__menu a img{
    width:30px
}
.error404 #l-cwrap section{
	padding:160px 0 0;
}
}
@media screen and (max-width: 640px){

}


/*- ------------- -*/
/*- ページネーション -*/
/*- ------------- -*/
.pagination,.pagination .nav-links{display:flex;justify-content:center;margin:40px 0 0;}
.pagination .pagination{margin:0;}
.pagination .page-numbers{display:flex;align-items:center;justify-content:center;margin:0 5px;width:36px;height:36px;}
.pagination .page-numbers{font-family: "Zen Maru Gothic", sans-serif;font-size:16px;font-weight:500;}
.pagination .page-numbers li a.next,.pagination .page-numbers li a.prev{
    font-family: "Zen Maru Gothic", sans-serif;}
.pagination .current{
	font-family: "Zen Maru Gothic", sans-serif;
	color: var(--white-color);
	background: var(--main-color);
	width:36px;
	height:36px;
	border-radius:50%;
	font-size:16px;
    font-weight:500;
}
.pagination .prev,.pagination .next{position:relative;width:36px;height:36px;}
.pagination .prev::before,.pagination .next::before{content:'';position:absolute;top:50%;border-top:2px solid #1a1a1a;width:10px;height:10px;}
.pagination .prev::before{border-left:2px solid #1a1a1a;transform:translatey(-50%)rotate(-45deg);}
.pagination .next::before{border-right:2px solid #1a1a1a;transform:translatey(-50%)rotate(45deg);}

/*- ------- -*/
/*- パンくず -*/
/*- ------- -*/
.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    line-height: 1.75;
    margin: 10px 0 30px;
}
.breadcrumb span{
    padding:0 8px;
}
.breadcrumb a {
    text-decoration: none;
    color: var(--main-color);
}

/*- ------------- -*/
/*- ブロックエディタ -*/
/*- ------------- -*/
.single main{overflow-x: clip;}
/* single.php の本文内の段落・見出し・グループなどすべて */
.single__body__content> *:not(.alignfull) {
    max-width: 1120px;      /* 通常ブロックの最大幅 */
    margin-left: auto;
    margin-right: auto;
}
/* 幅広ブロックも同じ幅に */
.single__body__content .alignwide {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}
/* 全幅ブロックは画面いっぱい */
.single__body__content > .alignfull{
    width: 100%;
    max-width: initial;
    padding: 0;
}
@media (max-width:1200px){
.single__body__content{padding:0px;}
/* single.php の本文内の段落・見出し・グループなどすべて */
.single__body__content> *:not(.alignfull) {
    max-width: 900px;      /* 通常ブロックの最大幅 */
    margin-left: auto;
    margin-right: auto;
}
/* 幅広ブロックも同じ幅に */
.single__body__content .alignwide {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}
/* 全幅ブロックは画面いっぱい */
.single__body__content > .alignfull{
    width: calc(100% + 80px);
    margin: 0 -40px;
}
}
@media (max-width:1000px){
.single__body__content{padding:0px;}
/* single.php の本文内の段落・見出し・グループなどすべて */
.single__body__content> *:not(.alignfull) {
    max-width: 840px;      /* 通常ブロックの最大幅 */
}
/* 幅広ブロックも同じ幅に */
.single__body__content .alignwide {
    max-width: 840px;
}
/* 全幅ブロックは画面いっぱい */
.single__body__content > .alignfull{
    width: calc(100% + 60px);
    margin: 0 -30px;
}
}
@media (max-width:900px){
/* single.php の本文内の段落・見出し・グループなどすべて */
.single__body__content> *:not(.alignfull) {
    max-width: 100%;      /* 通常ブロックの最大幅 */
}
/* 幅広ブロックも同じ幅に */
.single__body__content .alignwide {
    max-width: 100%;
}
}
@media (max-width:768px){
.single__body__content{padding:0px;}
/* single.php の本文内の段落・見出し・グループなどすべて */
.single__body__content> *:not(.alignfull) {
    margin-left: auto;
    margin-right: auto;
    width:100%;
}
/* 全幅ブロックは画面いっぱい */
.single__body__content > .alignfull{
    width: calc(100% + 40px);
    margin: 0 -20px;
}
}
/*-- フォントサイズ --*/
.single .single__body__content h2{font-size:28px;color:#595757;}
.single .single__body__content h3{font-size:24px;color:#595757;}
.single .single__body__content h4{font-size:20px;color:#595757;}
.single .single__body__content h5{font-size:18px;color:#595757;}
.single .single__body__content a{font-size:16px;color:#595757;}
.single .single__body__content .wp-block-heading{font-weight:700;}
.single__body__content .wp-element-caption{text-align: left;font-size:14px!important;color:#595757;}
.single__body__content .has-small-font-size{font-size:12px!important;}
.single .single__body__content ul.wp-block-list{
    padding-left: 0;
}
.single .single__body__content ul.wp-block-list li {
    display: flex;
    margin-bottom: 0.5em;
    list-style: none!important;
    list-style-position: inside!important;
}
.single .single__body__content ul.wp-block-list li::before{
    content:'・';
    display: block;
    margin-right:5px; 
}
.single .part2 a{display: block;text-align: right;text-decoration:underline!important;}
@media (max-width:768px){
.single .single__body__content h2{font-size:22px;}
.single .single__body__content h3{font-size:18px;}
.single .single__body__content h4{font-size:16px;}
.single .single__body__content h5{font-size:14px;}
.single .single__body__content p,.single .single__body__content a{font-size:14px;}
.single__body__content .wp-element-caption,.single__body__content .has-small-font-size{font-size:12px!important;}
}
.single .single__body__content p,.single .single__body__content a{
	line-height: 2;
    color:#595757;
}
.single .single__body__content a{
	text-decoration:underline;
}
/*-- vk_slide --*/
.sidebar-widget .vk_slider_item_container{
    padding:0 15px;
}
/*-- 画像サイズ -*/
/* 90%幅 */
.single__body__content .wp-block-image.img-90 img {
    width: 90%;
    height: auto;
}

/* 80%幅 */
.single__body__content .wp-block-image.img-80 img {
    width: 80%;
    height: auto;
}

/* 必要に応じて追加クラスを増やせます */
.single__body__content .wp-block-image.img-70 img {
    width: 70%;
    height: auto;
}

/*-- ------- --*/
/*-- archive --*/
/*-- ------- --*/
.custom-post-list article{
    padding: 0 0 2rem;
    margin-bottom: 2rem;
    border-bottom:1px solid #e6e6e6;
}
.custom-post-list article h3,.custom-post-list article time{
    line-height: 1.5;
    margin: 0 0 5px;
}
/*-- ------ --*/
/*-- single --*/
/*-- ------ --*/
.single__header{
	margin:0px 0 40px;
}
.single__header .single__top{
    margin: 0 0 30px;
}
.single__header h1{
    font-size: 30px;
	font-weight:700;
	line-height:1.5;
	margin:0 0 30px;
}
.single__header h1 span{
	display: block;
}
.single__header .l-fl span{
	line-height:1.75;
    width:20px;
    text-align: center;
}
.single__header .single__meta{
    gap:15px;
    margin: 0 0 3.0rem;
}
.single__header .single__meta .single__meta__inner{
    gap:10px;
}
.post__cats,.post__tags{gap:10px;}
.single__meta a{color:#000;}
.single__body .wpulike {
    margin-top:40px; 
}
.single__bottom{
	width:100%;
	margin:80px 0 80px;
	padding:0;
}
.single__bottom .single__return{
    margin: 0 auto;
    text-align: center;
    max-width: 180px;
}
.single__bottom .l-fl{
	position:relative;
	align-items:center;
	justify-content:center;
}
.single__bottom .nav-previous,.single__bottom .nav-next{
	position:relative;
	width:50px;
	padding:0;
}
.single__bottom .nav-previous a,.single__bottom .nav-next a{
    display: block;
}
.single__bottom .back-txt{
    width:200px;
    margin: 0 30px;
}
.single__bottom .back-txt a{
    color:#328cbe;
}
.single__bottom .cats__link{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
}
.single__bottom .cats__link a{
    display: block;
    text-align: center;
    line-height: 1.5;
    color:#328cbe;
    margin-bottom: 15px;
    text-decoration: underline!important;
}
.single__bottom .cats__link a:last-child{
    margin-bottom: 40px;
}
@media (max-width:900px){
.scroll-img{
    overflow-x: auto;
}
.scroll-img img{
    min-width: 700px;
}
.section__catspost ul{
    grid-template-columns: repeat(2, 1fr);
    gap:15px;
}
}
@media screen and (max-width: 768px){
/*-- .wp-block-column order --*/
/* 数字による順番指定 */
.wp-block-column[class*="s-order-"] {
order: initial; /* 念のためリセット */
}
.wp-block-column.s-order-1 { order: 1; }
.wp-block-column.s-order-2 { order: 2; }
.wp-block-column.s-order-3 { order: 3; }
.wp-block-column.s-order-4 { order: 4; }
.wp-block-column.s-order-5 { order: 5; }
/*-- single --*/
.single .post_yamamoto h3 span{
    display: block;
}
.single .post_yamamoto .content p{
    font-size: 12px;
}
.single section:first-child{padding: 40px 0 0;}
.single-box {
    margin-top: -10px;
}
.single__header h1{
	line-height:1.6;
}
.single__body{
	margin:30px 0 10px;
}
.single .post_yamamoto_bottom::before,
.single .post_yamamoto_bottom::after{
    content:'';
    position: absolute;
    top:0;
    width:100px;
    height:75px;
}
.section__catspost .section__header h2 span {
    margin-left: 0px;
}
.section__catspost h2 .sans-txt{
    width:100%;
    display: flex;
}
}
@media screen and (max-width: 640px){
/*-- single --*/
.single__bottom .l-fl{}
.single__bottom .nav-previous{
	width:35px;
    margin-right: auto;
}
.single__bottom .nav-next{
	width:35px;
    margin-left: auto;
}
.single__bottom .nav-previous a,.single__bottom .nav-next a{
    width:35px;
    height:35px;
}
.single__bottom  .back-txt{
    width:150px;
    margin: 0;
}
}
@media (max-width:600px){
.scroll-img img{
    min-width: 600px;
}    
}

