/*
Theme Name: theme_member
Author: lucKs
Author URI: 
Version: 1.0
*/

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    backface-visibility: hidden;
}

html{ margin: 0; padding: 0; scroll-padding-top: 100px;}

body {
    margin: 0;
    padding: 0;
    font-family: "Noto Sans JP", "Hiragino Sans","Meiryo", sans-serif;
    color: #333;
    font-size: 16px;
    line-height: 200%;
    word-break: break-all;
    overflow-x: hidden;
}

div, p, ul, ul li, dl, dt, dd {
	margin: 0;
	padding: 0;
	font-size: 100%;
	list-style:none;
	box-sizing:border-box;
}
img, video, object {
    max-width: 100%;
    height: auto;
    border: none;
   
}
img{ display: block; image-rendering: -webkit-optimize-contrast; }

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	font-size: 100%;
	line-height: 1.5;
}

a:link {color:blue; text-decoration: none; }
a:visited {color:#000;}
a[href^="tel:"] { text-decoration:none; pointer-events:none ; text-emphasis: none !important;}
a[href^="fax:"] { text-decoration:none; pointer-events:none ;}

.pc {display: inherit;}
.pctb {display: inherit;}
.tb {display: none;}
.tbsp {display: none;}
.sp {display: none;}

@media only screen and (min-width:768px){
    a:hover {color:red; text-decoration: underline; transition:0.3s; }
    a:hover img { opacity: 0.7; filter: alpha(opacity=70); -moz-opacity: 0.7;}
}
@media only screen and (max-width:768px){
    .pc {display:none;}
    .pctb {display:block;}
    .tb {display:block;}
    .tbsp {display:block;}
    .sp {display:none;}
}
@media only screen and (max-width:468px){
    body { min-width: 468px;}
    .pc {display:none;}
    .pct {display:none;}
    .tb {display:none;}
    .tbsp {display:block;}
    .sp {display:block;}
}


/* =========================================================================================
Layout
=========================================================================================*/
#wrapper{
    position:relative;
    margin:0;
    padding:0;
}
#container{
    margin:0;
    padding:0;
    overflow: hidden;
}
article {
    background: #FFF;
}
section {
}
.inner {
    margin: 0 auto;
    padding: 100px 0;
    width: 90%;
    max-width: 1300px;
    position:relative;
    box-sizing:border-box;
}
@media only screen and (max-width:768px){
    .inner { padding: 80px 0;}
}
@media only screen and (max-width:468px){
    .inner { padding: 60px 0;}
}


/* =========================================================================================
Breadcrumbs
=========================================================================================*/
.breadcrumbs{
    font-size: smaller;
    padding: 30px;
}
.breadcrumbs , .breadcrumbs a { color: #000;}


/* =========================================================================================
Header
=========================================================================================*/
#header {
    /*position:sticky; top: 0; z-index: 9999;*/
    padding:25px 0 25px;
    background:#fff url("images/common/bg_header.png") no-repeat center -250px;
}
#header .inner {
    display: flex; justify-content: space-between;
    padding: 0;
    width: 95%; max-width: 1300px;
}

/* Logo */
#header .logo { width: 40%; max-width: 500px; }
#header .logo a { display: block;}
#header .logo img { width: 100%; height: auto;}

/* Navigation */
#header #nav ul { position: relative; display: flex; align-items:flex-end; gap:0; padding: 70px 0 0;}
#header #nav ul li { line-height: 18px; border-left: 1px solid #333;}
#header #nav ul li:nth-child(6) { border-right: 1px solid #333;}
#header #nav ul li a {
    padding:  0 15px;
    text-align: center;
    font-size: 112.5%;
    color: #333;
    text-decoration: none;
}
#header #nav ul li:last-child {
    position: absolute; top: 0; right: 0;
    display: flex; gap:10px; padding-left: 20px; border: none;
}
#header #nav ul li p a {
    display: block;
    padding: 40px 0 0;
    font-size:75%;
    background-position: center top !important;
    background-size: 45px auto !important;
}
#header #nav ul li p.head_icon1 a { background: url("images/common/icon_logout.png") no-repeat;}
#header #nav ul li p.head_icon2 a { background: url("images/common/icon_blog.png") no-repeat;}
#header #nav ul li p.head_icon3 a { background: url("images/common/icon_app.png") no-repeat;}
#header #nav ul li p.head_icon4 a { background: url("images/common/icon_member.png") no-repeat;}

