@charset "UTF-8";

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


.cmn_tit .en_front {
    width: 190px;
}

.header_inner {
    padding: 80px 190px 0 50px;
}

.main_inner {
    width: calc(100% - 210px);
    padding: 0 50px 0 0;
    margin: 0 0 0 210px;
}







}


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

/* common /////////////////////////////////////////////////////////////////////////////////////////// */

.spNone {
    display: none;
}

.pcNone {
    display: block;
}

.cmn_maxbox {
    /* padding-left: 3%;
    padding-right: 3%; */
}

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

p,
li,
dt,
dd,
a {
    /* font-size: 1.4rem; */
}


/* 共通タイトル */
.cmn_tit {
    position: static;
    display: block;
}

.cmn_tit .en_front {
    display: none;
}

.cmn_tit .en_back {
    display: block;
    margin: 0 0 4px 0;
    font-size: 4.6rem;
}

.cmn_tit .jp {
    display: block;
    font-size: 1.8rem;
}

/* 404 */
.cmn_404 {
    margin: 0 0 70px 0;
}

.cmn_404 .cmn_tit {
    padding: 0 20px;
}

.cmn_404_inner {
    padding: 10px 20px;
}






/* header */
header {
    left: 0;
    z-index: 99;
    transform: none;
    background: #77889D;
}

header::before {
    display: none;
}

.header_inner {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: auto;
    height: 90px;
    padding: 0 20px;
    background: transparent;
}


.header_logo {
    flex-shrink: 0;
    position: relative;
    order: -1;
    margin: 0 20px 0 0;
}

/* .header_logo::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
    display: block;
    width: 100%;
    width: 70%;
    height: 100%;
    background: #77889D;
    transition: width .25s;
} */

.header_logo .pc {
    display: none;
}

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

.header_nav {
    display: none;
}


/* スマホメニュー */
#header_spmenu_btn {
    display: inline-block;
    width: 40px;
    height: 28px;
    /* margin: 6px 0 0 0; */
    background-image: url(../img/header_spmenu_open.svg);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100% 100%;
    cursor: pointer;
    transition: transform .25s;
}

#header_spmenu_conts_bg {
    position: absolute;
    top: 90px;
    left: 0;
    display: none;
    width: 100vw;
    height: calc(100vh - 90px);
    background: rgba(255, 255, 255, 0.8);
}

#header_spmenu_conts {
    position: absolute;
    top: 90px;
    left: 0;
    z-index: 9;
    display: block;
    width: 100%;
    height: calc(100vh - 90px);
    transform: translate(-100%,0);
    transition: transform .25s;
    background: #77889D;
    overflow: auto;
}

#header_spmenu_check:checked ~ header #header_spmenu_btn {
    width: 28px;
    height: 28px;
    background-image: url(../img/header_spmenu_close.svg);
}

#header_spmenu_check:checked ~ header #header_spmenu_conts_bg {
    display: inline-block;
}

#header_spmenu_check:checked ~ header #header_spmenu_conts {
    transform: translate(0,0);
}

#header_spmenu_check:checked ~ header .header_logo .sp_close {
    display: none;
}

#header_spmenu_check:checked ~ header .header_logo .sp_open {
    display: inline-block;
}

/* #header_spmenu_check:checked ~ header  .header_logo::after {
    z-index: 0;
    width: 0;
} */

#header_spmenu_check:checked ~ main {
    transform: translate(243px, 0);
}

#header_spmenu_conts_inner {
    padding: 50px 20px;
}

#header_spmenu_conts_inner li + li {
    margin: 30px 0 0 0;
}

#header_spmenu_conts_inner li a {
    display: block;
    color: #FFF;
    font-size: 1.7rem;
    letter-spacing: 0.15rem;
}



/* main */
main {
    padding: 90px 0 70px;
    transition: transform .25s;
}

.main_inner {
    position: static;
    width: 100%;
    padding: 0 ;
    margin: 0;
}





/* footer */
footer {
    height: 70px;
}









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

.home_slider [class^="slide"] {
    height: auto;
}

.home_slider dl {
    display: block;
    height: auto;
}

.home_slider dt {
    width: 100%;
    /* height: 354px; */
    height: 300px;
    padding: 50px 20px 0;
    padding: 0 20px 30px;
    text-align: center;
}

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

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

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

.home_slider dd {
    width: 100%;
    padding: 0 0 100px 0;
}

.home_slider dd::before {
    width: 100%;
    height: 100%;
}

.home_slider dd a {
    display: block;
    padding: 0;
    background: none;
}

.home_slider dd p {
    padding: 20px 20px;
    text-align: center;
    font-size: 1.5rem;
    line-height: 2.6;
    line-height: 2.4;
}

.home_slider dd span {
    display: block;
    padding: 70px 20px 80px;
    margin: 0;
    text-align: center;
    background-image: url(../img/home_slider_zukei_sp.svg);
    background-position: center bottom;
    background-size: 100% 100%;

}


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

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

.home_slider .slick-dots {
    width: 100%;
    height: 30px;
    left: 0;
    top: 0;
    bottom: auto;
    transform: translate(0, 250px);
}


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

.home_greeting .cmn_tit {
    padding: 0 20px;
}


.home_greeting_msg {
    position: static;
}

