/*!
Template:rishun
Theme Name: rishun_child
Theme URI: https://rishuntrading.co.jp
Description: Rishun is a very simple & easy to customize theme which is based on the Bootstrap. It is also very friendly with custom post types and custom taxonomies. When you add a new one, the breadcrumbs will be adjusted and posts will look beautifully without editing or adding a template files.
Author: RishunTrading Limited.
Author URI: https://rishuntrading.co.jp
Version: 1.0.0
Requires at least: 1.0
Tested up to: 1.0.0
Requires PHP: 5.6.0
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Rishun WordPress theme, Copyright (C) 2022 RishunTrading Limited.
Rishun WordPress theme is licensed under the GPL.
Update Author:RishunTrading Limited
Update Author URI:https://rishuntrading.co.jp/
Version:1.0.0
*/
@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Cardo:wght@400;700&family=Roboto:wght@100..900&family=Zen+Old+Mincho:wght@400;500;700&display=swap');
/************************************************************/
:root{
    --fontawesome:"Font Awesome 6 Free";
    --fontawesome2:"Font Awesome 6 Brands";
    --gothic:"Roboto","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    --enserif:"Cardo", serif;
    --jpserif:"Zen Old Mincho", serif;
    --main:#003C64;
    --ac1:#2AA7D9;
    --ac2:#F5B800;
    --sub:#eff4f9;
    --txt:#2f3436;
}
/*==========================================================*/
/* defalt define											*/
/*==========================================================*/
body, p{
    font-size:17px;
    font-family:var(--gothic);
    color:var(--txt);
}
body a{
    transition: all .3s ease;
    text-decoration:none;
}
body a:hover{
    text-decoration:none;
}
.nodata{
    color:#ff0000;
}
img{
    width:100%;
    height:auto;
}
.entry-body img{
    display:unset;
    width:auto;
    height: auto;
    max-width: 100%;
}
@media print {
    #mobile-menu {
        display: none !important;
    }
}
/*---- origin ----*/
.imgarea {
    margin-bottom:1rem;
    text-align: center;
}
.imgarea img {
    width:100%;
}
.gmap-wrap {
    position: relative;
    height: 0;
    overflow: hidden;
    padding-bottom:100%;
}
.gmap-wrap iframe, .gmap-wrap object, .gmap-wrap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.detail-wrap {
    padding:30px 0;
}
img.aligncenter {
    display: block;
    margin-left:auto;
    margin-right:auto;
}
img.alignleft {
    float:left;
}
img.alignright{
    float:right;
}
a.tellink {
    transition: all .3s;
}
table {
    border-collapse: collapse;
}
.entry-body{
    padding:40px 0;
}
.tb-inline,.tb-inline-block,.tb-block,.tb-flex,.pc-inline,.pc-inline-block,.pc-block,.pc-flex {
    display: none;
}
.bgoverlay {
    position: relative;
}
.bgoverlay::before {
    content: '';
    position: absolute;
    top: 0;
    left:0;
    width:100%;
    height:100%;
}
.bgoverlay .contains-frm{
    position: relative;
    z-index: 1;
}
@media(min-width:500px){
    .d-500-none {
        display: none;
    }
}
@media(min-width:768px){
    a.tellink {
        pointer-events: none;
    }
    .tb-inline {
        display: inline!important;
    }
    .tb-inline-block {
        display: inline-block!important;
    }
    .tb-block {
        display: block!important;
    }
    .tb-flex {
        display: flex!important;
    }
}
@media(min-width:992px){
    .pc-inline {
        display: inline!important;
    }
    .pc-inline-block {
        display: inline-block!important;
    }
    .pc-block {
        display: block!important;
    }
    .pc-flex {
        display: flex!important;
    }
}