@media only screen and (max-width:1080px){
    #header #nav ul li a { padding:0 10px; font-size: 100%;}
    #header #nav ul li:last-child { padding-left:10px;}
    #header #nav ul li p a { font-size:62.5%;}
}
@media only screen and (max-width:915px){
    #header { padding: 30px 0;} 
    #header .inner { flex-direction: column; justify-content: center; gap:10px;}
    #header .logo{ margin: auto;}
    #header #nav { margin: auto;}
    #header #nav ul { padding-top: 50px;}
    #header #nav ul li p a {
        padding: 25px 0 0;
        background-size: 30px auto !important;
    }
    #header #nav ul li:last-child { width:100%; justify-content: center;}
}
@media only screen and (max-width:768px){
    #header { position:sticky; top: 0; z-index: 9999; padding:0;} 
    #header .inner { width: 100%;}
    #header .logo { margin: 0 20px; width: 200px;}
    #header .logo a { padding-top: 13px; height: 75px; box-sizing: border-box;}
    .nav_btn {
        display: block;
        cursor: pointer;
        position:fixed; top:0; right:0;
        width: 75px; height:75px;
        box-sizing: border-box;
        z-index: 99999;
    }
    .nav_btn::before {
        position: absolute; top:29px; left: 0; right: 0;
        display: block; clear: both; content:"";
        margin: auto;
        width: 12px; height: 12px;
        background: #FFF794;
        border-radius: 12px;
    }
    .nav_btn span {
        display: inline-block;
        position: absolute; left:0; right: 0; margin:auto;
        width:34px; height:2px;
        background:#333;
        transition: all .3s;
        border-radius: 4px;
    }
    .nav_btn span:nth-of-type(1) { top:15px;}
    .nav_btn span:nth-of-type(2) { top:28px;}
    .nav_btn span:nth-of-type(3) { top:43px;}
    .nav_btn small { position: absolute; bottom:0; width: 100%; font-size: 10px; text-align: center;}
    .nav_btn.active span:nth-of-type(1) { top:28px; transform:rotate(-45deg);}
    .nav_btn.active span:nth-of-type(2) {opacity: 0;}
    .nav_btn.active span:nth-of-type(3) { top:28px; transform:rotate(45deg);}
    #header #nav {
        display:none;
        position: absolute;  top:75px; right: 0;
        width: 100%;
        overflow: auto;
        background:#fff;
    }
    #header #nav ul {
        display: block;
        padding:5% 10% 120px !important;
        height:calc(100vh - 75px);
        overflow: auto;
        background: #fff;
    }
    #header #nav ul li { border: none !important; border-bottom: 1px solid #ddd !important;}
    #header #nav ul li a { 
        display: block;
        padding:15px;
        font-size:112.5%;
        color:#222;
        line-height: 30px;
        text-align: left;
        text-decoration: none;
        background-position: left center !important;
    }
    #header #nav ul li:last-child {
        position: static; gap:20px;
        padding: 20px 0 0;
        border-bottom:none !important;
    }
    #header #nav ul li p a {
        display: block;
        padding: 50px 0 0;
        font-size:75%;
        background-position: center top !important;
        background-size: 60px auto !important;
    }
}
@media only screen and (max-width:468px){
}


/* =========================================================================================
Footer
=========================================================================================*/
#footer { background: #fff; border-top:1px solid #ddd;}
#footer .inner { 
    display: flex;  flex-wrap: wrap; justify-content: space-between; gap:30px;
    padding: 75px 0;
}
#footer .logo { width:375px; height: auto;}
#footer .bana img { border: 1px solid #ddd;}
#footer .address {
    display: flex; flex-direction: column; gap:10px;
    width: calc(100% - 375px -30px);
    font-size:100%;
    line-height: 120%;
}
#footer .copyright {
    display: flex; flex-direction: row-reverse; justify-content: space-between; gap: 20px;
    padding: 10px 5%;
    font-size: 75%;
    color: #fff;
    background: #727171;
}
#footer .copyright a { color: #fff;}
@media only screen and (min-width:768px){
    #footer #menu-footer ul li a:hover  { background: #f6f6f6; }
}
@media only screen and (max-width:1030px){
    #footer .logo { width:300px; height: auto;}
    #footer .address { width: calc(100% - 300px -30px); font-size:100%;}
}
@media only screen and (max-width:868px){
    #footer .inner { flex-direction: column; justify-content: center;}
    #footer .logo { margin: auto; width:280px; height: auto;}
    #footer .bana { margin: auto; width:280px; height: auto;}
    #footer .bana img{ width: 100%; height: auto;}
    #footer .address { margin: auto; width: 100%; text-align: center;}
}
@media only screen and (max-width:468px){
    #footer .address { font-size: 87.5%;}
    #footer .inner { padding-bottom: 40px;}
    #footer .copyright  { flex-direction: column; padding: 0; background: none;}
    #footer .copyright span:nth-child(1)   { display: block; width: 100%; padding-bottom: 50px;}
    #footer .copyright span:nth-child(1) a {
        display: block;
        margin: auto;
        padding: 5px 10px;
        width: 200px;
        color: #222;
        text-align: center;
        border: 1px solid #222;
    }
    #footer .copyright span:nth-child(2) {
        display: block;
        width: 100%;
        padding: 10px 5%;
        font-size: 75%;
        text-align: center;
        color: #fff;
        background: #727171;
    }
}


/* =========================================================================================
Page Top
=========================================================================================*/
#page-top {
    position: fixed; right: 20px; bottom: 20px;
    z-index: 999;
}
#page-top a {
    display: block;
    width: 60px; height: 60px;
    text-indent: -9999px;
    background: #FFF794 url("images/common/icon_pagetop.svg") no-repeat center center;
    background-size: 40px auto;
    border-radius: 100px;
}
@media only screen and (min-width:768px){
    #page-top a:hover{opacity: 0.7;}
}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
    #page-top { right: 10px; bottom: 10px; }
    #page-top a { width: 50px; height: 50px; background-size: 35px auto; }
}