.home_greeting_msg::before {
    display: none;
}

.home_greeting_msg > ul {
    display: block;
    padding: 50px 20px;
}

.home_greeting_msg > ul::before,
.home_greeting_msg > ul::after {
    left: 50%;
    transform: translate(-50%, 0);
}

.home_greeting_msg > ul::before {
    top: -180px;
    height: 100%;
    background-position: left top;
}

.home_greeting_msg > ul::after {
    top: 0;
    width: 800px;
    background-position: right top -180px;
}



.home_greeting_msg > ul li {
    text-align: left;
    text-justify: auto;
    line-height: 2.2;
}

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

.home_greeting_msg > ul li:nth-of-type(2) span {
    display: block;
    margin: 40px 0 0 0;
    text-align: right;
}



.home_org {
    display: block;
    padding: 0 20px;
}

.home_org > dl div {
    display: block;
}

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

.home_org > dl dt {
    display: block;
    width: 100%;
    padding: 6px 20px;
    margin: 0 0 12px 0;
}

.home_org > dl span {
    font-size: 1.4rem;
    text-justify: auto;
    text-align-last: auto;
    -moz-text-align-last: auto;
}

.home_org > div {
    width: 100%;
    margin: 20px 0 0 0;
    min-height: 322px;
}

.home_org > div::before {
    padding: 53.67% 0 0 0;
}







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

.product_book {
    padding: 0 20px 0 20px;
    margin: 70px 0 100px 0;
}

.product_other {
    padding: 0 20px;
    margin: 0 0 50px 0;
}

.product_book::before,
.product_other::before {
    left: auto;
    right: 0;
    width: 42%;
}


.product_single_wrap {
    padding: 70px 20px 0 20px;
    display: block;
}

.product_single_imgbox {
    width: 100%;
    max-width: 340px;
    min-width: 0;
    height: auto;
    margin: 0 auto 40px;
}


.product_single_txtbox {
    padding: 0;
    border: 0;
}

.product_s_maintitle {
    margin: 0 0 6px 0;
    font-size: 1.8rem;
}

.product_s_subtitle {
    padding: 0 0 16px 0;
    margin: 0 0 16px 0;
    font-size: 1.6rem;
}

.product_s_author {
    font-size: 1.5rem;
}

.product_s_data {
    font-size: 1.5rem;
}

.product_s_price {
    margin: 0 0 40px 0;
    font-size: 2.0rem;
}

.product_s_price small {
    font-size: 1.5rem;
}

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

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

.product_s_onlineshop {
    text-align: center;
}




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

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

.message_wrapper .cmn_tit {
    padding: 0 20px;
}

.message_list {
    padding: 0 20px;
    margin: 0 0 40px 0;
}



.message_single_wrap {
    padding: 70px 20px 20px;
}

.message_s_title {
    font-size: 1.8rem;
}

.message_s_movie,
.message_s_mainimg {
    margin: 0 0 20px 0;
}


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


.contact_form {
    padding: 70px 0 0 0;
    margin: 0 0 70px 0;
}

.contact_form .cmn_tit {
    padding: 0 20px;
}

.contact_form_inner {
    padding: 70px 20px;
}

.contact_form_inner > h3 {
    font-size: 2.0rem;
}

.contact_form_inner > p {
    margin: 0 0 30px 0;
}


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


.contact_tel {
    padding: 0 20px;
}

.contact_tel p {
    margin: -10px 0 10px 0;
    font-size: 2.0rem;
}

.contact_tel p span {
    display: block;
}

.contact_tel small {
    display: block;
    font-size: 1.4rem;
}











}













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








/* common /////////////////////////////////////////////////////////////////////////////////////////// */







/* header */



/* footer */








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








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

.product_book ul li,
.product_other ul li {
    width: calc(50% - 5px);
}

.product_book ul::after,
.product_other ul::after {
    display: none;
}







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


.message_list a {
    display: block;
    min-height: 0;
}

.message_list_imgbox {
    width: 100%;
    height: 0;
    padding: 56.25% 0 0 0;
}

.message_list_txtbox > span {
    width: 150px;
    padding: 6px 16px 6px 0;
    font-size: 1.5rem;
    letter-spacing: 0.2rem;
}

.message_list_txtbox > h2 {
    /* padding: 30px 24px; */
    padding: 6% 24px;
    font-size: 1.6rem;
}


/* ページ送り */
.message_pager span,
.message_pager a {
    font-size: 1.5rem;
}








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
















}












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









/* common /////////////////////////////////////////////////////////////////////////////////////////// */






/* header */



/* footer */








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








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

.product_book ul,
.product_other ul {
    display: block;
    padding: 0 0 30px 0;
}

.product_book ul li,
.product_other ul li {
    width: 100%;
}

.product_book ul a,
.product_other ul a {
    display: block;
    height: auto;
    padding: 30px 30px;
}

.product_book ul h2,
.product_other ul h2 {
    font-size: 1.8rem;
}

.product_book ul cite,
.product_other ul cite {
    margin: 0 0 40px 0;
    font-size: 1.4rem;
}

.product_book ul span,
.product_other ul span {
    margin: 0;
    font-size: 2.0rem;
}

.product_book ul small,
.product_other ul small {
    font-size: 1.5rem;
}









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










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













}