/*------------------------------------------------------------------------------
  PC or ALL
------------------------------------------------------------------------------*/
/*------230605 add by sano------*/
:root {
    --box-margin: 10vh;
}

.header-logo {
    width: 70px;
}
.footer-main .logo {
    width: 120px;
}
span.label {
    font-family: 'Kiwi Maru', serif;
 }
.header-nav > ul > li > a span.title {
    font-family: 'Lexend Giga', sans-serif;
    opacity: .75;
	font-size: 1rem;
}
.mainvisual-catch {
    bottom: 30vh;
}
.mainvisual-catch div.copy {
    font-size: 5rem;
    font-weight: 500;
}
.mainvisual-catch div.sub-text {
    font-size: 2rem;
}

.home .box .btn a {
    padding: 16px 60px 15px 40px;
    border-radius: 2px;
    font-size: 1.5rem;
}
.home .title-type01, .home .title-type02{
    margin: 0 auto calc(var(--box-margin) * 0.4) auto;
}
.home .title-type01 span:nth-child(2), .home .title-type02 span:nth-child(2) {
    font-size: 1.6rem;
}
.title-type01:before, .title-type02:before {
    background-image: -webkit-repeating-linear-gradient(135deg, #fff, #fff 2px, transparent 2px, transparent 5px);
    background-image: repeating-linear-gradient(-45deg, #fff, #fff 2px, transparent 2px, transparent 5px);
    background-size: 7px 7px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.home .title-type01:before {
	top: 130px;
}
.home .title-type01 span:nth-child(2) {
    padding: 0 0 30px;
}
.home .list-number-type01 ol li:before {
    font-weight: 600;
    font-family: 'Lexend Giga', sans-serif;
    color: #f4ecdf;
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}

.home .image-bg-type02 .text h3 .en {
    display: block;
    font-size: 1.6rem;
    padding: 10px;
    opacity: .8;
}
.home .image-text-type03 .text .copy.ja {
    color: #777;
}
.box-wrap.bg.bg-blog:before {
    top: -10px;
    left: 40%;
    width: calc(var(--vw) * 80);
    height: 70%;
    background: var(--sub-color);
    margin: 15% 10%;
}

.contact-type01 .text .tel {
    font-size: 6rem;
	font-weight: 500;
}

.contact-type01 .text .btn div a:after {
    left: 37px;
}
.contact-type01 .text .btn img {
    position: relative;
    left: -8px;
    top: -2px;
    width: 26px;
    filter: invert(100%);
}
.contact-type01 .text .btn div a  {
    padding: 13px 40px 12px 70px;
    font-size: 2.2rem;
    background: #bcb0a0;
}
.contact-type01 .text .btn div.line a {
    padding: 13px 40px 12px 40px;
}
.ja.line a:after {
    display: none;
}
.contact-type01 .title .en {
    font-size: 2rem;
    opacity: 0.85;
}
.footer-main .name {
    margin: 10px 0 30px 0;
    font-weight: normal;
}
.fixed-footer .contact a {
    padding: 6px 34px 6px 31px;
    border-radius: 2px;
}
.fixed-footer .tel a {
    font-size: 2.6rem;
    font-weight: 500;
}
.fixed-footer {
    background: #565553f0;
    color: #ffffff;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    z-index: 10;
}
.fixed-footer .contact a:before {
     margin: 0 10px 0 0;
 }

/* ======================================
2023/06/07 added by Fabo
======================================== */

.mt-0 { margin-top: 0 !important;}
.mt-s { margin-top: 4vh !important;}
.mt-m { margin-top: 7vh !important;}
.mt-l { margin-top: 10vh !important;}

.mb-0 { margin-bottom: 0 !important;}
.mb-s { margin-bottom: 4vh !important;}
.mb-m { margin-bottom: 7vh !important;}
.mb-l { margin-bottom: 10vh !important;}

.page-content h2:not([class]),
.page-content h3:not([class]),
.page-content h4:not([class]) {
    margin-bottom: 3vh;
}

.align-right { text-align: right; }
.align-center { text-align: center; }
.align-left { text-align: left; }

.box-color {
  margin: 35px 0 40px;
  padding: 35px;
  background: #f8f8f8;
}
.box-color :first-child {
  margin-top: 0 !important;
}
.box-color :last-child {
  margin-bottom: 0 !important;
}
.box-color p {
  margin-top: 20px !important;
}

.page-content .image-text-type01 .text {
    overflow: hidden;
}
.page-content .list-check-type01 {
    display: flex;
    justify-content: flex-start;
}

.align-center {
    text-align: center;
}

.page-content .list-flow-type01 > ul > li .icon {
  width: 90px;
}
.page-content .list-flow-type01 > ul > li .text h3.box-h3  {
    font-weight: bold;
}

.table-fixed {
    margin: -5px;
    width: calc(100% + 10px);
    border-collapse: separate;
    border-spacing: 5px;
    table-layout: fixed;
}
.table-fixed th,
.table-fixed td {
    padding: 15px;
    text-align: center;
    vertical-align: middle;
}
.table-fixed th {
    color: #fff;
    background: var(--main-color);
}
.table-fixed td {
    background: var(--sub-color);
}

.page-id-3760 .banner-type02 ul li .text,
.page-id-3762 .banner-type02 ul li .text,
.page-id-3764 .banner-type02 ul li .text  {
    padding: 3vmin 2vmin;
}

.page-id-3756 .page-content .row {
    text-align: center;
}
.page-id-3756 .page-content .row img {
    padding: 20px;
    border: 5px solid #f2f2f2;
}


/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
/*------230605 add by sano------*/
.box-wrap.bg.bg-blog:before {
    top: 0px;
    left: 50%;
    width: calc(var(--vw) * 100);
    height: 100%;
    background: var(--sub-color);
    margin: 0;
}
}

/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
/*------230605 add by sano------*/
:root {
    --box-margin: 8vh;
}

.home .image-text-type03 .image:first-child img {
    object-position: 80%;
}
}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {
/*------230605 add by sano------*/
:root {
    --box-margin: 6vh;
}
.header-logo {
    width: 45px;
}
.footer-main .logo {
    width: 85px;
}

.mainvisual-catch {
    bottom: 35vh;
}
.mainvisual-catch div.copy {
    font-size: 3rem;
}
.mainvisual-catch div.sub-text {
    font-size: 1.2rem;
}

.home .box .btn a {
    padding: 12px 50px 11px 30px;
    font-size: 1.2rem;
}


.home .title-type01:before {
    top: 106px;
}
.home .title-type02:before {
    bottom: 10px;
}
.home .image-text-type03 .text .copy.ja {
    font-size: 1.9rem;
}

.footer-top {
    padding: 0;
}

.contact-type01 .title .ja {
    line-height: 1.2;
}
.contact-type01 .text .btn div a {
    padding: 13px 20px 12px 30px;
    font-size: 1.4rem;
    line-height: 1.1;
}
.contact-type01 .text .btn div.line a img {
    display: none;
}
.contact-type01 .text .btn div.line a {
    padding: 13px 23px 12px 25px;
}
.contact-type01 .text .tel {
    font-size: 2.8rem;
}
.sphone-fixed-footer ul li.line a:before {
  content: "\e0bf";
}
}
