@charset "UTF-8";


/* common /////////////////////////////////////////////////////////////////////////////////////////// */
.pcNone {
    display: none;
}

.cmn_maxbox {
    width: 100%;
    max-width: 1200px;
    max-width: 1400px;
    margin: 0 auto;
}

/* フォントファミリー */
.font_yugo {
	font-family: "Yu Gothic",YuGothic,"游ゴシック体","HiraKakuProN-W3","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","HiraKakuProN-W6","ヒラギノ角ゴ ProN W6","HiraKakuPro-W6","ヒラギノ角ゴ Pro W6",Meiryo,"メイリオ",Osaka,arial,helvetica,sans-serif;
}

.font_yumin,
.cmn_tit .jp {
    font-family: "Yu Mincho",YuMincho,"游明朝体","MS Mincho","ＭＳ 明朝","MS PMincho","ＭＳ Ｐ明朝","Noto Serif JP","Symbol","serif";
}



/* main.cssの透過効果打ち消し */
a.opacityNone:hover,
.XXXXX a
{
    opacity: 1.0;
    filter: none; /* 初期値：none */
    -ms-filter: ""; /* 初期値："" */
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    transition: none;
}

/* aタグ(電話番号) */
a[href^="tel"] {
    pointer-events: none;
}


.cmn_wrapper {
    overflow: hidden;
}


/* 共通タイトル */
.cmn_tit {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 0 10px 0;
}

.cmn_tit .en_back,
.cmn_tit .en_front {
    flex-shrink: 0;
    display: inline-block;
    margin: 0 20px 0 0;
    color: #394E69;
    font-size: 8.0rem;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.1rem;
    font-family: "Times New Roman",'Lusitana',"Yu Mincho",YuMincho,"游明朝体","MS Mincho","ＭＳ 明朝","MS PMincho","ＭＳ Ｐ明朝","Noto Serif JP","Symbol","serif";
}

.cmn_tit .en_front {
    position: absolute;
    left: 0;
    top: 0;
    width: 140px;
    height: 0;
    color: #FFF;
    overflow: hidden;
    white-space: nowrap;
}

.cmn_tit .jp {
    flex-shrink: 0;
    display: inline-block;
    color: #394E69;
    font-size: 2.4rem;
    letter-spacing: 0.1rem;
}



/* 404 */
.cmn_404 {
    padding: 90px 0 0 0;
    margin: 0 0 140px 0;
}

.cmn_404_inner {
    padding: 100px 200px;
    background: #D7DCE1;
}



/* header */
header {
    position: fixed;
    left: 50%;
    top: 0;
    width: 100%;
    max-width: 1400px;
    transform: translate(-50%, 0);
}

header::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    transform: translate(-100%, 0);
    width: 100vw;
    display: block;
    background: #77889D;
}

.header_inner {
    width: 400px;
    height: 600px;
    padding: 80px 140px 0 100px;
    background: #77889D;
}


.header_logo {
    margin: 0 0 60px 0;
}

.header_logo .pc {
    display: inline-block;
}

.header_logo .sp_close,
.header_logo .sp_open {
    display: none;
}

.header_nav li + li {
    margin: 30px 0 0 0;
}

.header_nav a {
    display: block;
    color: #FFF;
    font-size: 1.4rem;
}


#header_spmenu_check,
#header_spmenu_btn,
#header_spmenu_conts {
    display: none;
}


/* main */
main {
    max-width: 1400px;
    padding: 100px 0 140px;
    margin: 0 auto;
}

.main_inner {
    position: relative;
    /* transform: translate(260px, 0); */
    width: calc(100% - 260px);
    padding: 0 100px 0 0;
    margin: 0 0 0 260px;
}


/* footer */
footer {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
    background: #77889D;
    text-align: center;
    color: #FFF;
    letter-spacing: 0;
}






/* home /////////////////////////////////////////////////////////////////////////////////////////// */

.home_slider [class^="slide"] {
    height: 600px;
    /* -webkit-tap-highlight-color: rgba(0, 0, 0, 0); */
    /* outline-color: transparent; */
    outline: none;
}

.home_slider dl {
    display: flex;
    height: 100%;
}

.home_slider dt {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 42%;
    padding: 0 4%;
    background: #394E69;
}

.home_slider .slide02 dt {
    background: #978475;
}

.home_slider .slide03 dt {
    background: #A38E9F;
}

.home_slider dt img {
    display: inline-block;
    width: 100%;
    max-width: 170px;
    box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.3);
}

.home_slider .slide02 dt img {
    max-width: 240px;
}

.home_slider .slide03 dt img {
    max-width: 210px;
}

.home_slider dd {
    position: relative;
    width: 58%;
}