/*---- title,font ----*/
.h1org,.h2org,.h3org,.h4org {
    line-height: 1.6;
}
.h1org{
    font-size:24px;
    font-weight:700;
    margin-bottom:1rem;
    color:var(--txt);
}
.h2simple{
    font-size:24px;
    margin-bottom:20px;
    font-weight:700;
    font-family:var(--enserif);
    letter-spacing:2px;
}
.h2simple.wh{
    color:#fff;
}
.jp_en_ttl{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    font-size:36px;
    margin-bottom:40px;
    font-weight:700;
}
.jp_en_ttl span{
    line-height:1;
    color:var(--main);
    font-family:var(--enserif);
}
.jp_en_ttl h2{
    margin-top:10px;
    font-size:15px;
    color:#666;
    text-align:center;
    font-family:var(--jpserif);
}
.jp_en_ttl.cntr span,.jp_en_ttl.cntr h2 {
    text-align: center;
}
.h2org {
    font-size:22px;
    margin-bottom:2rem;
}
.h3org {
    font-size:20px;
    margin-bottom:1.5rem;
}
.h4org {
    font-size:18px;
    margin-bottom:1rem;
}
@media(min-width:768px){
    .h1org {
        font-size:26px;
    }
    .h2org {
        font-size:24px;
    }
    .h3org {
        font-size:22px;
    }
    .h4org {
        font-size:20px;
    }
    .jp_en_ttl{
        font-size:40px;
    }
    .jp_en_ttl h2 {
        font-size: 17px;
    }
    .h2simple{
        font-size:26px;
    }
}
@media(min-width:992px){
    .h1org {
        font-size:30px;
    }
    .h2org {
        font-size:30px;
    }
    .h3org {
        font-size:24px;
    }
    .jp_en_ttl{
        font-size:48px;
    }
    .h2simple{
        font-size:30px;
    }
}
/* link,button */
.a_btn>a{
    background:var(--ac1);
    border:1px solid var(--ac1);
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    padding:12px 20px;
    font-weight:700;
}
.a_btn>a:hover{
    color:var(--ac1);
    background:#fff;
}
.a_btn.hasarrow>a::after{
    content:'\f061';
    display:block;
    font-family:var(--fontawesome);
    font-weight:700;
    margin-left:15px;
    transition:all .3s;
}
.a_btn.hasarrow>a:hover::after{
    -webkit-transform:translateX(5px);
    transform:translateX(5px);
}
.a_btn.cntr{
    display:flex;
    justify-content:center;
}
@media(min-width:400px){
    .a_btn>a{
        width:fit-content;
    }
    .a_btn.mw-350>a{
        min-width:350px;
    }
}
/*==============
  header
===============*/
/* mobilemenu */
.mobile-navi-btn{
    background:#fff;
}
.mobile-navi-btn.right{
    width:50px;
    height:50px;
    top:4px;
    right:7px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:50%;
    filter: drop-shadow(0.25rem 0.25rem 0.75rem rgba(0, 59, 88, 0.3));
}
.mobile-navi-btn span{
    margin:0 2px;
    background:var(--ac1);
    width:5px;
    height:5px;
    border-radius:50%;
    transition:all .3s;
}
.mobile-navi-btn i{
    opacity:0;
    font-size:30px;
    color:var(--ac1);
    position:absolute;
    top:50%;
    left:50%;
    -webkit-transform:translate(-50%,-50%);
    transform:translate(-50%,-50%);
    transition:all .3s;
}
.mobile-navi-btn.mobile-navi-open{
    background:var(--burger-bkcolor);
}
.mobile-navi-btn.mobile-navi-open span{
    opacity:0;
}
.mobile-navi-btn.mobile-navi-open i{
    opacity:1;
}
.site-mobile-nav>div{
    padding:0;
    background:rgba(255, 255, 255, 0);
}
.site-mobile-menu>li{
    padding: 0;
    margin: 0;
}
.site-mobile-menu>li>a{
    display:block;
    padding:12px 5px;
    font-weight:700;
    font-family:var(--gothic);
}
.site-mobile-menu>li.menu-ctt{
    border-bottom:none;
    margin-top:1rem;
}
.menu-ctt>a{
    display:flex!important;
    width:100%;
    max-width:350px;
    margin:0 auto;
    justify-content:center;
    align-items:center;
    background:var(--ac2);
    border:1px solid var(--ac2);
}
.menu-ctt>a:hover{
    color:var(--ac2)!important;
    background:#fff;
}
.site-mobile-menu>li.menu-ctt>a{
    padding:15px 20px;
    font-size:17px;
}
.menu-ctt>a::before{
    content:'\f0e0';
    display:block;
    font-family:var(--fontawesome);
    font-weight:700;
    margin-right:10px;
}
.site-mobile-menu>li.menu-cttmenu-item-has-children>a {
    position:relative;
}
.site-mobile-menu>li.menu-item-has-children>a::before,.site-mobile-menu>li.menu-item-has-children>a::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 15px;
    height: 2px;
    transition: all .3s;
}
.site-mobile-menu>li.menu-item-has-children>a::before{
    right: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.site-mobile-menu>li.menu-item-has-children>a::after{
    right: 11px;
    top: calc(50% - 1px);
    -webkit-transform:rotate(90deg) translateY(-50%);
    transform:rotate(90deg) translateY(-50%);
}
.site-mobile-menu>li.menu-item-has-children.clicked>a::before {
    opacity: 0;
}
.site-mobile-menu>li.menu-item-has-children.clicked>a::after{
    -webkit-transform: rotate(0deg) translateY(-50%);
    transform: rotate(0deg) translateY(-50%);
}
.site-mobile-menu ul.sub-menu{
    padding-left: 15px;
    display: none;
}
.site-mobile-menu ul.sub-menu>li>a{
    display: block;
    padding:7px 5px;
}
.site-mobile-menu>li>a:not([href]):not([class]){
    color:var(--sp-menu-font-color);
}
.site-header-inner{
    justify-content:flex-start;
}
.site-header-logo a img{
    width:180px;
    object-fit:contain;
}
.front-page .site-header{
    background:transparent;
    position:fixed;
    top:0;
    left:0;
    z-index:1800;
}
.front-page .site-header-wrap{
    background:transparent; 
    box-shadow:none;  
}
.scrolled.front-page .site-header-wrap{
    background:var(--header-bk-color);
    box-shadow: 0 2px 2px rgba(220,220,220,0.6);
}
@media(min-width:992px){
    .mobile-navi-btn.right{
        display:none;
    }
    .ptnB .container.site-header-container{
        display:flex;
        justify-content:space-between;
        align-items:center;
    }
    .site-header-inner{
        width:fit-content;
    }
    .site-header-menu>li>a{
        font-family:var(--gothic);
        letter-spacing:0;
    }
    .site-header-menu>li>a:not([href]):not([class]){
        cursor:pointer;
    }
    .site-header-menu>li>a:before{
        display:none;
    }
    .site-header-menu>li.menu-ctt>a::before{
        content:'\f0e0';
        display:block;
        width:fit-content!important;
        height:fit-content;
        overflow:unset;
        position:static;
        transition:none;
        border-radius:0;
        margin-right:5px;
        background:rgba(255, 255, 255, 0);
    }
    .front-page .site-header-menu>li>a{
        text-shadow:3px 3px 10px rgba(0, 60, 100, 0.3);
    }
    .front-page .site-header-menu>li.menu-ctt>a{
        text-shadow:none;
        box-shadow:3px 3px 10px rgba(0, 60, 100, 0.3);
    }
    .scrolled.front-page .site-header-menu>li>a{
        text-shadow:none;
    }
    .front-page .site-header-menu>li.menu-ctt>a{
        box-shadow:none;
    }
    .site-header-menu>li>a:hover{
        color:var(--ac1);
    }
}
@media(min-width:992px) and (max-width:1199px){
    .site-header-menu>li>a{
        padding:10px 7px;
    }
}
@media(min-width:1200px){
    .site-header-logo a img{
        width:200px;
    }
}
/*---- #information page ----*/
figure{
    width:fit-content;
    max-width:100%;
    padding-top:0;
    position:static;
    overflow:unset;
    margin:0;
}
figure>img{
    width:auto;
    max-width:100%;
    height:auto;
    object-fit:contain;
    position:static;
    transition:none;
}
.p_date{
    display:inline-block;
    color:var(--txt);
    font-size:16px;
}
.a_cat{
    display:inline-block;
    text-align:center;
    background:var(--ac1);
    color:#fff;
    padding:3px 10px;
    font-weight:700;
    letter-spacing:1px;
    font-size:14px;
}
a.a_cat{
    min-width:100px;
    border:1px solid var(--ac1);
}
span.a_cat{
    font-size:12px;
    padding:2px 10px;
}
a.a_cat:hover,.a_cat.current{
    background:#fff;
    color:var(--ac1);
}
.a_cat.current{
    pointer-events:none;
}
.a_tag{
    display:inline-block;
    color:var(--main);
    padding:0 5px 1px;
    border-bottom:1px solid var(--main);
    font-size:15px;
}
a.a_tag:hover{
    color:var(--ac1);
    border-color:var(--ac1);
}
.a_tag.current{
    pointer-events:none;
    color:#666;
    font-weight:700;
    border-color:#666;
    background:rgba(255, 255, 255, 0);
}
/* archive */
.ul_cats,.ul_tags{
    padding-left:0;
    list-style:none;
    margin-bottom:30px;
}
.ul_cats>li,.ul_tags>li{
    display:inline-block;
    margin-bottom:10px;
}
.ul_cats>li{
    margin-right:10px;
}
.ul_tags>li{
    margin-right:1rem;
}
.ul_cats>li:last-child,.ul_tags>li:last-child{
    margin-right:0;
}
.ul_info{
    padding-left:0;
    list-style:none;
}
.ul_info a{
    display:block;
}
.ul_info a:hover{
    opacity:0.8;
}
.ul_info h3{
    color:var(--txt);
    font-weight:700;
    font-size:16px;
    line-height:1.6;
    margin-bottom:0;
}
.ul_info .date_cat{
    display:flex;
    align-items:center;
    margin-bottom:7px;
}
.ul_info .date_cat .p_date{
    margin-right:20px;
    font-size:14px;
}
.ul_info.arc{
    margin-bottom:40px;
}
.ul_info.arc>li{
    border-bottom:1px solid #c3d2d7;
}
.ul_info.arc>li:first-child{
    border-top:1px solid #c3d2d7;
}
.ul_info.arc a{
    padding:20px 5px;
}
/* single */
.entry-header{
    padding-bottom:1rem;
    border-bottom:1px solid var(--ac1);
}
.entry-header .date_cat{
    padding-top:10px;
}
.entry-header .date_cat .p_date,.entry-header .date_cat .a_cat{
    margin-right:10px;
    margin-bottom:10px;
}
.entry-header .date_cat .a_cat:last-child{
    margin-right:0;
}
.ul_singletag{
    padding-left:0;
    list-style:none;
    margin-bottom:0;
    margin-top:20px;
}
.ul_singletag>li{
    display:inline-block;
    margin-right:1rem;
    margin-bottom:10px;
}
.ul_singletag>li:last-child{
    margin-right:0;
}
.entry-body p{
    margin-bottom:1rem;
}
.entry-body p:last-child{
    margin-bottom:0;
}
.singlethum{
    text-align:center;
    padding-top:40px;
}
.singlethum img{
    max-width:900px;
    max-height:700px;
    object-fit:contain;
}
@media(min-width:768px){
    .ul_info a{
        display:flex;
        align-items:center;
    }
    .ul_info .date_cat{
        width:200px;
        margin-bottom:0;
    }
    .ul_info h3{
        width:calc(100% - 200px);
        padding-left:30px;
    }
}
/* ---- #works ---- */
.work-term-tab{
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%;
    max-width:500px;
    margin:0;
}
.work-term-tab button{
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:49%;
    border-radius:0;
    color:#fff;
    background:#2491bd;
    font-weight:700;
    font-size:14px;
    text-align:left;
    padding:7px 12px;
    border:none;
}
.work-term-tab button::after{
    content:'\f078';
    display:block;
    font-size:90%;
    font-family:var(--fontawesome);
    font-weight:700;
    transition:all .3s;
    margin-left:7px;
}
.work-term-tab button:hover,.work-term-tab button:focus{
    opacity:0.8;
}
.work-term-tab button:hover::after{
    -webkit-transform:translateY(3px);
    transform:translateY(3px);
}
.work-term-tab button[aria-selected="true"]{
    pointer-events:none;
    background:var(--main);
}
.work-term-panel{
    padding:16px 16px 1px;
    margin-bottom:60px;
}
.work-term-panel.taba{
    background:#e1eaf2;
}
.work-term-panel.tabb{
    background:#e2f2f7;
}
.work-term-panel p{
    font-size:15px;
    font-weight:700;
    margin-bottom:16px;
}
.ulwTerm{
    padding-left:0;
    list-style:none;
    margin-bottom:0;
}
.ulwTerm li{
    display:inline-block;
    margin-right:20px;
    margin-bottom:20px;
}
.ulwTerm li:last-child{
    margin-right:0;
}
.ulwTerm a{
    width:100%;
    display:inline-flex;
    justify-content:space-between;
    align-items:center;
    color:var(--txt);
    font-size:15px;
    padding-right:3px;
    padding-bottom:2px;
    min-width:90px;
    font-weight:700;
    border-bottom:2px solid var(--ac1);
}
.ulwTerm a::after{
    content:'\f054';
    display:block;
    font-family:var(--fontawesome);
    font-weight:700;
    margin-left:1rem;
    transition:all .3s;
    font-size:70%;
}
.ulwTerm a:hover,.ulwTerm a:focus{
    color:var(--ac1);
    border-color:transparent;
}
.ulwTerm a:hover::after{
    -webkit-transform:translateX(5px);
    transform:translateX(5px);
}
.ulwTerm a.current{
    background:rgba(255, 255, 255, 0);
    border-color:var(--ac2);
    color:#025c99;
    pointer-events:none;
}
.before_ularc{
    font-size:22px;
    line-height:1.6;
    margin-bottom:2rem;
}
.ul_work{
    padding-left:0;
    list-style:none;
}
.ul_work li{
    margin-bottom:2rem;
}
.ul_work a{
    display:block;
    box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.2),0 4px 6px -4px rgb(0, 0, 0, 0.2);
}
.ul_work .imgarea{
    margin-bottom:0;
    aspect-ratio:3/2;
    overflow:hidden;
}
.ul_work .imgarea img{
    height:100%;
    object-fit:cover;
    transition:all .3s;
}
.ul_work .txtarea{
    padding:1rem;
}
.ul_work .date_cat{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:1rem;
}
.ul_work .date_cat .p_date{
    color:#777;
    font-size:14px;
}
.ul_work .date_cat .a_cat{
    border-radius:50px;
}
.ul_work h3{
    color:var(--main);
    font-weight:700;
    margin-bottom:1rem;
    font-size:17px;
    line-height:1.6;
}
.ul_work .more{
    display:inline-flex;
    align-items:center;
    color:var(--ac1);
    font-weight:700;
    font-size:14px;
}
.ul_work .more::after{
    content:'\f061';
    font-family:var(--fontawesome);
    font-weight:700;
    display:block;
    margin-left:5px;
    transition:all .3s;
}
.ul_work a:hover{
    opacity:0.8;
}
.ul_work a:hover .imgarea img{
    -webkit-transform:scale(1.1);
    transform:scale(1.1);
}
.ul_work a:hover .more::after{
    -webkit-transform:translateX(5px);
    transform:translateX(5px);
}
.work-header .thumarea{
    text-align:center;
    margin-bottom:20px;
}
.work-header .thumarea img{
    width:100%;
    max-width:800px;
    max-height:600px;
    object-fit:contain;
}
.work-header .txtarea{
    padding:1rem;
    background:var(--sub);
}
.work-header .date_cat{
    margin-bottom:20px;
}
.work-header .p_date{
    margin-right:20px;
}
.work-header .a_cat{
    border-radius:50px;
    margin-bottom:10px;
    margin-right:10px;
}
.work-header .date_cat .a_cat:last-child{
    margin-right:0;
}
.catareaWrap{
    display:flex;
    flex-wrap:wrap;
}
.catareaWrap a{
    display:inline-block;
    margin-right:20px;
    margin-bottom:10px;
    padding-bottom:2px;
    color:#666;
    font-weight:500;
    font-size:15px;
    border-bottom:1px solid #888;
}
.catareaWrap a:last-child{
    margin-right:0;
}
.catareaWrap a:hover{
    opacity:0.8;
    border-color:rgba(255, 255, 255, 0);
}
@media(min-width:500px){
    .ul_work{
        display:flex;
        flex-wrap:wrap;
    }
    .ul_work>li{
        width:50%;
        padding:0 2%;
    }
    .ul_work a{
        height:100%;
        position:relative;
        padding-bottom:38px;
    }
    .ul_work .txtarea{
        padding-bottom:0;
    }
    .ul_work h3{
        font-size:15px;
    }
    .ul_work .more{
        position:absolute;
        bottom:1rem;
        left:1rem;
    }
    .work-header .txtarea{
        padding:20px;
    }
}
@media(min-width:600px){
    .work-term-tab button{
        padding:12px 20px;
    }
}
@media(min-width:768px){
    .ul_work>li{
        width:calc(100% / 3);
    }
    .work-term-panel{
        padding:20px 20px 4px;
    }
    .before_ularc{
        font-size:24px;
    }
    .ulwTerm li{
        margin-right:30px;
    }
    .work-header .txtarea{
        padding:30px;
    }
}
@media(min-width:768px) and (max-width:991px){
    .top_work_sec .ul_work>li:nth-child(4){
        display:none;
    }
}
@media(min-width:768px) and (max-width:1199px){
    .ul_work>li{
        padding:0 1%;
    }
}
@media(min-width:992px){
    .ul_work>li{
        width:25%;
    }
    .before_ularc{
        font-size:26px;
    }
    .work-header.flx{
        display:flex;
        justify-content:center;
        align-items:center;
    }
    .work-header.flx .thumarea{
        width:50%;
        margin-bottom:40px;
        margin-right:-5%;
    }
    .work-header.flx .txtarea{
        margin-top:40px;
        width:55%;
        position:relative;
    }
}
/*---- #top page ----*/
/* #fv_info */
.fv_info{
    position:relative;
    height:100vh;
    padding:0;
}
.fv_sec{
    position:relative;
    padding-top:calc(40px + var(--ptnB-sp-header-height));
    padding-bottom:40px;
    width:100%;
    height:100%;
}
.fv_sec .bgcover{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(255, 255, 255, 0.3);
}
.fvSlides{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.fvSlides{
    opacity:0;
    transition:all .2s;
}
.fvSlides.slick-initialized{
    opacity:1;
}
.fvSlides .slick-list,.fvSlides .slick-track{
    height:100%;
}
.fvSlides img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.fvSlides img:nth-child(2){
    object-position:20% center;
}
.fv_sec .contains-frm{
    position:relative;
    height:100%;
}
.fv_sec .catch{
    padding-left:3%;
}
.fv_sec .catch p{
    font-weight:700;
    font-family:var(--jpserif);
    line-height:1.8;
}
.fv_sec .catch .p_main{
    color:var(--main);
    letter-spacing:5px;
    font-size:24px;
    margin-bottom:8px;
}
.fv_sec .catch p span{
    display:block;
}
.fv_sec .catch .p_sub{
    width:fit-content;
    color:#fff;
    font-size:15px;
    padding:7px 30px;
    background:var(--main);
    will-change:clip-path;
    -webkit-clip-path:polygon(0 0, 90% 0, 100% 100%, 10% 100%);
    clip-path:polygon(0 0, 90% 0, 100% 100%, 10% 100%);
}
.top_info_sec{
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    background:rgba(255, 255, 255, 0.7);
}
.top_info_sec .infoFlx{
    display:flex;
}
.top_info_sec .ttl_btn{
    width:60px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding:12px 20px;
    position:relative;
}
.top_info_sec .ttl_btn::after{
    content:'';
    position:absolute;
    top:50%;
    right:-1px;
    width:3px;
    height:48px;
    background:var(--ac1);
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%);
}
.top_info_sec .ulWrap{
    width:calc(100% - 60px);
}
.top_info_sec .h2simple{
    font-size:16px;
    display:flex;
    writing-mode:vertical-lr;
    margin:0;
    -webkit-transform:rotate(180deg);
    transform:rotate(180deg);
}
.top_info_sec .h2simple span{
    display:inline-block;
}
.ul_info.top,.ul_info.top li,.ul_info.top a{
    height:100%;
}
.ul_info.top{
    margin-bottom:0;
}
.ul_info.top a{
    padding:15px 20px;
}
.ul_info.top h3{
    font-size:14px;
}
.ul_info.top li:nth-child(2),.ul_info.top li:nth-child(3){
    display:none;
}
.top_info_sec .ttl_btn .more{
    margin-top:10px;
    line-height:1;
    font-family:var(--enserif);
}
.top_info_sec .ttl_btn .more a{
    display:inline-flex;
    color:#2491bd;
    font-weight:700;
    font-size:15px;
    padding-bottom:2px;
    border-bottom:1px solid var(--ac1);
}
.top_info_sec .ttl_btn .more a:hover{
    opacity:0.8;
}
.top_info_sec .ttl_btn .more a::after{
    content:'\f061';
    display:block;
    font-family:var(--fontawesome);
    font-weight:700;
    margin-left:10px;
    transition:all .3s;
}
.top_info_sec .ttl_btn .more a:hover::after{
    -webkit-transform:translateX(5px);
    transform:translateX(5px);
}
.fvshape{
    position:absolute;
    top:0;
    left:0;
    width:230px;
    height:230px;
    background:rgba(255, 255, 255, 0.4);
    will-change:clip-path;
    -webkit-clip-path:polygon(0% 0, 100% 0%, 0% 100%);
    clip-path:polygon(0% 0, 100% 0%, 0% 100%);
    overflow:hidden;
}
.fvshape::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:80px;
    background:var(--sub);
}
@media(min-width:768px){
    .fv_sec .catch .p_main{
        font-size:30px;
        margin-bottom:14px;
    }
    .fv_sec .catch .p_sub{
        font-size:18px;
        padding:10px 40px;
    }
}
@media(min-width:992px){
    .fv_sec{
        padding-top:calc(40px + var(--ptnB-pc-header-height));
    }
    .ul_info.top li:nth-child(2),.ul_info.top li:nth-child(3){
        display:list-item;
    }
    .top_info_sec{
        background:rgba(255, 255, 255, 0.8);
    }
    .top_info_sec .infoFlx{
        max-width:960px;
        margin:0 auto;
    }
    .top_info_sec .ttl_btn{
        padding:20px;
        width:200px;
        display:block;
    }
    .top_info_sec .ulWrap{
        width:calc(100% - 200px);
    }
    .top_info_sec .h2simple{
        -webkit-transform:none;
        transform:none;
        writing-mode:horizontal-tb;
        font-size:28px;
    }
    .info_slick{
        display:flex;
        padding-right:70px;
        opacity:0;
        transition:all .2s;
    }
    .info_slick.slick-initialized{
        opacity:1;
    }
    .info_slick .slick-track{
        height:100%;
    }
    .info_slick .slick-dots{
        width:60px;
        bottom:50%;
        right:0;
        -webkit-transform:translateY(50%);
        transform:translateY(50%);
        display:flex;
        justify-content:flex-end;
        align-items:center;
    }
    .ul_info.top a{
        padding-left:30px;
    }
    .info_slick .slick-dots li button:before{
        color:var(--main);
    }
    .info_slick .slick-dots li.slick-active button:before{
        color:var(--ac1);
    }
    .ul_info.top h3{
        font-size:16px;
    }
}
@media(min-width:1200px){
    .fv_sec .catch{
        padding:0;
        position:absolute;
        top:calc(50% - var(--ptnB-pc-header-height));
        left:10%;
        -webkit-transform:translateY(-50%);
        transform:translateY(-50%);
    }
    .fv_sec .catch .p_main{
        font-size:50px;
    }
    .fv_sec .catch .p_sub{
        font-size:20px;
        -webkit-clip-path:polygon(0 0, 95% 0, 100% 100%, 5% 100%);
        clip-path:polygon(0 0, 95% 0, 100% 100%, 5% 100%);
    }
    .fv_sec .catch .p_sub span{
        display:inline;
    }
    .top_info_sec .infoFlx{
        max-width:1140px;
    }
}
@media(min-width:1400px){
    .fv_sec .catch{
        left:0;
    }
    .top_info_sec .infoFlx{
        max-width:1320px;
    }
}
/* #top_cpt_sec */
.top_cpt_sec{
    background:url(./img/top/river.jpg)no-repeat center center/cover;
}
.top_cpt_sec::before{
    background:var(--ac1);
    opacity:0.7;
}
.top_cpt_sec .cptwrap{
    padding:1rem;
    background:rgba(0, 60, 100, 0.7);
}
.top_cpt_sec p{
    color:#fff;
}
.top_cpt_sec br{
    display:none;
}
.top_cpt_sec .txtarea{
    margin-bottom:40px;
}
.top_cpt_sec ol{
    padding-left:0;
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
}
.top_cpt_sec ol li{
    margin-bottom:20px;
    width:50%;
    padding:0 2%;
}
.top_cpt_sec ol li:last-child{
    margin-bottom:0;
}
.top_cpt_sec ol .imgarea{
    margin-bottom:10px;
}
.top_cpt_sec ol .imgarea img{
    width:95%;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:50%;
}
.top_cpt_sec ol .num{
    font-size:13px;
    text-align:center;
    font-family:var(--jpserif);
}
.top_cpt_sec ol .ttl{
    text-align:center;
    font-family:var(--jpserif);
}
@media(min-width:400px){
    .top_cpt_sec .cptwrap{
        padding:20px;
    }
}
@media(min-width:600px){
    .top_cpt_sec ol{
        flex-wrap:nowrap;
    }
    .top_cpt_sec ol li{
        width:calc(100% / 3);
        margin-bottom:0;
    }
}
@media(min-width:768px){
    .top_cpt_sec .cptwrap{
        padding:30px;
    }
    .top_cpt_sec br{
        display:inline;
    }
}
@media(min-width:992px){
    .top_cpt_sec br{
        display:none;
    }
    .top_cpt_sec ol{
        max-width:800px;
        margin:0 auto;
    }
    .top_cpt_sec ol .num{
        font-size:17px;
    }
    .top_cpt_sec ol .ttl{
        font-size:20px;
        margin-top:3px;
    }
}
@media(min-width:1200px){
    .top_cpt_sec .cptwrap{
        padding:40px;
        display:flex;
        justify-content:space-between;
        align-items:center;
    }
    .top_cpt_sec .txtarea{
        width:40%;
        margin-bottom:0;
    }
    .top_cpt_sec .flxarea{
        width:57%;
    }
    .top_cpt_sec ol li{
        padding:0 1%;
    }
}
/* #top_srv_sec */
.top_srv_sec{
    background:var(--sub);
}
.beforesrv{
    margin-bottom:40px;
}
.ul_top_srv{
    padding-left:0;
    list-style:none;
}
.ul_top_srv>li:nth-child(1){
    margin-bottom:2rem;
}
.ul_top_srv a{
    background:#fff;
    display:block;
    box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -4px rgb(0, 0, 0, 0.1);
}
.ul_top_srv .imgbox{
    height:200px;
    overflow:hidden;
}
.ul_top_srv .imgbox img{
    height:100%;
    object-fit:cover;
    transition:all .3s;
}
.ul_top_srv .txtarea{
    padding:20px;
}
.ul_top_srv .txtarea h3{
    color:var(--main);
    font-weight:700;
    margin-bottom:1rem;
    font-size:22px;
}
.ul_top_srv .txtarea p{
    font-size:16px;
    margin-bottom:20px;
    color:var(--main);
}
.ul_top_srv .txtarea ol{
    padding-left:0;
    list-style:none;
    margin-bottom:10px;
    display:flex;
    flex-wrap:wrap;
}
.ul_top_srv .txtarea ol li{
    display:inline-flex;
    align-items:center;
    width:50%;
    padding-right:10px;
    font-size:14px;
    color:var(--main);
    margin-bottom:7px;
}
.ul_top_srv .txtarea ol li::before{
    content:'\f00c';
    font-family:var(--fontawesome);
    font-weight:700;
    color:var(--ac1);
    margin-right:8px;
}
.ul_top_srv .btn-s{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:10px 20px;
    background:var(--ac1);
    color:#fff;
    font-size:15px;
    transition:all .3s;
    border-radius:7px;
}
.ul_top_srv a:hover{
    opacity:0.8;
}
.ul_top_srv a:hover img{
    -webkit-transform:scale(1.1);
    transform:scale(1.1);
}
.ul_top_srv a:hover .btn-s{
    background:var(--ac2);
}
@media(min-width:768px){
    .beforesrv{
        text-align:center;
    }
    .ul_top_srv{
        display:flex;
        justify-content:space-between;
        max-width:1200px;
        margin:0 auto;
    }
    .ul_top_srv>li{
        width:49%;
    }
    .ul_top_srv>li:nth-child(1){
        margin-bottom:0;
    }
    .ul_top_srv a{
        height:100%;
    }
}
@media(min-width:992px){
    .ul_top_srv .txtarea{
        padding: 30px;
    }
    .ul_top_srv .txtarea h3{
        font-size:26px;
    }
}
@media(min-width:992px) and (max-width:1399px){
    .ul_top_srv .txtarea p{
        min-height:52px;
    }
}
/*---- #faq page ----*/
.dl_faq{
	max-width:900px;
	margin:0 auto 40px;
}
.dl_faq dt{
	margin-bottom:5px;
	border-bottom:2px dashed #d8e1e9;
}
.dl_faq .dlbtn{
	padding:13px 27px 13px 5px;
	border:none;
	border-radius:0;
	background:rgba(255,255,255,0);
	width:100%;
	display:block;
	text-align:left;
	position:relative;
	line-height:1.7;
	transition: all .3s;
	font-weight:700;
}
.dl_faq .dlbtn:hover{
	opacity:0.8;
}
.dl_faq .dlbtn::before,.dl_faq .dlbtn::after{
	content:'';
	position:absolute;
	transition:all .2s;
	border-radius:50px;
	width:15px;
	height:2px;
	background:var(--ac1);
}
.dl_faq .dlbtn::before{
	top:50%;
	right:5px;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}
