/*
Theme Name: hearthomes_theme
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;
    font-size: 16px;
	font-weight:400;
    color:#222;
    line-height:175%;
    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 {
    width: 100%; height: auto;
    max-width: 100%;
    border: none;
}
img{
	display: block;
	image-rendering: smoothe !important;
}
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:blue;}
a[href^="tel:"] { text-decoration:none; pointer-events:none ; text-emphasis: none !important;}
a[href^="fax:"] { text-decoration:none; pointer-events:none ;}

.pc {display: block;}
.pctb {display: block;}
.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;}
    .pctb {display:none;}
    .tb {display:none;}
    .tbsp {display: block;}
    .sp {display:block;}
}


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


/*=========================================================================================
Header
=========================================================================================*/
#header {
    position:fixed; top: 0; left: 0; z-index: 9999;
    width: 100%;
    transition:.3s;
    background: #fff;
}
#header .inner {
    display: flex; flex-wrap: wrap; justify-content:space-between; align-items: flex-start; gap:20px;
    padding: 0;
    width:100%; max-width:1400px;
}

/* Logo */
#header h1 { width:350px;}
#header h1 a { display: block; padding:20px 25px;}
#header h1 a img { width: 100%; height: auto;}


/* Tel */
#header .tel {
    width:260px;
    color: #fff;
    text-align: center;
    line-height: 100%;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    overflow: hidden;
}
#header .tel a {
    display: block;
    padding:25px 0;
    color: #fff;
    background: #FF8633;
}
#header .tel p:nth-child(1) {
    margin-bottom:15px;
    font-family: "Roboto", sans-serif;
    font-size: 32px;
    font-weight:bold;
}
#header .tel p:nth-child(2) { font-size: 75%;}
#header .tel p:nth-child(3) { font-size: 75%; letter-spacing: -1px;}


/* Navigation */
#header .h_cont {
    display: flex; flex-direction: column; align-items: flex-end; gap:10px;
    padding: 20px 0 0;
    width: calc( 100% - 350px - 260px - 40px);
}
#header .sb_nav { display: flex; gap:10px;}
#header .sb_nav li a {
    display: block;
    padding: 5px 20px 5px 45px;
    color: #222;
    font-weight: 600;
    text-decoration: none;
    background-size: 30px auto !important;
    border-radius: 20px;
}
#header .sb_nav li:nth-child(1) a { background:#F0FAFC url("images/common/icon_contact.png") no-repeat 10px center;}
#header .sb_nav li:nth-child(2) a { background:#F4FBEF url("images/common/icon_raiten.png") no-repeat 10px center;}
#header .sb_nav li:nth-child(3) a { background:#FFF0E6 url("images/common/icon_mitumori.png") no-repeat 10px center;}