/* =========================================================================================
Post list
=========================================================================================*/
.post-list{
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 30px 0;
}
.post-list ul{
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.post-list ul li{
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    gap: 10px 20px;
}
.post-list ul li .thumbnail{
    position: relative;
    border: 1px solid #000;
}
.post-list ul li .thumbnail img{
    object-fit: cover;
    aspect-ratio: 3 / 2;
    width: 100%;
}
.post-list ul li .thumbnail .new{
    position: absolute;
    top: 10px;
    left: 10px;
    color: #FFF;
    font-size: small;
    background: #000;
    padding: 2px 10px 0;
}
.post-list .title{
    font-size: 1.25em;
    font-weight: bold;
}
.post-list .title a{
    color: #000;
}
.post-list .title a:hover{
    text-decoration: none;
    opacity: 0.7;
}
.post-list ul li .date{
    width:100px;
}
.post-list ul li .cat{
    font-size: 0.9em;
    width:100px;
    height: auto;
    text-align: center;
    padding: 2px 5px 0;
    border: 1px solid #000;
}
.post-list ul li .tag{
    padding: 10px 0;
    display: flex;
    align-items: start;
    justify-content: left;
    flex-wrap: wrap;
    gap:10px;
}
.post-list ul li .tag .icon{
    font-size: 0.9em;
    height: auto;
    text-align: center;
    display: inline-block;
    padding: 0.25em 1.0em 0.2em;
    border: 1px solid #CCC;
    background: #CCC;
}

/* card */
.post-list.card ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    align-items: stretch;
    flex-direction: row;
    gap: 30px;
}
.post-list.card li{
    padding: 1.0em;
    width: calc( ( 100% - 60px ) / 3 );
    border: 1px solid #000;
    flex-direction: column;
    gap: 20px;
}

@media only screen and (max-width:768px){
    .post-list ul li .cat{ width:fit-content;}
    .post-list ul li .title{ width: 100% }
    /* card */
    .post-list.card li{ width: calc( ( 100% - 30px ) / 2 ); }
}
@media only screen and (max-width:468px){
    /* card */
    .post-list.card li{ width: 100%; }
}


/* =========================================================================================
Archive-Page
=========================================================================================*/
.archive .post-list{
    border-top:none;
    border-bottom:none;
    padding:0;
}

/*pagination*/
.pagination { margin:0 auto 0; max-width: 700px;}
.pagination .page-numbers { display: flex; justify-content: center; align-items: center; gap:10px; }
.pagination .page-numbers li { margin: 0; }
.pagination .page-numbers li:first-child{ flex-grow: 2; }
.pagination .page-numbers li:first-child span{float: right; }
.pagination .page-numbers li:first-child a{float: none; }
.pagination .page-numbers li:last-child{ flex-grow: 2; }
.pagination .page-numbers li:last-child a{float: right; }
.pagination .page-numbers li a,
.pagination .page-numbers li span,
.pagination .page-numbers li .current {
    display: flex;  justify-content: center; align-items: center;
    width: 50px; height: 50px; line-height: 50px; border-radius: 50px;
    color: #000;
    background: #90CAC5;
}
.pagination .page-numbers li .current { color: #000; background: #FFF794;}
.pagination .page-numbers li .first,
.pagination .page-numbers li .prev,
.pagination .page-numbers li .next,
.pagination .page-numbers li .last {
    text-indent: -9999px;
    background-color:#fff;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 15px auto !important;
}
.pagination .page-numbers li .first { background-image:url(images/common/icon_first.svg);}
.pagination .page-numbers li .prev { background-image:url(images/common/icon_prev.svg);}
.pagination .page-numbers li .next { background-image:url(images/common/icon_next.svg);}
.pagination .page-numbers li .last { background-image:url(images/common/icon_last.svg);}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
    .pagination .page-numbers li .first,
    .pagination .page-numbers li .last { display: none;}

}


/* =========================================================================================
Single-Page
=========================================================================================*/
.single .single-navi { display: flex; flex-wrap: wrap; justify-content: center; gap:20px 0; padding-top: 100px;}
.single .single-navi a { color: #000; box-sizing: border-box;}
.single .single-navi a:hover { text-decoration: none;}
.single .single-navi .list-nav a {
    display: block;
    padding: 5px 20px;
    color: #000;
    text-align: center;
    border: 1px solid #000;
}
.single .single-navi .prev-navi a,
.single .single-navi .next-navi a {
    display: block;
    padding: 5px 30px;
    color: #000;
    width: auto;
    box-sizing: border-box;
    background-repeat: no-repeat;
    background-size: 15px;
}
.single .single-navi .prev-navi a {
    text-align: left;
    background-image: url(images/common/icon_prev.svg);
    background-position: left;
}
.single .single-navi .next-navi a {
    text-align: right;
    background-image: url(images/common/icon_next.svg);
    background-position: right;
}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
    .single .single-navi a { font-size: 87.5%;}
    .single .single-navi div:nth-child(2) {display: none;}
    .single .single-navi .list-nav { width: 100%;}
    .single .single-navi .prev-navi,
    .single .single-navi .next-navi { width: 50%;}
    .single .single-navi .list-nav a,
    .single .single-navi .prev-navi a,
    .single .single-navi .next-navi a { padding: 5px 30px;}
}