.home_slider dd::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100vw;
    height: 100%;
    background-image: url(../img/home_slider_bg01.jpg);
    background-repeat: repeat-x;
    background-position: left -620px top 0px;
    background-size: auto 100%;
}

.home_slider .slide02 dd::before {
    background-image: url(../img/home_slider_bg02.jpg);
    background-position: left -250px top 0px;
}

.home_slider .slide03 dd::before {
    background-image: url(../img/home_slider_bg03.jpg);
    background-position: left -170px top 0px;
}

.home_slider dd a {
    position: relative;
    z-index: 9;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 0 12% 0 6%;
    background-image: url(../img/home_slider_zukei_pc.svg);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 100% 600px;
    /* text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.75); */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.75);
    /* -webkit-tap-highlight-color: rgba(0, 0, 0, 0); */
    /* outline-color: transparent; */
    outline: none;

}

.home_slider dd p {
    color: #FFF;
    line-height: 2.8;
}

.home_slider dd span {
    flex-shrink: 0;
    margin: 0 0 0 30px;
    color: #FFF;
    font-size: 1.4rem;
}


/* mfp上書き */
.home_slider.slick-dotted.slick-slider {
    margin: 0 0 90px 0;
}

.home_slider .slick-list {
    overflow: visible;
}

.home_slider .slick-dots {
    width: 42%;
    left: 0;
    bottom: 4%;
}

.home_slider .slick-dots li button::before {
    color: rgba(255, 255, 255, 0.5);
    font-size: 3.0rem;
}

.home_slider .slick-dots li.slick-active button:before {
    color: rgba(255, 255, 255, 1.0);
    opacity: 1;
}




.home_greeting {
    padding: 50px 0 70px 0;
    margin: 0 0 70px 0;
}

.home_greeting_msg {
    position: relative;
    background-color: #394E69;
}

.home_greeting_msg::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    transform: translate(100%, 0);
    display: block;
    width: 100vw;
    background-color: inherit;
}

.home_greeting_msg > ul {
    position: relative;
    display: flex;
    justify-content: space-between;
    padding: 70px 70px;
    background-color: inherit;
}

.home_greeting_msg > ul::before,
.home_greeting_msg > ul::after {
    content: '';
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    background-size: 800px auto;
}

.home_greeting_msg > ul::before {
    z-index: -1;
    left: -400px;
    top: -140px;
    width: 800px;
    height: 800px;
    background-image: url(../img/home_greeting_mark_back.png);
    background-position: left top;
}

.home_greeting_msg > ul::after {
    left: 0;
    top: 0;
    width: 400px;
    height: 100%;
    background-image: url(../img/home_greeting_mark_front.png);
    background-position: right top -140px;
}

.home_greeting_msg > ul li {
    position: relative;
    z-index: 1;
    color: #FFF;
    text-align: justify;
    text-justify: inter-ideograph;
    line-height: 2.2;
    /* letter-spacing: 0.3rem; */
    /* flex: 1; */
}

.home_greeting_msg > ul li:nth-of-type(1) {
    /* width: 50%; */
    width: 100%;
}

.home_greeting_msg > ul li:nth-of-type(2) {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    /* width: 50%; */
    /* width: 100%; */
    width: 95%;
    margin: 0 0 0 50px;
}

.home_greeting_msg > ul li:nth-of-type(2) p {
    width: 100%;
    margin: 0 0 0 0;
}

.home_greeting_msg > ul li:nth-of-type(2) span {
    display: inline-block;
    margin: auto 0 0 0;
}



.home_org {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.home_org > dl {
    width: 100%;
}

.home_org > dl div {
    display: flex;
    align-items: center;
}

.home_org > dl div + div {
    margin: 20px 0 0 0;
}

.home_org > dl dt {
    align-self: stretch;
    flex-shrink: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 150px;
    padding: 6px 20px;
    margin: 0 20px 0 0;
    background: #394E69;
}

.home_org > dl span {
    display: block;
    width: 100%;
    color: #FFF;
    font-size: 1.4rem;

    /* text-align: center; */
    text-justify: inter-ideograph;
    text-align-last: justify;
    -moz-text-align-last: justify;
}

.home_org > dl dd {
    width: 100%;
}

.home_org > dl address {
    font-style: normal;
}

.home_org > div {
    flex-shrink: 0;
    position: relative;
    /* width: 380px; */
    width: 38%;
    height: auto;
    margin: 0 0 0 20px;
    overflow: hidden;
}

.home_org > div::before {
    content: '';
    display: block;
    height: 0;
    padding: 91% 0 0 0;
}

.home_org > div > iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}




/* product /////////////////////////////////////////////////////////////////////////////////////////// */