#nav {}
#nav ul {display: flex; gap:20px;}
#nav ul li a {
    position: relative;
    display: block;
    color: #222;
    font-size:112.5%;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    line-height: 130%;
    box-sizing: border-box;
}
#nav ul li p a::before {
    position: absolute; left:0; top: 0; bottom: 0;
    display: block; clear: both; content: "";
    margin: auto;
    width: 1px; height: 25px;
    background: #ddd;
}
@media only screen and (min-width:768px){
    #header h1 a:hover { opacity: 0.7;}
    #header .sb_nav li a:hover { opacity: 0.7;}
    #nav ul li a span { position: relative;}
    #nav ul li a span:before {
        position: absolute; bottom:-10px; left: 0; right: 0;
        display: block; clear: both; content:"";
        margin: auto;
        width: 0; height: 2px;
        background: #FF8633;
        transition: .3s;
    }
    #nav ul li a:hover span:before { width: 100%;}
    #header .tel a:hover { opacity: 0.7;}
}
@media only screen and (max-width:1400px){
    #header .tel { border-bottom-right-radius: 0;}
}
@media only screen and (max-width:1345px){
    #header h1 { width:300px;}
    #header .h_cont {width: calc( 100% - 300px - 260px - 40px);}
}
@media only screen and (max-width:1320px){
    #header h1 { width:250px;}
    #header .h_cont {width: calc( 100% - 250px - 200px - 40px);}
    #nav ul { gap:10px;}
    #nav ul li a {font-size:100%;}
    #header .tel { width:200px;}
    #header .tel a { padding:15px 0;}
    #header .tel p:nth-child(1) { font-size: 26px; margin-bottom:5px;}
    #header .tel p:nth-child(2),
    #header .tel p:nth-child(3) { font-size:10px;}    
}
@media only screen and (max-width:1080px){
    #nav ul li a {font-size:95%;}
}
@media only screen and (max-width:1070px){
    #header .inner { gap:10px;}
    #header h1 { width:200px;}
    #header .h_cont { padding: 10px 0 0; width: calc( 100% - 200px - 50px - 20px);}
    #header .sb_nav li a { font-size: 87.5%;}
    #header .sb_nav li a { padding: 2px 20px 2px 40px; background-size: 25px auto !important;}
    #nav ul li a { font-size: 87.5%;}
    #header .tel {  width:50px;}
    #header .tel a {
        display: block;
        padding:10px 0;
        text-indent: -9999px;
        background: #FF8633 url("images/common/icon_tel.svg") no-repeat center center;
        background-size: 30px auto;
    }
}
@media only screen and (max-width:768px){
    #header { padding:0;} 
    #header .inner {
		justify-content: flex-start;
        width: 100%;
    }
    #header h1 { width:200px; height: 70px;}
    #header h1 a { padding:15px 15px;}
    #header h1 a img { width: auto; height: 40px;}
    #header .tel { display: none;}
    #header .h_cont { padding: 0;}
    #header .sb_nav { display: flex; gap:0;}
    #header .sb_nav li { width:70px;}
    #header .sb_nav li a {
        display: block;
        padding:35px 0 0;
        width:70px; height: 70px;
        color: #222;
        font-size:10px;
        font-weight: 400;
        text-align: center;
        text-decoration: none;
        background-color: #fff !important;
        background-position: center 10px !important;
        background-size: 30px auto !important;
        border-radius:0;
    }
    #header .sb_nav li a span { display: none;}
    .nav_btn {
        display: block !important;
        cursor: pointer;
        position:fixed; top:0; right:0;
        width: 70px; height:70px;
        box-sizing: border-box;
        z-index: 999999999;
    }
    .nav_btn span {
        display: inline-block;
        position: absolute; left:0; right: 0; margin:auto;
        width:34px; height:6px;
        background:#FF8633;
        transition: all .3s;
        border-radius: 4px;
    }
    .nav_btn span:nth-of-type(1) { top:20px;}
    .nav_btn span:nth-of-type(2) { top:32px;}
    .nav_btn span:nth-of-type(3) { top:44px;}
    .nav_btn small { position: absolute; bottom:0; width: 100%; font-size: 10px; text-align: center;}
    .nav_btn.active span:nth-of-type(1) { top:32px; transform:rotate(-45deg);}
    .nav_btn.active span:nth-of-type(2) { opacity: 0;}
    .nav_btn.active span:nth-of-type(3) { top:32px; transform:rotate(45deg);}
    #header #nav {
        display:none;
        position: absolute;  top:70px; right: 0;
        width: 100%; height: calc(100vh - 70px);
        overflow: auto;
        background:#f6f6f6;
        border-top:1px solid #eee;
    }
    #nav ul { flex-direction: column; gap:0; padding:20px 0 150px;}
    #nav ul li { position: relative; margin: auto; width:90%; border-bottom: 1px solid #ddd;}
    #nav ul li a { display: block; text-decoration: none;}
    #nav ul li a { padding:20px 25px; text-align: left;}
    #nav ul li p a::before { display: none;}
	#nav ul li .pull_btn {
		cursor: pointer;
		position: absolute; top: 5px; right: 5px; z-index: 9999;
		width: 50px; height: 50px;
	}
	#nav ul li .pull_btn span {
        display: inline-block;
        position: absolute; left:0; right: 0; margin:auto;
        width:30px; height:3px;
        background:#333;
        transition: all .3s;
        border-radius: 4px;
    }
	#nav ul li .pull_btn span:nth-of-type(1) { top:0; bottom: 0;}
	#nav ul li .pull_btn span:nth-of-type(2) { top:0; bottom: 0; transform:rotate(90deg);}
	#nav ul li .pull_btn.active span:nth-of-type(2) { transform:rotate(0deg);}
}


/* =========================================================================================
Footer
=========================================================================================*/
#footer {
    position: relative; z-index: 9;
    background:#fff; border-top:10px solid #FF8633;
}
#footer .inner { display: flex; flex-direction: column; gap:40px; padding:50px 0;}