/* =========================================================================================
 Header Title ( Single / Archive / Page )
=========================================================================================*/
.entry-header { position: relative; padding: 40px 0; background:#90CAC5;}
.entry-header h1 { text-align: center; color: #fff;}
.entry-header h1 b,
.entry-header h1 small { display: block; font-weight: normal;}
.entry-header h1 b {
    font-family: "Noto Serif JP", serif;
    font-size: 287.5%;
}
.entry-header h1 small {
    font-size:100%;
    letter-spacing: 2px;
}
@media only screen and (max-width:768px){
    .entry-header { padding: 40px 0;}
    .entry-header h1 b { font-size: 225%; }
    .entry-header h1 small { font-size:87.5%;}
}
@media only screen and (max-width:468px){
    .entry-header { padding: 20px 0 25px;}
}


/* =========================================================================================
  Editer
=========================================================================================*/
.sb_content { display: flex; flex-direction: column; gap:20px;}

/*Hr*/
.wp-block-separator{
    height: 1px;
    border: none;
    background-color: #ddd;
    margin: 5vh 0;
}
.wp-block-separator.is-style-dots:before{
    font-size: 3.0em;
    letter-spacing: 1.0em;
    padding-left: 1.0em;
}

/*Midashi*/
h1.wp-block-heading { position: relative; font-size: 262.5% !important; color: #77B1A2;}
h1.wp-block-heading span { position: relative;}
h1.wp-block-heading::before {
    position: absolute; left: -10px; top: -5px; z-index: -1;
    display: block; clear: both; content:"";
    width: 35px; height: 35px;
    background: url("images/common/kazari_y.png") no-repeat;
    background-size: 100% auto;
}
h2.wp-block-heading { font-size: 187.5% !important; }
h3.wp-block-heading { font-size: 150% !important; }
h4.wp-block-heading { font-size: 125% !important; }
h5.wp-block-heading { font-size: 112.5% !important; }
h6.wp-block-heading { font-size: 100% !important; }
@media only screen and (max-width:768px){
    h1.wp-block-heading { font-size: 162.5% !important;}
    h2.wp-block-heading { font-size: 162.5% !important; }
    h3.wp-block-heading { font-size: 150% !important; }
    h4.wp-block-heading { font-size: 137% !important; }
    h5.wp-block-heading { font-size: 112.5% !important; }
    h6.wp-block-heading { font-size: 100% !important; }
}

/* Button */
a.wp-block-button__link {
    display: block;
    padding: 15px;
    font-size: 125%;
    font-weight: 600;
    text-align: center;
    color: #333;
    background: #fff;
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
}
@media only screen and (min-width:768px){
    a.wp-block-button__link:hover { text-decoration: none; background-color: #f6f6f6;}
}
@media only screen and (max-width:768px){
    a.wp-block-button__link:hover { text-decoration: none;}
}

/*Table*/
table { 
    position: relative; z-index: 9;
    width:100%; border-collapse:collapse; border: none; border-top: 1px solid #ddd !important; border-right: 1px solid #ddd !important; background: #fff;
}
table th,
table td { padding: 10px 15px !important; border: none; border-color:#ddd !important;  border-left: 1px solid #ddd !important; border-bottom: 1px solid #ddd !important;}
table th { background: #f6f6f6;}
.center table,
table.center { text-align: center;}
.table_col2 table td:nth-child(1),
table.table_col2 td:nth-child(1),
table thead td { background:#d9edf7;}
.table_box.pc { display:block !important;}
.table_box.sp {display:none !important;}
@media only screen and (max-width:768px){
    .table_col2 table,
    table.table_col2 { width:100%; table-layout:auto;}
    .table_col2 table th,
    .table_col2 table td,
    table.table_col2 th,
    table.table_col2 td{
        table-layout:auto !important;
        display:block !important;
        padding:2% 5% !important;
        width:100% !important;
        height:auto !important;
        border-left:none;
    }
    .table_box.pc { display:none !important;}
    .table_box.sp {display:block !important;}
    .table_box.sp td[colspan="2"] { background:#d9edf7  !important;}
}

/*blockquote*/
blockquote{
    position:relative;
    padding: 20px;
    background:#f5f5f5;
}
blockquote cite {
    display: block;
    font-size: 0.8rem;
    text-align: right;
    color: #808080;
    padding-right:20px;
}



/* =========================================================================================
Original Item
=========================================================================================*/
/* BG */
.bg_w { background:#fff;}
.bg_b { background:#F2EFEA url("images/common/line.png") repeat-x center bottom;}
.bg_circle .inner { position: relative;}
.bg_circle .inner::before,
.bg_circle .inner::after {
    display: block; clear: both; content:"";
    position: absolute;
}
.bg_circle .inner::before {
    top: 100px; left:-300px;
    width: 290px; height: 290px;
    background: url("images/common/kazari_y.png") no-repeat;
    background-size: 100% auto;
}
.bg_circle .inner::after {
    bottom:200px; right: -150px;
    width: 150px; height: 150px;
    background: url("images/common/kazari_g.png") no-repeat;
    background-size: 100% auto;
}
.bg_circle2 .inner { position: relative;}
.bg_circle2 .inner::before {
    display: block; clear: both; content:"";
    position: absolute;
}
.bg_circle2 .inner::before {
    bottom:200px; right: -150px;
    width: 150px; height: 150px;
    background: url("images/common/kazari_p.png") no-repeat;
    background-size: 100% auto;
}
@media only screen and (max-width:768px){
    .bg_circle .inner::before { top: 200px; left:-150px;}
    .bg_circle .inner::after { bottom:200px; right: -100px;}
    .bg_circle2 .inner { position: relative;}
    .bg_circle2 .inner::before { bottom:200px; right: -100px;}
}

/* Indention */
.indention {
	clear:both;
	margin: 0 2%;
	height:80px;
	text-indent: -9999px;
	background:none;
}
@media only screen and (max-width:768px){
    .indention { height:40px;}
}


/* Come */
.catch { font-size:162.5%; font-weight: bold;}
.catch.center { text-align: center; }
.come { font-size:112.5%;}
.come.center { text-align: center; }
.no-post { margin: auto; width: 100%; text-align: center; }
@media only screen and (max-width:768px){
    .come { font-size:100%;}
}


/* Button */
.btn { margin-top: 100px; width: 100%;}
.btn p { margin: auto; max-width: 460px;}
.btn p a {
    display: block;
    padding: 15px;
    font-size: 112.5%;
    font-weight: 600;
    text-align: center;
    color: #333;
    background: #fff;
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
}
.btn { margin-top: 40px;}
.btn.btn_g p { margin: 0; max-width: 200px;}
.btn.btn_g p a {
    color: #fff;
    background: #90CAC5;
}
.b_link {
    padding-left: 20px;
    background: url("images/common/icon_arrow_b.svg") no-repeat left center;
    background-size: 15px auto !important;
}
@media only screen and (min-width:768px){
    .btn a:hover { text-decoration: none; background-color: #f6f6f6;}
}
@media only screen and (max-width:768px){
    .btn { margin-top: 30px;}
    .btn p a:hover { text-decoration: none;}
}


/* Gallery */
.gallery { display: flex; flex-wrap: wrap; flex-direction: row; gap:20px 10px;}
.gallery li { display: flex; flex-direction: column; gap:10px;}
.gallery li img { width: 100%; height: auto;}
.gallery li .caption { font-size: 87.5%;}
.gallery.col1 li { width: 100%; }
.gallery.col2 li { width: calc(50% - 5px); }
.gallery.col3 li { width: calc(33.3% - 6.66px); }
.gallery.col4 li { width: calc(25% - 7.5px); }
@media only screen and (max-width:768px){
    .gallery { flex-direction: column;}
    .gallery.col2 li,
    .gallery.col3 li,
    .gallery.col4 li { width: 100%;  }
}


/* Box1 */
.temp_box1 { position: relative; z-index: 9; display: flex; flex-wrap: wrap; gap:40px 80px;}
.temp_box1 .cont {
    display: flex; flex-direction: column; gap:20px;
    width: calc( 55% - 80px);
}
.temp_box1 .photo {
    display: flex; align-items: flex-end; gap:40px; 
    width: 45%;
}
.temp_box1 .photo img { position: relative; border-radius:20px;}
.temp_box1 .photo p { position: relative;}
.temp_box1 .photo p::before {
    position: absolute; bottom: -20px; right: -20px;
    display: block; clear: both; content:"";
    width: 100%; height: 100%;
    background: url("images/common/bg_dot1.png");
    border-radius:20px;
}
.temp_box1 .photo p:nth-child(2) { bottom:50px;}
.temp_box1.box_l { flex-direction: row;}
.temp_box1.box_r { flex-direction: row-reverse;}
.temp_box1.box_c { flex-direction:column;}
.temp_box1.box_c .cont,
.temp_box1.box_c .photo { width: 100%;}
.temp_box1.box_c .photo { justify-content: center;}

/* Box2 */
.temp_box2 { position: relative; z-index: 9; display: flex; flex-direction: column; gap:80px;}
.temp_box2 .cont { display: flex; flex-direction: column; gap:20px;}

/* Box3 */
.temp_box3 { position: relative; z-index: 9; display: flex; flex-wrap: wrap; gap:80px;}
.temp_box3 .cont { display: flex; flex-direction: column; gap:20px; width: calc(50% - 40px);}

/* Box4 */
.temp_box4{ position: relative; z-index: 9; display: flex; flex-wrap: wrap; gap:80px;}
.temp_box4 .cont {
    position: relative;
    display: flex; flex-direction: column; gap:20px; width: calc(50% - 40px);
    padding: 40px;
    padding-bottom: 140px;
    background: #fff;
    border-radius: 50px;
}
.temp_box4 .cont .btn { position: absolute; bottom: 40px; left: 40px;}

/* Box5 */
.temp_box5 { overflow: hidden;}
.temp_box5 .photo_l { float:left; width: 300px; margin-right: 80px;}
.temp_box5 .photo_r { float: right; width: 300px; margin-left: 80px;}
.temp_box5 .cont { display: flex; flex-direction: column; gap:40px;}
.temp_box5 .come_set { display: flex; flex-direction: column; gap:20px;}
@media only screen and (max-width:768px){
    .temp_box1 { flex-direction: column;}
    .temp_box1 .cont { width: 100%; }
    .temp_box1 .photo { width: 100%; padding: 0 20px; }
    .temp_box1 .photo p:nth-child(2) { bottom:0;}
    .temp_box2 { gap:60px;}
    .temp_box3 { flex-direction: column; gap:60px;}
    .temp_box3 .cont { width: 100%; }
    .temp_box4 { flex-direction: column; gap:60px;}
    .temp_box4 .cont { width: 100%; border-radius: 20px; }
    .temp_box5 .photo_l,
    .temp_box5 .photo_r { float:none; margin:0 auto 40px; width: 250px;}
}
@media only screen and (max-width:468px){
    .temp_box4 .cont .btn { left:0; right: 0; margin: auto;}
}


/* Flow list */
.flow_list { 
    display: flex; flex-direction: column;
    padding: 5%10%;
    background: #fff;
    border-radius: 50px;
}
.flow_list li { 
    position: relative;
    padding: 20px 20px 20px 70px;
    min-height: 90px;
}
.flow_list li::before {
    position: absolute; top: 20px; left: 0;
    display: block; clear: both; content:"00";
    width: 50px; height: 50px; line-height: 50px;
    font-family: "Roboto", sans-serif;
    font-size: 25px;
    font-weight: 600;
    text-align: center;
    background:#F7C7C9;
    border-radius: 50px;
}
.flow_list li + li { border-top: 1px solid #ddd;}
.flow_list li:nth-child(1)::before {content:"1";}
.flow_list li:nth-child(2)::before {content:"2";}
.flow_list li:nth-child(3)::before {content:"3";}
.flow_list li:nth-child(4)::before {content:"4";}
.flow_list li:nth-child(5)::before {content:"5";}


/* News list */
.news_list {display: flex; flex-direction: column; border-top: 1px solid #ddd;}
.news_list ul.news_kiji { display: flex; flex-wrap: wrap; gap:20px; padding:  0 10px; border-bottom: 1px solid #ddd;}
.news_list ul.news_kiji li { padding: 10px 0; font-size: 112.5%;}
.news_list ul.news_kiji li:nth-child(1) { width: 100px; font-family: "Roboto", sans-serif;}
.news_list ul.news_kiji li:nth-child(2) { width: 120px;}
.news_list ul.news_kiji li:nth-child(2) span {
    display: block;
    color: #fff;
    font-size: 87.5%;
    text-align: center;
    border-radius: 30px;
}
.news_list ul.news_kiji li span.news_cate1 { background:#717171;}
.news_list ul.news_kiji li span.news_cate2,
.news_list ul.news_kiji li span.news_cate2_1,
.news_list ul.news_kiji li span.news_cate2_2,
.news_list ul.news_kiji li span.news_cate2_3,
.news_list ul.news_kiji li span.news_cate2_4,
.news_list ul.news_kiji li span.news_cate2_5,
.news_list ul.news_kiji li span.news_cate2_6,
.news_list ul.news_kiji li span.news_cate2_7 { background:#90CAC5;}
.news_list ul.news_kiji li span.news_cate3 { background:#F7C7C9;}
.news_list ul.news_kiji li span.news_cate4 { background:#c1b2b2;}
.news_list ul.news_kiji li:nth-child(3) { width: calc(100% - 100px  - 120px - 40px);}
.news_list ul.news_kiji li:nth-child(3) a { color: #333;}
.news_more { margin-top: 30px; display: flex; justify-content: flex-end;}
.news_more a { 
    display: block;
    padding-right: 35px;
    color: #222;
    background: url("images/common/icon_arrow_b.svg") no-repeat right center;
    background-size: 23px auto;
}
@media only screen and (max-width:768px){
    .news_list ul.news_kiji { gap:5px 20px; padding: 20px 0;}
    .news_list ul.news_kiji li { padding: 0; font-size:100%;}
    .news_list ul.news_kiji li:nth-child(3) { padding-top: 0; width:100%;}
    .news_list ul.news_kiji li:nth-child(3) a { color: #333;}
}


/* Pickup list */
.pickup_list { position: relative; z-index: 9; display: flex; flex-wrap: wrap; gap:40px;}
.pickup_list .box { width: calc(25% - 30px); }
.pickup_list .box a { position: relative; display: block; color: #333;}
.pickup_list .box .cate {
    position: absolute; top:20px; right: 20px;
    padding: 0 10px;
    min-width: 130px;
    color: #fff;
    text-align: center;
    background:#717171;
    border-radius: 30px;
}
.pickup_list .box .cate.report_cate1 { background:#717171;}
.pickup_list .box .cate.report_cate2 { background:#90CAC5;}
.pickup_list .box .cate.report_cate3 { background:#F7C7C9;}
.pickup_list .box .photo {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius:20px;
}
.pickup_list .box .photo img {
  width: 100%; height: 100%;
  object-fit: cover;
}
.pickup_list .box .cont {
    display: flex; flex-direction: column;
    position: relative; top: -50px; left:40px;
    width: calc(100% - 20px );
    padding: 30px;
    color: #333;
    background: #fff;
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15);
    border-radius: 20px;
}
.pickup_list .box .day { font-family: "Roboto", sans-serif; font-size: 100%; font-weight: 600;}
.pickup_list .box .mid {
    margin-bottom: 10px;
    min-height: 65px;
    font-size: 125%;
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.pickup_list .box .come {  
    font-size: 112.5%;
    display: -webkit-box;             
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis; 
    -webkit-line-clamp: 2;      
}
@media only screen and (min-width:768px){
    .pickup_list .box a:hover { text-decoration: none; opacity: 0.7;}
}
@media only screen and (max-width:768px){
    .pickup_list .box { width:calc(50% - 20px); }
    .pickup_list .box .day { font-size: 100%;}
    .pickup_list .box .mid { margin-bottom: 10px;}
    .pickup_list .box .come { font-size:100%;}
    .pickup_list .box a:hover { text-decoration: none;}
}
@media only screen and (max-width:468px){
    .pickup_list { flex-direction: column; gap:20px;}
    .pickup_list .box { width:100%; }
    .pickup_list .box .cont {
        gap:5px;
        position: relative; top: -50px; left:3%;
        width:100%;
        padding: 7%;
    }
}



/* Blog list */
.blog_list { position: relative; z-index: 9; display: flex; flex-wrap: wrap; gap:60px 40px;}
.blog_list .box { width: calc(25% - 30px); }
.blog_list .box a { 
    position: relative; 
    display: flex; flex-direction: column; gap:20px;
    color: #333;
}
.blog_list .box .photo {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius:20px;
}
.blog_list .box .photo img {
  width: 100%; height: 100%;
  object-fit: cover;
}
.magazine_list .box .come { font-size: 112.5%;}
@media only screen and (max-width:768px){
    .blog_list { display: flex; flex-wrap: wrap; gap:40px 20px;}
    .blog_list .box { width: calc(50% - 10px); }
    .blog_list .box a { 
        position: relative; 
        display: flex; flex-direction: column; gap:20px;
        color: #333;
    }
    .blog_list .box .photo img { border-radius:20px;}
    .blog_list .box .come { font-size: 100%;}
}


/* Magazine list */
.magazine_list { position: relative; z-index: 9; display: flex; flex-wrap: wrap; gap:60px 40px;}
.magazine_list .box { width: calc(25% - 30px); }
.magazine_list .box a { 
    position: relative; 
    display: flex; flex-direction: column; gap:20px;
    color: #333;
}
.magazine_list .box .photo {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius:20px;
}
.magazine_list .box .photo img {
  width: 100%; height: 100%;
  object-fit: cover;
}
.magazine_list .box .come { font-size: 112.5%;}
@media only screen and (max-width:768px){
    .magazine_list { display: flex; flex-wrap: wrap; gap:40px 20px;}
    .magazine_list .box { width: calc(50% - 10px); }
    .magazine_list .box a { 
        position: relative; 
        display: flex; flex-direction: column; gap:20px;
        color: #333;
    }
    .magazine_list .box .photo img { border-radius:20px;}
    .magazine_list .box .come { font-size: 100%;}
}


/* Job list */
.job_list { position: relative; z-index: 9; display: flex; flex-wrap: wrap; gap:40px;}
.job_list .box {  width: calc(33.3% - 26.66px); }
.job_list .box a { position: relative; display: block; color: #333;}
.job_list .box .cont {
    display: flex; flex-direction: column;
    width: 100%;
    padding: 30px;
    color: #333;
    background: #fff;
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15);
    border-radius: 20px;
}
.job_list .box .day { font-family: "Roboto", sans-serif; font-size: 112.5%; font-weight: 600;}
.job_list .box .mid {
    margin-bottom: 10px;
    font-size: 125%;
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.job_list .box .come { font-size: 112.5%;}
@media only screen and (min-width:768px){
    .job_list .box a:hover { text-decoration: none; opacity: 0.7;}
}
@media only screen and (max-width:768px){
    .job_list .box { width:calc(50% - 20px); }
    .job_list .box .day { font-size: 100%;}
    .job_list .box .mid { margin-bottom: 10px;}
    .job_list .box .come { font-size:100%;}
    .job_list .box a:hover { text-decoration: none;}
}
@media only screen and (max-width:468px){
    .job_list { flex-direction: column; gap:20px;}
    .job_list .box { width:100%; }
}


/* Entry list */
.voice_list { position: relative; z-index: 9; display: flex; flex-wrap: wrap; gap:80px 40px;}
.voice_list .box { width: calc(25% - 30px); }
.voice_list .box a { 
    position: relative; 
    display: flex; flex-direction: column; gap:20px;
    font-size: 125%;
    font-weight: bold;
    text-align: center;
    color: #333;
}
.voice_list .box .photo img { border-radius:20px;}
@media only screen and (max-width:768px){
    .voice_list { display: flex; flex-wrap: wrap; gap:40px 20px;}
    .voice_list .box { width: calc(50% - 10px); }
    .voice_list .box a { 
        position: relative; 
        display: flex; flex-direction: column; gap:20px;
        color: #333;
        font-size: 100%;
    }
    .voice_list .box .photo img { border-radius:20px;}
}


/* Schedule */
.schedule iframe { 
    width: 100%; height: 700px;
}
@media only screen and (max-width:768px){
}


/* Message */
.message { 
    padding: 5%10%;
    background: #fff;
    border-radius: 50px;
    overflow: hidden;
}
.message h2 { margin-bottom: 20px;}
.message .photo { float: right; margin-left: 40px; width: 350px;}
.message .photo img { width: 100%; height: auto;}
@media only screen and (max-width:768px){
    .message .photo { float:none;  margin: auto; width: 300px;}
}


/* Link bana */
.link_bana { position: relative; padding: 60px 0; background:#90CAC5;}
.link_bana p { margin: auto; width: 90%; max-width: 450px;}
.link_bana p a {
    display: block;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background: url("images/common/icon_arrow_w.svg") no-repeat center right;
    background-size: 34px auto;
}
.link_bana p a b,
.link_bana p a small { display: block; font-weight: normal; line-height:150%;}
.link_bana p a b {
    font-family: "Noto Serif JP", serif;
    font-size: 287.5%;
}
.link_bana p a small {
    font-size:100%;
    letter-spacing: 2px;
}
@media only screen and (min-width:768px){
    .link_bana p a:hover { opacity: 0.7;}
}
@media only screen and (max-width:768px){
    .link_bana { padding: 40px 0;}
    .link_bana p a b { font-size: 225%; }
    .link_bana p a small { font-size:87.5%;}
}

/* YAKUIN */
#tablepress-yakuin_list_sp { font-size: 87.5%; line-height: 130%;}
#tablepress-yakuin_list_sp tr td:nth-child(1) { width: 50%;}


/* =========================================================================================
 wpmem LOGIN
=========================================================================================*/
#wpmem_restricted_msg {
    padding: 30px 0;
    text-align: center;
}
#wpmem_login {
    display: flex; flex-direction: column; gap:10px;
    margin: auto;
    padding:0 30px;
    width: 100%; max-width: 500px;
    color: #333;
    background: #fff;
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15);
    border-radius: 20px;
}
#wpmem_login input[type="submit"] {
    padding: 5px 20px;
    color: #fff;
    background: #444;
}
#wpmem_restricted_msg { display: none;}


/* =========================================================================================
Page(ALL)
=========================================================================================*/
/* Kiji */
.kiji_detail { display: flex; flex-direction: column; gap:40px;}
.kiji_detail h2.kiji_mid { position: relative; padding-bottom: 20px; border-bottom: 1px solid #ddd;}
.kiji_detail h2.kiji_mid span { position: relative; z-index: 9;}
.kiji_detail h2.kiji_mid::before {
    position: absolute; left: -10px; top: -5px;
    display: block; clear: both; content:"";
    width: 35px; height: 35px;
    background: url("images/common/kazari_y.png") no-repeat;
    background-size: 100% auto;
}
@media only screen and (max-width:868px){
}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
}


/* =========================================================================================
Page(×××××××)
=========================================================================================*/
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
}


/* =========================================================================================
Page(contact)
=========================================================================================*/
#contact { margin: auto; width: 100%; max-width: 800px;}
#contact form {
    position: relative;
    margin: 0 auto;
    box-sizing: border-box;
    background: #fff;
}
#contact label {font-weight: bold;}
#contact input[type="tel"],
#contact input[type="text"],
#contact input[type="email"],
#contact textarea {
	padding:5px 10px;
	border:1px solid #EEE;
	background:#f6f6f6;
	box-sizing:border-box;
	border-radius:5px;
}
#contact textarea { width:100%; height:120px;}
#contact select { padding:5px 10px; border:1px solid #EEE; background:#FAFAFA;}
#contact input[type="file"] { display:block; padding:5px; background:#F6F6F6;}
#contact input:focus,
#contact textarea:focus {
    background:rgba(144,202,197,0.10);
}
#contact .b_btn,
#contact .b_back {
    display: block;
    margin: 40px auto 0;
    padding: 0 30px;
    width: 300px; height: 60px; line-height: 60px;
    font-size: 125%;
    font-weight: 700;
    text-align: center;
    color: #fff;
    box-sizing: border-box;
    border: none;
    border-radius: 100px;
}
#contact .b_btn { background: #000;}
#contact .b_back { background: #777;}
#contact .b_btn:hover,
#contact .b_back:hover {
    opacity: 0.7;
    transition: 0.3s;
}
#contact .hissu {
    position: relative; top: 5px;
    display: inline-block;
    margin-left:10px;
    width: 50px; height: 20px; line-height: 20px;
    color: #fff;
    font-size: 10px;
    text-align: center;
    background:rgba(217,66,68,1.00);
    border-radius: 30px;
}
#contact dl { display: flex; flex-wrap: wrap; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd;}
#contact dl + dl {border-top:none;}
#contact dt,
#contact dd { padding: 20px;}
#contact dt { display: flex; justify-content: space-between; width: 250px; font-weight: 600;}
#contact dd { display: flex; flex-direction: column; gap:10px; width: calc(100% - 250px);}
#contact dd p { display: flex; gap:10px;}
#contact dd .w20 { width: 100%; max-width: 200px;}
#contact dd .w30 { width: 100%; max-width: 300px;}
#contact dd .w100 { width: 100% !important; }
@media only screen and (max-width:768px){
    #contact dl { flex-direction: column;}
    #contact dl + dl {border-top:none;}
    #contact dt { width: 100%; padding:10px 10px 0;}
    #contact dd { width: 100%; padding:5px 10px 20px;}
    #contact dt span.hissu { margin-left: 10px;}
    #contact input[type="tel"],
    #contact input[type="text"],
    #contact input[type="email"],
    #contact textarea { width: 100%; }
	#contact .b_btn,
	#contact .b_back {
		padding: 0 10px;
		width: 120px; height: 40px; line-height: 40px;
		font-size: 125%;
	}
}
@media only screen and (max-width:468px){
}


/* =========================================================================================
Page(404)
=========================================================================================*/
.error404 .entry-header{
    text-align: center;
    padding:40px 20px;
    margin: 0 ;
}

.error404 .error-message{
    padding: 20px;
    margin-bottom: 30px;
    text-align: center;
}
    .error404 .error-message p img{
        margin: 0 auto 80px;
        max-width: 250px;
    }

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

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

}



/* =========================================================================================
MEMBER
=========================================================================================*/
.sb_tit { margin-bottom: 60px; text-align: center;}
.sb_tit span { position: relative;}
.sb_tit span::before {
    position: absolute; left: -20px; top: -30px;
    display: block; clear: both; content:"";
    width: 35px; height: 35px;
    background: url("images/common/kazari_y.png") no-repeat;
    background-size: 100% auto;
}
.sb_tit b,
.sb_tit small { position: relative; font-weight: normal;}
.sb_tit b {
    font-family: "Noto Serif JP", serif;
    font-size: 225%;
}
.sb_tit small {
    display: block;
    font-size:100%;
    letter-spacing: 2px;
}
@media only screen and (max-width:768px){
    .sb_tit { margin-bottom: 40px;}
    .sb_tit b { font-size: 225%; }
    .sb_tit small { font-size:87.5%;}
}
@media only screen and (max-width:468px){
}


.member_nav { display: flex; flex-wrap: wrap; justify-content: center; gap:20px;}
.member_nav p { width: calc(33.3% - 16px);}
.member_nav p a {
    display: block;
    padding: 20px 60px 20px 20px;
    height: 100%;
    color: #fff;
    background:#90CAC5 url("images/common/icon_arrow_w.svg") no-repeat 95% center;
    background-size: 34px auto;
    border-radius: 10px;
}
@media only screen and (min-width:768px){
    .member_nav p a:hover { opacity: 0.7; text-decoration: none;}
}
@media only screen and (max-width:1040px){
}
@media only screen and (max-width:768px){
    .member_nav p { width: calc(50% - 10px);}
}
@media only screen and (max-width:468px){
}
















figure.wp-block-gallery.has-nested-images { display: flex; gap: 40px;}
@media only screen and (max-width:468px){
    figure.wp-block-gallery.has-nested-images { display: flex; gap: 10px;}
}