.product_book {
    padding: 90px 0 0 0;
}

.product_book,
.product_other {
    position: relative;
    margin: 0 0 140px 0;

    word-break: break-all; /* CMS入力による英数字を折り返し */
}

.product_book::before,
.product_other::before {
    content: '';
    position: absolute;
    left: 440px;
    top: 0;
    bottom: 0;
    z-index: -1;
    display: block;
    width: 100vw;
    background: #F7F8F9;
}

.product_book ul,
.product_other ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 0 40px 0;
}

.product_book ul li,
.product_other ul li {
    /* width: 32.7%; */
    width: calc((100% / 3) - (20px / 3));
    margin: 0 0 10px 0;
}

.product_book ul::after,
.product_other ul::after {
    content: '';
    display: block;
    /* width: 32.7%; */
    width: calc((100% / 3) - (20px / 3));
}

.product_book ul a,
.product_other ul a {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 50px 30px;
    border: 0.5px solid #394E69;
    background: #FFF;
}
/*
.product_book > ul div ,
.product_other > ul div {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: auto;
    min-width: 200px;
    min-height: 200px;
    margin: 0 0 30px 0;
    text-align: center;
}

.product_book ul img,
.product_other ul img {
    width: auto;
    height: auto;
    max-width: 200px;
    max-height: 200px;
    box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.3);
}
 */
.product_book ul div,
.product_other ul div {
    position: relative;
    flex-shrink: 0;
    width: 100%;
    max-width: 200px;
    height: auto;
    margin: 0 auto 30px;
}

.product_book ul div::before,
.product_other ul div::before {
    content: '';
    display: block;
    width: 100%;
    height: 0;
    padding: 100% 0 0 0;
}

.product_book ul img,
.product_other ul img {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    transform: translate(-50%,-50%);
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    min-width: 0;
    min-height: 0;
    box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.3);
}

.product_book ul h2,
.product_other ul h2 {
    flex-shrink: 0;
    margin: 0 0 10px 0;
    font-size: 2.0rem;
    font-weight: 900;
}

.product_book ul p,
.product_other ul p {
    flex-shrink: 0;
    margin: 0 0 16px 0;
    font-size: 1.6rem;
    line-height: 1.4;
}

.product_book ul cite,
.product_other ul cite {
    display: inline-block;
    margin: 0 0 20px 0;
    font-style: normal;
    font-size: 1.3rem;
}

.product_book ul span,
.product_other ul span {
    display: block;
    margin: auto 0 0 0;
    text-align: right;
    font-size: 2.6rem;
    line-height: 1;
    font-weight: 700;
}

.product_book ul small,
.product_other ul small {
    display: inline-block;
    vertical-align: bottom;
    text-align: right;
    font-size: 1.6rem;
}

.product_book_noinfo,
.product_other_noinfo,
.message_wrapper_noinfo {
    margin: 70px 0;
    text-align: center;
}

.product_single_wrap {
    padding: 100px 0 0 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}


.product_single_imgbox {
    position: relative;
    flex-shrink: 0;
    width: 33%;
    max-width: 340px;
    min-width: 250px;
    height: auto;
    margin: 0 30px 0 0 ;
}

.product_single_imgbox::before {
    content: '';
    display: block;
    width: 100%;
    height: 0;
    padding: 100% 0 0 0;
}

.product_single_imgbox img {
    position: absolute;
    left: 50%;
    top: 0;
    z-index: 1;
    transform: translate(-50%,0);
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    min-width: 0;
    min-height: 0;
    box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.3);
}

.product_single_txtbox {
    width: 100%;
    padding: 90px;
    border: 0.5px solid #394E69;

    word-break: break-all; /* CMS入力による英数字を折り返し */
}

.product_s_maintitle {
    margin: 0 0 6px 0;
    font-size: 2.4rem;
    font-weight: 900;
}

.product_s_subtitle {
    padding: 0 0 12px 0;
    border-bottom: 1px solid #394E69;
    margin: 0 0 12px 0;
    font-size: 1.8rem;
}

.product_s_author {
    display: block;
    margin: 0 0 16px 0;
    font-size: 1.6rem;
    font-style: normal;
}

.product_s_data {
    display: block;
    margin: 0 0 24px 0;
    font-size: 1.6rem;
}

.product_s_price {
    display: block;
    margin: 0 0 50px 0;
    text-align: right;
    font-size: 2.6rem;
    line-height: 1;
    font-weight: 700;
    text-align: right;
}

.product_s_price small {
    display: inline-block;
    vertical-align: bottom;
    font-size: 1.6rem;
}


.product_s_editor {
    margin: 0 0 50px 0;
}