/* ADDRESS */
#footer .address { display: flex; flex-wrap: wrap; justify-content:space-between; align-items: center; gap:40px;}
#footer .address .logo { width: 240px;}
#footer .address .logo img { width: 100%; height: auto;}
#footer .address .add { width: calc( 100% - 240px - 40px - 80px);}
#footer .address .sns { width: 40px;}
#footer .address .sns li { width: 40px;}

/* AREA */
#footer dl.area { 
    display: flex; flex-wrap: wrap; align-items: center; gap:20px;
    padding: 20px 40px;
    background:#eee;
    border-radius: 20px;
}
#footer dl.area dt {
    width: 170px;
    font-size: 150%;
    font-weight:500;
}
#footer dl.area dd { font-size: 87.5%;}

/* NAV1 */
#footer ul.f_nav { 
    display: flex; flex-wrap: wrap; justify-content: space-between; gap:20px;
}
#footer ul.f_nav a { color: #222; line-height: 180%; text-decoration: none;}
#footer ul.f_nav p { margin-bottom: 10px; font-weight: bold;}
#footer ul.f_nav p a {
    padding-left: 20px;
    background: url("images/common/arrow_b.png") no-repeat left 8px;
    background-size: 10px auto;
}
#footer ul.f_nav ul { padding-left: 20px; font-size: 87.5%;}
#footer ul.f_nav ul li::before { content:"・";}
#footer ul.f_nav li div { display: flex; gap:20px;}

/* COPYRIGHT */
#footer .copyright {
    padding:20px;
    text-align: center;
    background:rgba(255,134,51,0.20);
}
@media only screen and (min-width:768px){
    #footer ul.f_nav a:hover { text-decoration: underline;}
}
@media only screen and (max-width:768px){
    #footer .inner { padding:80px 0;}
    #footer .address { flex-direction: column;}
    #footer .address .logo { width:345px;}
    #footer .address .add { width:auto;}
    #footer .address .sns { display: none;}
    #footer dl.area { padding:7%;}
    #footer .sns { margin: auto;}
    #footer .sns { width: 40px;}
    #footer .sns li { width: 40px;}
    #footer ul.f_nav { display: none;}
}
@media only screen and (max-width:468px){
}



/* =========================================================================================
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:700;
}
.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 { display: block; margin:0 auto 0;}
.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: #ccc;
}
.pagination .page-numbers li .current { color: #fff; background: #000;}
.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:0;}
.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 { padding-top:50px;}
    .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 {
    margin: 0 auto;
    padding: 50px 0;
    width: 95%;
    font-family: "Zen Maru Gothic", serif;
    font-size: clamp(225%, 4.2vw, 275%);
    color: #222;
    text-align: center;
    background:#ABE3EF;
    border-radius: 30px;
}
@media only screen and (max-width:768px){
    .entry-header { padding: 40px 0;}
}
@media only screen and (max-width:468px){
    .entry-header { padding: 40px 0;}
}


/* =========================================================================================
Breadcrumbs ( Single / Archive / Page )
=========================================================================================*/
.breadcrumbs {
    display: flex;
    margin: auto;
    padding: 20px 0;
    width: 90%; max-width: 1000px;
    font-size: 87.5%;
    border-bottom: 1px solid #dddd;
}
.breadcrumbs li + li::before { content:"-"; padding: 0 10px;}
.breadcrumbs li a { color: #000;}


/* =========================================================================================
  Editer
=========================================================================================*/
.sb_content { display: flex; flex-direction: column; gap:40px; max-width: 1000px;}

/*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,
h2.wp-block-heading,
h3.wp-block-heading,
h4.wp-block-heading,
h5.wp-block-heading,
h6.wp-block-heading {
    font-family: "Zen Maru Gothic", serif;
	font-weight:700;
}
h1.wp-block-heading {
    position: relative;
    padding-bottom: 20px;
    font-size: clamp(225%, 3.59vw, 237.5%) !important;
    color: #222;
    border-bottom: 3px solid #FF8633;
}
h1.wp-block-heading::before {
    position: absolute; top:-30px;  left:-40px;
    display: block; clear: both; content:"";
    width:100%; max-width: 60px; height:auto;
    aspect-ratio: 269 / 268; 
    background: url("images/common/h1_bg.png") no-repeat;
    background-size: 100% auto;
    mix-blend-mode: multiply;
}

h2.wp-block-heading {
    padding-left: 20px;
    font-size: clamp(175%, 3vw, 200%) !important;
    color: #222;
    border-left: 7px solid #84C95C;
}
h3.wp-block-heading {
    padding-bottom: 20px;
    font-size: clamp(150%, 2.6vw, 175%) !important;
    color: #222;
    border-bottom: 3px solid #84C95C;
}
h4.wp-block-heading {
    font-size: clamp(125%, 2.19vw, 150%) !important;
    color: #222;
}
h5.wp-block-heading {
    font-size: clamp(112.5%, 1.9vw, 125%) !important;
    color: #222;
}
h6.wp-block-heading {
    font-size:112.5% !important;
    color: #222;
}
@media only screen and (max-width:468px){
}


/* Button */
.btn { margin-top: 100px; width: 100%;}
.btn p { margin: auto; max-width: 460px;}
.btn p a {
    display: block;
    padding: 15px;
    font-size: 125%;
    font-weight:400;
    text-align: center;
    color: #333;
    background: #fff;
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
}

/* column */
.wp-block-columns { gap:40px;}
.wp-block-columns .wp-block-image { display: flex; flex-direction: column; aspect-ratio: 6 / 4;}
.wp-block-columns .wp-block-image img { aspect-ratio: 6 / 4; align-content: center; object-fit: cover;}
.wp-lightbox-overlay .wp-block-image img { aspect-ratio:auto;}
.wp-lightbox-overlay .wp-block-image img {
  height:auto;
  min-height:auto;
  min-width:auto;
  width:auto;
}

/*blockquote*/
blockquote{
    position:relative;
    padding: 20px;
    background:#f5f5f5;
}
blockquote cite {
    display: block;
    font-size: 0.8rem;
    text-align: right;
    color: #808080;
    padding-right:20px;
}
@media only screen and (min-width:768px){
}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
}