.dl_faq .dlbtn::after{
	top:calc(50% - 1px);
	right:6px;
	-webkit-transform:rotate(90deg) translateY(-50%);
	transform:rotate(90deg) translateY(-50%);
}
.dl_faq .dlbtn.clicked::before{
	opacity:0;
}
.dl_faq .dlbtn.clicked::after{
	-webkit-transform:rotate(0deg) translateY(-50%);
	transform:rotate(0deg) translateY(-50%);
}
.dl_faq dt h3{
    font-size:16px;
    font-weight:700;
    line-height:1.6;
    margin-bottom:0;
    color:var(--main);
}
.dl_faq dd{
	display:none;
	padding:13px 5px;
}
.dl_faq dd .faq_a{
    display:block;
	font-weight:600;
	color:var(--ac1);
}
.beforefaq{
    margin-bottom:40px;
    font-size:15px;
}
@media(min-width:768px){
	.dl_faq dd{
        padding:13px 20px 13px 42px;
		position:relative;
	}
	.dl_faq dd .faq_a{
		position:absolute;
		top:13px;
		left:20px;
	}
	.dl_faq .dlbtn{
		padding:13px 42px 13px 20px;
	}
	.dl_faq .dlbtn::before{
		right:20px;
	}
	.dl_faq .dlbtn::after{
		right:21px;
	}
}
/*---- #service page ----*/
.srv_sec .imgarea img{
    aspect-ratio:3/2;
    object-fit:cover;
    max-width:800px;
}
.srv_sec h2{
    font-size:22px;
    font-weight:700;
    letter-spacing:1px;
    padding-bottom:2px;
    line-height:1.6;
    margin-bottom:20px;
    border-bottom:2px solid #96dcf7;
}
.srv_sec p{
    margin-bottom:1rem;
}
.srv_sec p:last-child{
    margin-bottom:0;
}
@media(min-width:768px){
    .srv_sec h2{
        font-size:24px;
    }
}
@media(min-width:992px){
    .srv_sec h2{
        font-size:28px;
    }
    .srv_sec .contains-wrap{
        display:flex;
        flex-direction:row-reverse;
        justify-content:space-between;
        align-items:flex-start;
    }
    .srv_sec .imgarea{
        width:42%;
    }
    .srv_sec .txtarea{
        width:54%;
    }
    .srv2 .imgarea{
        order:2;
    }
    .srv2 .txtarea{
        order:1;        
    }
}
/*---- #company page ----*/
/* #msg */
.cmp_sec.msg h3{
    line-height:1.6;
    font-size:20px;
    margin-bottom:20px;
    color:var(--main);
    font-weight:700;
    font-family:var(--jpserif);
}
.cmp_sec.msg p{
    margin-bottom:1rem;
}
.cmp_sec.msg p.ceo-name{
    font-family:var(--jpserif);
    font-weight:700;
    margin-bottom:0;
    text-align:right;
}
.cmp_sec.msg p.ceo-name span{
    font-size:20px;
    margin-left:20px;
}
.cmp_sec.msg .imgarea{
    margin-top:20px;
    margin-bottom:0;
}
.cmp_sec.msg .imgarea img{
    max-width:350px;
    object-fit:contain;
}
.cmp_sec.msg .br1{
    display:none;
}
/* #vis */
.vis_fst{
    margin-bottom:40px;
}
.cmp_sec.vis .wrap{
    padding:1rem;
    background:var(--sub);
    margin-bottom:2rem;
}
.cmp_sec.vis .inr{
    margin-bottom:2rem;
}
.cmp_sec.vis .inr:nth-of-type(2){
    margin-bottom:0;
}
.cmp_sec.vis h3,.cmp_sec.vis h4{
    line-height:1.6;
    font-family:var(--jpserif);    
}
.cmp_sec.vis h3{
    font-size:20px;
    font-weight:700;
    margin-bottom:20px;
    color:var(--main);
}
.cmp_sec.vis h4{
    font-size:18px;
    color:#025c99;
    margin-bottom:1rem;
    font-weight:600;
}
.cmp_sec.vis ul{
    padding-left:0;
    list-style:none;
    margin-bottom:0;
}
.cmp_sec.vis ul li{
    margin-bottom:10px;
    font-family:var(--jpserif);
    font-weight:500;
    position:relative;
    padding-left:20px;
}
.cmp_sec.vis ul li::before{
    content:'';
    position:absolute;
    top:9px;
    left:0;
    width:11px;
    height:11px;
    border-radius:50%;
    background:var(--ac1);
}
/* #prof */
.dl_cmp{
    max-width:1000px;
    margin:0 auto;
    display:flex;
    flex-wrap:wrap;
    border:1px solid var(--border-color);
}
.dl_cmp dt,.dl_cmp dd,.dl_cmp p{
    font-size:16px;
}
.dl_cmp dt{
    width:30%;
    padding:13px 10px;
    background:var(--main);
    color:#fff;
    font-family:var(--jpserif);
    border-bottom:1px solid var(--sub);
}
.dl_cmp dd{
    width:70%;
    padding:13px 10px;
    margin-bottom:0;
    border-bottom:1px solid var(--border-color);
}
.dl_cmp .tellink{
    color:var(--main);
    font-weight:500;
}
.dl_cmp .tellink:hover{
    opacity:0.8;
}
.dl_cmp dt:last-of-type,.dl_cmp dd:last-of-type{
    border-bottom:none;
}
/* #acc */
.cmp_sec.acc{
    background:var(--sub);
}
.cmp_sec.acc .accwrap{
    padding:1rem;
    background:#fff;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -4px rgb(0, 0, 0, 0.1);
    margin-bottom:40px;
}
.accwrap .dl1{
    padding-bottom:10px;
    margin-bottom:30px;
    border-bottom:1px solid var(--border-color);
}
.accwrap .c_icon{
    display:flex;
    align-items:center;
    color:var(--ac1);
    font-weight:700;
    margin-bottom:5px;
}
.accwrap .c_value{
    margin-bottom:15px;
    font-size:16px;
    font-weight:500;
    color:var(--txt);
}
.accwrap .c_icon::before{
    display:block;
    margin-right:5px;
    font-weight:700;
    font-family:var(--fontawesome);
}
.accwrap .c_add::before{
    content:'\f3c5';
}
.accwrap .c_hour::before{
    content:'\f017';
}
.accwrap .c_tel::before{
    content:'\f095';
}
.accwrap .c_mail::before{
    content:'\f0e0';
}
.accwrap .formlink{
    background:rgba(255, 255, 255, 0);
}
.accwrap .dl2{
    margin-bottom:0;
}
.accwrap .dl2 dt{
    font-size:17px;
    color:#586165;
    margin-bottom:15px;
}
.accwrap .dl2 .c_icon.c_tel{
    margin-bottom:10px;
}
.accwrap .c_tel a.c_value,.accwrap .c_mail a.c_value{
    margin-bottom:0;
}
.accwrap .tellink,.accwrap .formlink{
    font-weight:700;
    font-size:110%;
}
.accwrap .tellink:hover,.accwrap .formlink:hover{
    color:var(--ac1);
}
@media(min-width:400px){
    .cmp_sec.vis .wrap,.cmp_sec.acc .accwrap{
        padding:20px;
    }
}
@media(min-width:768px){
    /* #msg */
    .cmp_sec.msg .flx,.cmp_sec.acc .flx{
        display:flex;
        justify-content:space-between;
    }
    .cmp_sec.msg .flx{
        align-items:flex-start;
    }
    .cmp_sec.msg .txtarea{
        flex-basis:50%;
    }
    .cmp_sec.msg h3,.cmp_sec.msg p.ceo-name span{
        font-size:22px;
    }
    .cmp_sec.msg .br1{
        display:inline;
    }
    .cmp_sec.msg .imgarea{
        flex-basis:44%;
        margin-top:0;
    }
    /* #vis */
    .vis_fst{
        text-align:center;
    }
    .cmp_sec.vis .wrap{
        display:flex;
        flex-wrap:wrap;
        justify-content:space-between;
    }
    .cmp_sec.vis h3{
        text-align:center;
        width:100%;
        font-size:22px;
        margin-bottom:25px;
    }
    .cmp_sec.vis .inr{
        width:47%;
        margin-bottom:0;
    }
    /* #prof */
    .dl_cmp dt,.dl_cmp dd{
        padding:13px 20px;
    }
    .dl_cmp dt{
        width:25%;
    }
    .dl_cmp dd{
        width:75%;
    }
    .dl_cmp dd .br1{
        display:none;
    }
    .dl_cmp .tellink{
        font-weight:inherit;
        color:var(--txt);
    }
    /* #acc */
    .cmp_sec.acc .accwrap{
        width:49%;
        margin-bottom:0;
    }
    .cmp_sec.acc .gmap-wrap{
        width:49%;
        padding-bottom:55%;
    }
}
@media(min-width:768px) and (max-width:991px){
    .cmp_sec.vis ul li{
        font-size:15px;
    }
    .cmp_sec.vis ul li::before{
        top:8px;
    }
}
@media(min-width:992px){
    /* #msg */
    .cmp_sec.msg h3,.cmp_sec.msg p.ceo-name span{
        font-size:24px;
    }
    /* #vis */
    .cmp_sec.vis .wrap,.cmp_sec.acc .accwrap{
        padding:30px;
    }
    .cmp_sec.vis .inr{
        width:48%;
    }
    .cmp_sec.vis h3{
        font-size:26px;
    }
    .cmp_sec.vis h4{
        font-size:20px;
    }
    /* #prof */
    .dl_cmp dt,.dl_cmp dd{
        padding-top:1rem;
        padding-bottom:1rem;
    }
    /* #acc */
    .cmp_sec.acc .dl1{
        display:flex;
        flex-wrap:wrap;
        align-items:flex-start;
    }
    .cmp_sec.acc .dl1 dt{
        width:100px;
        margin-bottom:15px;
    }
    .cmp_sec.acc .dl1 dd{
        width:calc(100% - 100px);
    }
    .cmp_sec.acc .gmap-wrap{
        padding-bottom:35%;
    }
}
@media(min-width:1200px){
    /* #msg */
    .cmp_sec.msg .imgarea{
        flex-basis:350px;
    }
    .cmp_sec.msg .txtarea{
        flex-basis:calc(100% - 350px);
        padding-right:6%;
    }
    /* #vis */
    .cmp_sec.vis .wrap{
        padding:30px 40px;
        max-width:1000px;
        margin-left:auto;
        margin-right:auto;
    }
    /* #prof */
    .dl_cmp dt,.dl_cmp dd{
        padding-left:30px;
    }
    /* #acc */
    .cmp_sec.acc .gmap-wrap{
        padding-bottom:32%;
    }
    .cmp_sec.acc dt,.cmp_sec.acc dd,.cmp_sec.acc p{
        font-size:18px;
    }
    .accwrap .dl2 dt{
        font-size:20px;
    }
    .cmp_sec.acc .dl1 dt{
        width:115px;
        margin-bottom:15px;
    }
    .cmp_sec.acc .dl1 dd{
        width:calc(100% - 115px);
    }
}
@media(min-width:1400px){
    .cmp_sec.acc .gmap-wrap{
        padding-bottom:26%;
    }
}
/*---- #flow page ----*/
.olflow{
    padding-left:0;
    list-style:none;
    max-width:1000px;
    margin:0 auto;
}
.olflow li{
    margin-bottom:40px;
    counter-increment:flownum;
}
.olflow .num{
    display:flex;
    justify-content:center;
    align-items:center;
    width:50px;
    height:auto;
    aspect-ratio:1/1;
    border-radius:50%;
    color:#fff;
    font-weight:700;
    font-size:20px;
    background:var(--ac1);
    position:relative;
    top:20px;
}
.olflow .num::before{
    content:'0'counter(flownum);
    display:block;
}
.olflow .imgarea img{
    aspect-ratio:3/2;
    object-fit:cover;
}
.olflow h3{
    font-size:18px;
    border-bottom:2px solid var(--ac2);
    font-weight:700;
    line-height:1.6;
    padding-bottom:2px;
    margin-bottom:20px;
}
.olflow p{
    font-size:16px;
}
@media(min-width:600px){
    .olflow{
        position:relative;
        padding-left:60px;
    }
    .olflow::before{
        content:'';
        position:absolute;
        top:0;
        left:30px;
        height:100%;
        width:1px;
        background:var(--ac1);
    }
    .olflow li{
        position:relative;
    }
    .olflow .num{
        position:absolute;
        top:0;
        left:-60px;
        width:60px;
        font-size:24px;
    }
    .olflow .flx{
        padding-left:10px;
        padding-top:30px;
    }
}
@media(min-width:768px){
    .olflow .flx{
        display:flex;
        flex-direction:row-reverse;
        justify-content:space-between;
        align-items:flex-start;
        padding-top:20px;
    }
    .olflow .imgarea{
        width:48%;
        margin-bottom:0;
    }
    .olflow .txtarea{
        width:48%;
    }
    .olflow h3{
        font-size:22px;
    }
}
@media(min-width:992px){
    .olflow .flx{
        padding-left:30px;
    }
    .olflow .imgarea{
        width:40%;
    }
    .olflow .txtarea{
        width:54%;
    }
    .olflow h3{
        font-size:24px;
    }
}
/*---- #contact page ----*/
.beforeform1,.beforeform2{
    margin-bottom:40px;
}
.beforeform2{
    margin-top:20px;
    font-size:15px;
}
.telWrap{
    padding:1rem;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    max-width:700px;
    margin:0 auto 40px;
    background:#fff6d9;
}
.ctt_sec h2{
    font-size:17px;
    letter-spacing:1px;
    line-height:1.6;
    margin-bottom:7px;
    font-weight:700;
    text-align:center;
}
.telWrap .teladd{
    margin-top: 5px;
    font-size: 14px;
}
.telWrap .tellink{
    color:var(--txt);
    font-size:27px;
    font-weight:600;
    letter-spacing:1px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
}
.telWrap .tellink i{
    color:var(--ac2);
    font-size:75%;
    margin-right:5px;
}
.telWrap .tellink:hover{
    opacity:0.8;
    color:var(--ac2);
}
.form_add{
    padding:1rem;
    background:var(--sub);
}
.form_add p{
    color:var(--main);
}
@media(min-width:400px){
    .telWrap,.form_add{
        padding:20px;
    }
}
@media(min-width:768px){
    .telWrap{
        padding:20px 30px;
        margin-bottom:60px;
    }
    .telWrap .tellink{
        font-size:36px;
    }
    .ctt_sec h2{
        font-size:20px;
    }
    .telWrap .teladd{
        font-size:16px;
    }
    .form_add{
        padding:30px;
        margin-top:40px;
    }
}
@media(min-width:992px){
    .ctt_sec h2{
        font-size:23px;
    }
}
/*---- #privacy page ----*/
.pri_sec h2{
    font-size:20px;
    font-weight:700;
    letter-spacing:1px;
    padding-bottom:2px;
    line-height:1.6;
    margin-bottom:20px;
    border-bottom:2px solid #96dcf7;
}
.ol_pri,.ul_pri {
    margin:1rem 0;
    padding-inline-start: 30px;
}
.ol_pri>li,.ul_pri>li {
    margin-bottom:10px;
}
.pri_sec a{
    margin:0 3px;
    border-bottom:1px solid var(--main);
    color:var(--main);
    font-weight:500;
}
.pri_sec a:hover{
    border-color:rgba(255, 255, 255, 0);
    opacity:0.8;
}
@media(min-width:768px){
    .pri_sec h2{
        font-size:22px;
    }
}
@media(min-width:992px){
    .pri_sec h2{
        font-size:24px;
    }
}
/*---- #page heder ----*/
.page-header {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.page-header-ttl{
    padding:0 20px;
    left:50%;
    -webkit-transform:translate(-50%,-50%);
    transform:translate(-50%,-50%);
    width:100%;
}
.page-header-ttl .jp{
    font-family:var(--gothic);
    margin:0 0 5px;
    font-weight:700;
}
.page-header-ttl .en{
    font-family:var(--gothic);
    margin:0 0 0 5px;
    font-weight:700;
    letter-spacing:1px;
    font-size:18px;
}
@media(min-width:576px){
    .page-header-ttl{
        max-width:540px;
    }
}
@media(min-width:768px){
    .page-header-ttl{
        max-width:720px;
    }
    .page-header-ttl .en{
        font-size:22px;
    }
}
@media(min-width:992px){
    .page-header-ttl{
        max-width:960px;
    }
}
@media(min-width:1200px){
	.page-header-ttl{
		max-width:1140px;
	}
}
@media(min-width:1400px){
	.page-header-ttl{
		max-width:1320px;
	}
}
/*---- #footer ----*/
/* #beforefooter */
.site-beforefooter{
    background:var(--main);
    padding:40px 0;
}
.page-contact .site-beforefooter{
    display:none;
}
.bfflx .div1,.bfflx .div2{
    margin-bottom:2rem;
}
.bfflx .div1 h2,.bfflx .div1 p{
    text-align:center;
}
.bfflx .div1 p{
    color:#fff;
    font-family:var(--jpserif);
    font-weight:600;
    font-size:16px;
}
.bfflx .ctabox{
    padding:1rem;
    background:#fff;
}
.bfflx .ctabox>p{
    text-align:center;
    font-weight:700;
    font-size:16px;
    margin-bottom:1rem;
}
.a_btn.ye>a{
    background:var(--ac2);
    border-color:var(--ac2);
    color:var(--main);
}
.a_btn.ye>a:hover{
    background:#fff;
    color:var(--ac2);
}
.bfflx .a_btn .fa-envelope{
    font-size:120%;
    margin-right:10px;
}
.bfflx .telbox{
    padding:12px 1rem;
    text-align:center;
    background:#ebf3fb;
}
.bfflx .tellink{
    color:var(--txt);
    font-size:27px;
    font-weight:600;
    letter-spacing:1px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
}
.bfflx .tellink:hover{
    opacity:0.8;
    color:var(--ac1);
}
.bfflx .tellink i{
    color:var(--ac1);
    font-size:75%;
    margin-right:5px;
}
.bfflx .teladd{
    display:block;
    margin-top:5px;
    font-size:14px;
    text-align:center;
}
/* #site-footer */
.ftrlogo{
    margin-bottom:30px;
    padding-left:10px;
}
.ftrlogo a img{
    width:200px;
}
.ftrinfo p,.ftrinfo a{
    color:var(--footer-font-color);
}
.site-footer-menu{
    display:flex;
    flex-wrap:wrap;
}
.site-footer-menu>li{
    padding:0 2%;
    width:50%;
    margin-bottom:15px;
}
.site-footer-menu>li>a{
    display:inline-block;
    font-family:var(--gothic);
    font-weight:500;
    padding-bottom:2px;
    font-size:15px;
    position:relative;
    white-space:nowrap;
}
.site-footer-menu>li>a::after{
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    width:0;
    height:1px;
    background:var(--footer-font-menucolor);
    transition:all .3s;
}
.site-footer-menu>li>a:hover::after{
    width:100%;
}
.site-footer-menu>li:last-child{
    width:fit-content;
}
.copyright{
    margin-top:30px;
    font-weight:400;
}
@media(min-width:400px) and (max-width:767px){
    .bfflx .a_btn.ye>a{
        width:350px;
    }
}
@media(min-width:600px){
    .site-footer-menu>li{
        width:calc(100% / 3);
    }
    .site-footer-menu>li>a{
        font-size:16px;
    }
}
@media(min-width:768px){
    .bfflx{
        display:flex;
        flex-wrap:wrap;
        justify-content:space-between;
    }
    .bfflx .div1{
        width:100%;
    }
    .bfflx .div2,.bfflx .div3{
        width:49%;
    }
    .bfflx .div2{
        margin-bottom:0;
    }
    .bfflx .ctabox{
        height:100%;
    }
    .bfflx .telbox{
        padding:10px 1rem;
    }
    .bfflx .a_btn.ye{
        padding:15px 0;
    }
    .bfflx .a_btn.ye>a{
        width:100%;
        padding:1rem 20px;
        font-size:17px;
    }
    .site-footer-menu>li{
        width:25%;
    }
}
@media(min-width:992px){
    .bfflx{
        flex-wrap:nowrap;
    }
    .bfflx .div1{
        width:27%;
        margin-bottom:0;
        display:flex;
        flex-direction:column;
        justify-content:center;
    }
    .bfflx .div2,.bfflx .div3{
        width:35%;
    }
    .site-footer-wrap .container{
        display:flex;
        flex-wrap:wrap;
        justify-content:space-between;
    }
    .footerwidget{
        width:250px;
    }
    .ftrlogo a img {
        width:250px;
    }
    .site-footer-nav{
        width:calc(100% - 300px);
    }
    .copyright{
        width:100%;
    }
}
@media(min-width:1200px){
    .site-footer-menu>li{
        width:20%;
    }
}
/* addition */
.site-mobile-menu>li>a.linelink_btn i{
    margin-right:10px;
}
.site-mobile-menu>li>a.linelink_btn{
    width:100%;
    max-width:350px;
    margin-left:auto;
    margin-right:auto;
    margin-top:20px;
    padding: 15px 20px;
    font-size: 17px;
    background:#00c41a;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    transition:all 0.5s;
    border:solid 1px #00c41a;
}
.site-mobile-menu>li>a.linelink_btn:hover{
    background:#fff;
    color:#00c41a;
}
.site-mobile-menu>li.linebtn-wrap{
    border-bottom:none;
}
/* contact page */
.dl-contact{
    display:flex;
    flex-flow:row wrap;
    margin:0;
    width:100%;
}
.dl-contact dt{
    font-weight:400;
    margin:0;
    width:100%;
}
.dl-contact dd{
    font-weight:400;
    margin:0;
    width:100%;
}
.LineWrap{
    padding: 1rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 700px;
    margin: 0 auto 40px;
    background:#e1fae1;
}
.LineWrap h2{
    margin-bottom:10px;
}
.LineWrap .desc{
    font-size:14px;
    margin-top:20px;
}
.LineWrap .linelink{
    width:100%;
    height:45px;
    border-radius:23px;
    display:flex;
    justify-content:center;
    align-items:center;
    max-width:250px;
    margin-left:auto;
    margin-right:auto;
    position:relative;
    box-shadow:0 0 10px rgba(0,0,0,0.1);
    font-weight:700;
    padding-left:20px;
    transition:all 0.5s;
    border:solid 1px #00c41a;
    background:#00c41a;
    margin-bottom:10px;
}
.LineWrap .linelink i{
    font-size:32px;
    position:absolute;
    top:50%;
    left:40px;
    transform:translateY(-50%);
}
.LineWrap .linelink:hover{
    background:#fff;
    color:#00c41a;
}
@media(min-width:768px){
    .dl-contact{
        justify-content: space-between;
    }
    .dl-contact dt{
        width:49%;
    }
    .dl-contact dd{
        width:49%;
    }
    .telWrap .tellink{
        font-size:28px;
    }
    .telWrap{
        min-height:155px;
    }
    .LineWrap{
        min-height:155px;
    }
}
@media(min-width:992px){
    .telWrap .tellink{
        font-size:36px;
    }
    .telWrap{
        min-height:171px;
    }
    .LineWrap{
        min-height:171px;
    }
    .LineWrap .linelink{
        height:50px;
        border-radius:25px;
        max-width:280px;
    }
}