.product_s_pageback {
    margin: 0 0 20px 0;
    text-align: right;
}

.product_s_onlineshop {
    text-align: right;
}

.product_s_onlineshop a {
    display: inline-block;
    width: 240px;
    height: 52px;
    line-height: 52px;
    color: #FFF;
    font-size: 1.8rem;
    text-align: center;
    background: #F7AC3B;
}







/* message /////////////////////////////////////////////////////////////////////////////////////////// */

.message_wrapper {
    padding: 90px 0 0 0;
}

.message_list {
    margin: 0 0 40px 0;

    word-break: break-all; /* CMS入力による英数字を折り返し */
}

.message_list li {
    margin: 0 0 10px 0;
}

.message_list a {
    display: flex;
    min-height: 200px;
    border: 0.5px solid #394E69;
}

.message_list_imgbox {
    position: relative;
    flex-shrink: 0;
    width: 34%;
    overflow: hidden;
}

.message_list_imgbox img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    display: block;
    width: auto;
    height: auto;
    max-width: none;
    max-height: none;
    min-width: 101%;
    min-height: 101%;
}

.message_list_txtbox {
    width: 100%;
}

.message_list_txtbox > span {
    display: inline-block;
    width: 190px;
    padding: 4px 34px 4px 0;
    /* margin: 0 0 0 -1px; */
    color: #FFF;
    font-size: 2.0rem;
    text-align: center;
    background: url(../img/message_type_bg.svg) no-repeat left top / 100% 100%;
}

.message_list_txtbox > h2 {
    padding: 50px 40px;
    font-size: 2.0rem;
    font-weight: 900;
}


/* ページ送り */
.message_pager .pagination {
    display: flex;
    align-items: center;
    justify-content: center;
}

.message_pager span,
.message_pager a {
	display: block;
	margin: 0 10px;
    font-size: 2.0rem;
}

/* 前へ */
.message_pager .prev {
    margin-right: 10px;
}
/* 次へ */
.message_pager .next {
    margin-left: 10px;
}
/* 最初へ */
.message_pager .first {
    margin-right: 10px;
}
/* 最後へ */
.message_pager .last {
	margin-left: 10px;
}

/* Page x / y */
.message_pager .page_num {
    display: none;
}

.message_single_wrap {
    padding: 90px 100px;
    background: rgba(255, 255, 255, 0.8);

    word-break: break-all; /* CMS入力による英数字を折り返し */
}

.message_s_title {
    padding: 0 0 16px 0;
    border-bottom: 1px solid #394E69;
    margin: 0 0 26px 0;
    font-size: 2.4rem;
    font-weight: 900;
}

.message_s_movie {
    position: relative;
    height: 0;
    padding: 56.25% 0 0 0;
    margin: 0 0 30px 0;
    overflow: hidden;
}

.message_s_movie > iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.message_s_mainimg {
    margin: 0 0 30px 0;
    text-align: center;
}

.message_s_editor {
    margin: 0 0 50px 0;
    line-height: 1.6;
    font-feature-settings: "palt";
}

.message_s_pageback {
    text-align: right;
}

.message_s_pageback a {
    display: inline-block;
}




/* contact /////////////////////////////////////////////////////////////////////////////////////////// */

.contact_form {
    padding: 90px 0 0 0;
    margin: 0 0 140px 0;
}

.contact_form_inner {
    padding: 100px 200px;
    background: #D7DCE1;
}

.contact_form_inner > h3 {
    margin: 0 0 20px 0;
    font-size: 2.4rem;
    text-align: center;
}

.contact_form_inner > p {
    margin: 0 0 50px 0;
    line-height: 1.8;
}



.contact_form_dl {
    margin: 0 0 50px 0;
}

.contact_form_dl > div {
    margin: 0 0 16px 0;
}

.contact_form_dl #username,
.contact_form_dl #mail0 {
    width: 100%;
}

.contact_form_dl #message {
    width: 100% !important;
    height: 190px !important;
}

#contactButton {
    text-align: center;
}

/* mfp */
#contactButton button[type="submit"] {
    display: inline-block;
    width: 100%;
    max-width: 200px;
    padding: 13px 0;
    outline: none;
    border: 0; /* mfp上書き */
    font-size: 1.8rem;
    color: #FFF;
    background-color: #394E69;
}

div#mfp_overlay {
  color: #333; /* mfp上書き */
}
/* /end */



.contact_tel {
    text-align: center;
}

.contact_tel p {
    font-weight: 400;
    margin: 0 0 10px 0;
    font-size: 2.4rem;
}

.contact_tel span {
    display: inline-block;
}

.contact_tel small {
    font-size: 1.6rem;
    letter-spacing: -0.1rem;
}