/* =========================================================================================
Original_item
=========================================================================================*/
.free_cont { display: flex; flex-direction: column; gap:40px;}


/* Indention */
.indention {
	clear:both;
	margin: 0 2%;
	height:40px;
	text-indent: -9999px;
}

/* Line */
.line hr {
	clear:both;
    color:#ddd;
	border-top: 1px solid #ddd;
}


/* Catch */
.catch {
    font-size:150%;
    font-weight:600;
	color: #000;
	line-height: 150%;
	/*text-align: center;*/
}
.catch2 {
    font-size:150%;
	line-height: 150%;
    font-weight:600;
	color: #82263C;
}
@media only screen and (max-width:468px){
    .catch { font-size:150%;}
}


/* Comment */
.come,
.comment {
	font-family: "Noto Sans JP", sans-serif;
	font-weight:400;
}
.come_sine { text-align: right; font-size: 95%; line-height:180%;}
.come_gray { padding:3%; background: #f6f6f6;}


/* Notes */
.notes { position: relative; padding-left: 20px; line-height: 150%;}
.notes::before { position: absolute; top:0; left: 0; content:"※";}


/* Button */
.b_more { width: 300px;}
.b_more a {
    display: block;
    padding: 15px 15px 15px 65px;
    color: #222;
    font-weight: 600;
    font-size: 125%;
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15);
    border-radius: 50px;
}
.b_more.b_o a { background:#fff url("images/common/arrow_o.png") no-repeat 15px center;}
.b_more.b_g a { background:#fff url("images/common/arrow_g.png") no-repeat 15px center;}
.b_more2 { width: 140px;}
.b_more2 a {
    display: block;
    padding: 5px 5px 5px 35px;
    color: #fff !important;
    font-weight: 600;
    background: url("images/common/arrow_w.png") no-repeat 15px center;
    background-size: 10px auto;
    border-radius: 30px;
}
.b_more2.b_o a { background-color: #FF8633;}
.b_more2.b_g a { background-color: #84C95C;}
.b_more2.b_d a { background-color: #7B7171;}
@media only screen and (min-width:768px){
    .b_more a:hover { text-decoration: none; color:#fff;}
    .b_more.b_o a:hover { background-color: #FF8633;}
    .b_more.b_g a:hover { background-color: #84C95C;}
    .b_more2 a:hover { text-decoration: none; opacity: 0.7;}
}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
}


/* Gallery*/
.gallery { display: flex; flex-wrap: wrap; gap:20px;}
.gallery.col1 p { width : 100%; }
.gallery.col2 p { width : calc(100% / 2 - 10px) ; }
.gallery.col3 p { width : calc(100% / 3 - 13.33px) ; }
.gallery.col4 p { width : calc(100% / 4 - 15px) ; }
.gallery.col5 p { width : calc(100% / 5 - 16px) ; }
.gallery p.col2 { width : calc(100% / 2 - 10px) ; }
.gallery p.col3 { width : calc(100% / 3 - 13.33px) ; }
.gallery p.col4 { width : calc(100% / 4 - 15px) ; }
.gallery p.col5 { width : calc(100% / 5 - 16px) ; }
.gallery p img {
    width : 100%; height: auto;
	aspect-ratio: 6 / 4; 
	object-fit: cover;
}
.gallery .caption {
	display: block;
    margin-top: 15px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight:400;
    text-align:center;
}
@media only screen and (max-width:468px){
    .gallery p,
    .gallery.col2 p,
    .gallery.col3 p,
    .gallery.col4 p,
	.gallery.col5 p{ width : calc(100% / 2 - 10px) !important; }
	.gallery.col1 p { width : 100% !important; }
}


/* Table */
table.hyou {
	clear:both;
	margin:0 auto;
	width:100%;
	border-collapse:collapse;
	border-top:1px solid #ddd;
}
table.hyou th,
table.hyou td {
	padding:15px;
	border-bottom:1px solid #ddd;
}
table.hyou th { width:200px; font-weight: 500; background: rgba(132,209,225,0.15);}
table.hyou td { background:#fff;}
@media only screen and (max-width:768px){
    table.hyou { width:96%; table-layout:auto;}
    table.hyou th,
    table.hyou td{
        table-layout:auto !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
    }
    table.hyou th { padding: 10px 15px; border-bottom:none; }    
    table.hyou td { padding-bottom: 20px; }    
}


/* Temp box */
.temp_box1 { display: flex; flex-wrap:wrap; gap:40px;}
.temp_box1.row-re { flex-direction: row-reverse;}
.temp_box1 .photo { display: flex; flex-direction: column; gap:10px; width: 46%; text-align: center;}
.temp_box1 .photo img {width : 100%; height: auto;}
.temp_box1 .photo.tp img {
	width : 100%; height: auto;
	aspect-ratio: 4 / 6; 
	object-fit: cover;
}
.temp_box1 .photo.photo_fullsize img {
	aspect-ratio: auto;
}
.temp_box1 .photo .caption {
	font-family: "Noto Sans JP", sans-serif;
	font-weight:400;
}
.temp_box1 .cont { 
    display: flex; flex-direction: column; gap:40px;
    width: calc(100% - 46% - 40px);
}
.temp_box1 .cont.full-width { width: 100%;}
.temp_box1 .cont .mid {
	margin:40px 0;
    font-size: clamp(125%, 2.19vw, 150%) !important;
    font-weight: bold;
    color: #222;
}
.temp_box1.flot_box { display: block !important;}
.temp_box1.flot_box .photo { float: left; margin-right:40px;}
.temp_box1.flot_box.row-re .photo { float:right; margin-left:40px;}
.temp_box1.flot_box .cont { width: 100%; display:inline;}
@media only screen and (max-width:768px){
    .temp_box1 { flex-direction: column;}
    .temp_box1 .photo,
    .temp_box1 .cont { width: 100%;}
    .temp_box1.flot_box { display:flex;}
    .temp_box1.flot_box .photo { float:none; margin:0;}
    .temp_box1.flot_box.row-re .photo { float:none; margin:0;}
}


/* Temp box */
.temp_box2 { overflow: hidden;}
.temp_box2 .photo.pic_r { float: right; width: 46%; margin-left: 40px; margin-bottom: 20px;}
.temp_box2 .photo.pic_l { float: left; width: 46%; margin-right: 40px; margin-bottom: 20px;}
.temp_box2 .photo img {width : 100%; height: auto;}
.temp_box2 .photo.photo_fullsize img {
	aspect-ratio: auto;
}
@media only screen and (max-width:468px){
    .temp_box2 { display: flex; flex-direction: column-reverse; gap:40px;}
    .temp_box2 .photo,
    .temp_box2 .come { float: none; width: 100% !important; margin: 0 !important;}
}


/* Column */
.column_box { display: flex; flex-wrap:wrap; gap:40px;}
.column_box .col2 { width: calc( 50% - 20px);}
.column_box .col3 { width: calc( 33.3% - 26.66px);}
.column_box .col4 { width: calc( 25% - 30px);}
@media only screen and (max-width:768px){
    .column_box .col2,
    .column_box .col3,
    .column_box .col4 { width: calc( 50% - 20px);}
}
@media only screen and (max-width:468px){
    .column_box .col2,
    .column_box .col3,
    .column_box .col4 { width: 100%;}
}


/* Slide box */
.slide_cont { padding: 100px 0; background: #f6f6f6;}
.slide_cont h2 { margin: 0 auto 40px; width:90%; max-width:1000px;}
.slide_cont .slide_list .box {
    margin: 10px;
    padding: 20px;
    width: 375px;
    background: #fff;
    border-radius: 25px;
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15);
}
.slide_cont .slide_list .box a { color: #222;}
.slide_cont .slide_list .box .photo img { aspect-ratio: 6 / 4; object-fit: cover;}
.slide_cont .slide_list .box .comment { margin: 20px 10px 0;}
.slide_cont .slide_list .box .mid {
    font-size: 87.5%;
    font-weight: bold;
    display: -webkit-box;             
    -webkit-box-orient: vertical; 
    overflow: hidden; 
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}
.slide_cont .slide_list .box .come { font-size: 125%;}
.slide_cont .slide_list .box .namae { font-size: 87.5%;}




/* =========================================================================================
Page( Seko )
=========================================================================================*/
#search { padding:30px; box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15); }
#search .search_list dl { display:flex; flex-wrap:wrap; gap:5px 20px; margin-bottom:10px;}
#search .search_list dt { width:150px;padding:5px; text-align:center; background:#f6f6f6;}
#search .search_list dd { display:flex; flex-wrap:wrap; gap:5px 10px; width:calc(100% - 150px - 20px); padding:5px;}
#search .b_btn { margin:auto; width: 140px;}
#search .b_btn {
    display: block;
    padding: 5px;
    color: #fff !important;
    font-weight: 600;
	text-align:center;
    background:#FF8633;
    background-size: 10px auto;
    border-radius: 30px;
}
@media only screen and (max-width:768px){
    #search .search_list dl { flex-direction:column;}
	#search .search_list dt,
	#search .search_list dd { width:100%;}
}

/* List */
#seko .seko_list { display: flex; flex-wrap: wrap; gap:30px;}
#seko .seko_list .box {
    width: calc( 33.3% - 20px);
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15);
    border-radius: 25px;
    overflow: hidden;
}
#seko .seko_list .box a { color: #222;}
#seko .seko_list .box .photo img {
    width : 100%; height: auto;
	aspect-ratio: 6 / 4; 
	object-fit: cover;
}
#seko .seko_list .box .cont {
    display: flex; flex-direction: column; gap:20px;
    padding: 30px 20px;
}
#seko .seko_list .box .mid {
    font-size: clamp(125%, 2.19vw, 150%) !important;
    font-weight: 600;
}
#seko .seko_list .box .namae { font-size: 87.5%;}
#seko .seko_list .box .tag p { display: inline-block; font-size: 87.5%;}
#seko .seko_list .box .tag p + p:before { margin: 0 10px; content: "/"; font-size: 87.5%;}
@media only screen and (min-width:768px){
    #seko .seko_list .box a:hover { text-decoration: none;}
}
@media only screen and (max-width:768px){
    #seko .seko_list { flex-direction: column;}
    #seko .seko_list .box { width:100%;}
}

/* Detail */
#seko .seco_photo { display: flex; flex-wrap: wrap; gap:20px;}
#seko .seco_photo .seko_after,
#seko .seco_photo .seko_before { width: calc(50% - 10px);}
#seko .seco_photo img {
width : 100%; height: auto;
aspect-ratio: 6 / 4; 
object-fit: cover;
}
#seko .seco_photo .photo_slide { margin-bottom:5px;}
#seko .seco_photo .caption { padding:7px 15px; text-align:center; font-weight:bold; background:#f6f6f6;}
#seko table.hyou th { width: 150px;}
#seko .manager { 
    display: flex; flex-wrap: wrap; gap:40px;
    padding:3%;
    background:rgba(160,217,127,0.10);
}
#seko .manager h6 { margin-bottom: 20px;}
#seko .manager .photo { width:120px;}
#seko .manager .cont { width: calc(100% - 120px - 40px);}
@media only screen and (max-width:768px){
    #seko .seco_photo { flex-direction: column;}
    #seko .seco_photo .seko_after,
    #seko .seco_photo .seko_before { width:100%;}
    #seko .manager { padding:50px 30px;}
    #seko .manager h6 { text-align: center;}
    #seko .manager { justify-content: center; gap:20px;}
    #seko .manager .photo { margin: auto; width:150px;}
    #seko .manager .cont { width: 100%;}
}



/* =========================================================================================
Page( Success story )
=========================================================================================*/
/* List */
#story .story_list { display: flex; flex-wrap: wrap; gap:60px;}
#story .story_list .box {
    width: calc( 33.3% - 40px);
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15);
    border-radius: 25px;
    overflow: hidden;
}
#story .story_list .box a { color: #222;}
#story .story_list .box img {
    width : 100%; height: auto;
	aspect-ratio: 6 / 4; 
	object-fit: cover;
}
#story .story_list .box .cont {
    display: flex; flex-direction: column; gap:20px;
    padding: 30px 20px;
}
#story .story_list .box .fix { font-size: 87.5%; color: #FF0004;}
#story .story_list .box .mid {
    font-size: clamp(125%, 2.19vw, 150%) !important;
    font-weight: 600;
}
#story .story_list .box .day_data { display: flex; background: #f6f6f6;}
#story .story_list .box .day_data span { padding: 5px 10px;}
#story .story_list .box .day_data span:nth-child(1) {
    color: #fff;
    background: #222;
}
@media only screen and (max-width:768px){
    #story .story_list { flex-direction: column;}
    #story .story_list .box { width:100%;}
}


/* Detail */
#story table.hyou th { width: 150px;}
#story .wp-block-columns .wp-block-image img {aspect-ratio:auto; }


/* =========================================================================================
Page( Voice )
=========================================================================================*/
/* List */
#voice .voice_list { display: flex; flex-wrap: wrap; gap:60px;}
#voice .voice_list .box {
    width: calc( 33.3% - 40px);
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15);
    border-radius: 25px;
    overflow: hidden;
}
#voice .voice_list .box a { color: #222;}
#voice .voice_list .box img {
    width : 100%; height: auto;
	aspect-ratio: 6 / 4; 
	object-fit: cover;
}
#voice .voice_list .box .cont {
    display: flex; flex-direction: column; gap:20px;
    padding: 30px 20px;
}
#voice .voice_list .box .fix { font-size: 87.5%; color: #FF0004;}
#voice .voice_list .box .mid {
    font-size: clamp(125%, 2.19vw, 150%) !important;
    font-weight: 600;
}
#voice .voice_list .box .day_data { display: flex; background: #f6f6f6;}
#voice .voice_list .box .day_data span { padding: 5px 10px;}
#voice .voice_list .box .day_data span:nth-child(1) {
    color: #fff;
    background: #222;
}
@media only screen and (max-width:768px){
    #voice .voice_list { flex-direction: column;}
    #voice .voice_list .box { width:100%;}
}


/* Detail */
#voice table.hyou th { width: 150px;}




/* =========================================================================================
Page( Event )
=========================================================================================*/
/* List */
#event .event_list { display: flex; flex-wrap: wrap; gap:60px;}
#event .event_list .box {
    width: calc( 50% - 30px);
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15);
    border-radius: 25px;
    overflow: hidden;
}
#event .event_list .box a { color: #222;}
#event .event_list .box .photo img {
    width : 100%; height: auto;
	aspect-ratio: 6 / 4; 
	object-fit: cover;
}
#event .event_list .box .cont {
    display: flex; flex-direction: column; gap:20px;
    padding: 30px 20px;
}
#event .event_list .box .status.red { font-size: 87.5%; color: #FF0004;}
#event .event_list .box .status.gray { font-size: 87.5%; color: #777;}
#event .event_list .box .mid {
    font-size: clamp(150%, 2.6vw, 175%) !important;
    font-weight: 600;
}
#event .event_list .box .day_data { display: flex; background: #f6f6f6;}
#event .event_list .box .day_data span { padding: 5px 10px;}
#event .event_list .box .day_data span:nth-child(1) {
    color: #fff;
    background: #222;
}
@media only screen and (min-width:768px){
    #event .event_list .box a:hover { text-decoration: none;}
}
@media only screen and (max-width:768px){
    #event .event_list { flex-direction: column;}
    #event .event_list .box { width:100%;}
}

/* Detail */
#event .photo_fullsize img {
	aspect-ratio: auto;
}
#event .tag { display: flex; gap:20px;}
#event .tag p { padding: 5px 15px; color: #fff;}
#event .tag p.tag1 { background: #84D1E1;}
#event .tag p.tag2 { background: #84C95C;}
#event .tag p.tag3 { background: #FF8633;}
#event .soudan_cate p { display: inline-block;}
#event .soudan_cate p + p:before { margin: 0 10px; content: "/";}
#event iframe { width: 100%; height: 400px;}




/* =========================================================================================
Page( Staff Blog )
=========================================================================================*/
#blog .blog_list{ display: flex; flex-wrap:wrap; gap:40px;}
#blog .blog_list .box { width: calc( 50% - 20px);}
#blog .blog_list .box a { display: flex; flex-wrap:wrap; gap:10px 40px; color: #222;}
#blog .blog_list .box .photo { display: flex; flex-direction: column; gap:10px; width: 46%; text-align: center;}
#blog .blog_list .box .photo img {
width : 100%; height: auto;
aspect-ratio: 6 / 4; 
object-fit: cover;
}
#blog .blog_list .box .cont { 
    display: flex; flex-direction: column; gap:10px;
    width: calc(100% - 46% - 40px);
}
#blog .blog_list .box .cont .mid {font-weight: 600;}
#blog .free_cont img {
width :auto; height: auto;
}
@media only screen and (min-width:768px){
    #blog .blog_list .box a:hover { text-decoration: none;}
}
@media only screen and (max-width:768px){
    #blog .blog_list .box { flex-direction: column;}
    #blog .blog_list .box .photo,
    #blog .blog_list .box .cont { width: 100%;}
}




/* =========================================================================================
Page( Company )
=========================================================================================*/
#company .map iframe  { width: 100%; height: 400px;}




/* =========================================================================================
Page( Privacy )
=========================================================================================*/
#privacy  {;}




/* =========================================================================================
Page( Faq ) 一時保管CSS
=========================================================================================*/
/* List */
#faq .faq_nav { display: flex; flex-wrap: wrap; gap:60px;}
#faq .faq_nav dl {
    display: flex; flex-wrap: wrap; flex-direction: column; gap:20px;
    padding: 30px;
    width:calc(100% / 2 - 30px);
    background: #f6f6f6;
    border-radius: 25px;
    
}
#faq .faq_nav dt { font-size: clamp(125%, 2.19vw, 150%) !important;}
#faq .faq_nav dd .come {
    display: flex; flex-direction: column; gap:3px;
}
#faq .faq_nav dd p {
    position: relative;
    padding:10px 30px;
    font-size: 87.5%;
    background: #fff;
}
#faq .faq_nav dd p:before {
    display: block; clear: both;
    position: absolute; left: 10px; top:10px;
    content:"Q";
    font-family: "Roboto", sans-serif;
    font-size: 20px;
    line-height: 1.5;
    color:#84C95C;
}

#faq .faq_list dt:before { }
#faq .faq_nav dd .b_more { margin:20px auto 0;}

/* Detail */
#faq .faq_list dl {
    display: flex; flex-direction: column; gap:15px;
    padding:20px 0;
    border-bottom: 1px solid #ddd;
}
#faq .faq_list dt,
#faq .faq_list dd { position: relative; line-height: 1.5;}
#faq .faq_list dt { 
    padding-left:50px;
    font-size:125%; 
    font-weight:700;
    color: #84C95C;
    background: url("images/common/pull_open.png") no-repeat 98%;
    background-size: 30px auto;
}
#faq .faq_list dt.active { 
    background-image: url("images/common/pull_close.png");
}
#faq .faq_list dd {
    padding-left:50px;
    display: none;
}
#faq .faq_list dt:before,
#faq .faq_list dd:before {
    display: block; clear: both;
    position: absolute; left: 0; top:0;
    font-family: "Roboto", sans-serif;
    font-size: 30px;
    line-height: 1.5;
}
#faq .faq_list dt:before { content:"Q"; top:-5px; color: #84C95C;}
#faq .faq_list dd:before { content:"A"; opacity: 0.5;}
#faq .faq_list dd a { text-decoration: underline;}




/* =========================================================================================
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){
}



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



/* =========================================================================================
Page(contact)
=========================================================================================*/
#contact { margin: auto; width: 100%; max-width: 1000px;}
#contact form {
    position: relative;
    margin: 0 auto;
    box-sizing: border-box;
    background: #fff;
}
#contact label {font-weight:700;}
#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:700;}
#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){
}
