/*
	 カスタムCSS
*/

/*------------------------------------*\
    Google Font
\*------------------------------------*/

.mont {
    font-family: 'Montserrat', sans-serif;
}

.notosans {
    font-family: 'Noto Sans JP', sans-serif;
}

.handlee {
    font-family: 'Handlee', cursive;
    font-weight: bold;
    letter-spacing: 0.05em;
}


/*------------------------------------*\
    MAIN
\*------------------------------------*/

body {}

a {
    color: #222222;
    text-decoration: none;
}

a.post-edit-link {
    display: block;
    padding: 15px;
    text-align: center;
    background: #000000;
    color: #ffffff;
}

a.post-edit-link:hover {
    background: #666666;
    filter: alpha(opacity=70);
    /* 以下、ゆっくりフェードインさせる設定 */
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}

a.post-edit-link:before {
    font-weight: 600;
    content: " \f0da";
    padding-left: 2px;
    padding-right: 5px;
    font-family: "Font Awesome 5 Free";
}

a.post-edit-link:after {
    font-weight: 300;
    content: " （ログイン中のユーザーのみに表示されます。）";
    padding-left: 2px;
    padding-right: 5px;
}

/*------------------------------------*\
    パンくずリスト
\*------------------------------------*/

.cf {
    padding: 5px 15px;
    margin: 0px auto;
    color: #bd944d;
    width: 980px;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.cf span {
    font-size: 1.2rem;
}

@media only screen and (max-width: 1157px) {
    .cf {
        width: 100%;
    }
}



/* 
------------------------------------------------------------------------------------------------
ローディング
------------------------------------------------------------------------------------------------
*/

#loading {
    height: 100vh;
    align-items: center;
    justify-content: center;
}

.logoitem {
    position: relative;
    width: 100%;
    height: 300px;
}

.logoitem img.logo {
    display: block;
    width: 90px;
    height: auto;
    margin: 0 auto;
}

.logoitem img.title {
    display: block;
    width: 300px;
    height: auto;
    margin: 60px auto 0px;
}

img.loadericon {
    position: absolute;
    top: 93;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90px;
    height: 11px;
}

#loader-bg {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    background: #FFF;
    z-index: 999;
}


.logoitem {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

.logoitem a:hover{
    color:#bd944d;
    filter: alpha(opacity=70);  
    /* 以下、ゆっくりフェードインさせる設定 */
    -webkit-transition: 0.5s ease-in-out;  
    -moz-transition: 0.5s ease-in-out;  
    -o-transition: 0.5s ease-in-out;  
    transition: 0.5s ease-in-out;
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}



/* 480px以下：SP
------------------------------ */
@media screen and (max-width:480px) { 


    .logoitem {
        position: relative;
        width: 100%;
        height: 150px;
    }

    .logoitem .center{
        margin-top:-80px;
    }

    .logoitem img.title {
        display: block;
        width: 300px;
        height: auto;
        margin: 30px auto 0px;
    }


}






/* 
------------------------------------------------------------------------------------------------
レイアウト
------------------------------------------------------------------------------------------------
*/

.aleft {
    text-align: left;
}

.aright {
    text-align: right;
}

.center {
    text-align: center;
}

.w100 {
    width: 100%;
}

section {
    display: block;
}

section .contents {
    width: 980px;
    margin: 0 auto;
    padding: 35px 0px 35px;
}

.pager {
    font-size: 1.5rem;
    justify-content: space-around;
    align-items: center;
}

.swrap {
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.swrap .item1 {
    width: 50%;
}

.swrap .item2 {
    width: 50%;
}

.swrap-single {
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}


@media screen and (max-width: 599px) {
    .w100sp {
        width: 100%;
    }
}

@media (max-width: 999px) {
    .swrap {
        flex-direction: column;
    }

    .swrap .item1 {
        width: 100%;
    }

    .swrap .item2 {
        width: 100%;
    }

    .pager {
        font-size: 1.3rem;
        justify-content: space-around;
        align-items: center;
    }
}


/* 
------------------------------------------------------------------------------------------------
配色
------------------------------------------------------------------------------------------------
*/

.fabw {
    color: #232323 !important;
}

.red {
    color: #dd0000 !important;
}

a.blue {
    color: #0000ff !important;
    text-decoration: underline;
}

a.blue:hover {
    text-decoration: none;
}

.white {
    color: #ffffff !important;
}

.white:before {
    background-color: #ffffff !important;
}

/* 
------------------------------------------------------------------------------------------------
見出し
------------------------------------------------------------------------------------------------
*/

h1.title {
    font-size: 4.0rem;
    position: relative;
    display: inline-block;
    margin-bottom: 1em;
}

h1.title:before {
    content: '';
    position: absolute;
    bottom: -15px;
    display: inline-block;
    width: 100px;
    height: 1px;
    left: 50%;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #232323;
    border-radius: 2px;
}

h1.title span {
    font-size: 1.2rem;
    display: block;
    margin-bottom: 0em;
}


h2.subtitle {
    font-size: 2.5rem;
    position: relative;
    display: inline-block;
    margin-bottom: 2em;
}

h2.subtitle:before {
    content: '';
    position: absolute;
    bottom: -15px;
    display: inline-block;
    width: 100px;
    height: 1px;
    left: 50%;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #232323;
    border-radius: 2px;
}

.singletitle {
    position: relative;
    padding: 0.6em;
    background: #232323;
}

.singletitle:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid #232323;
    width: 0;
    height: 0;
}

.singletitle h1 {
    font-size: 2.0rem;
    color: #fff;
}

.singletitle span.date {
    display: block;
    font-size: 1.3rem;
    color: #fff;
}


h2.subtitle02 {
    width: 100%;
    background: #232323 !important;
    color: #ffffff;
    padding: 5px 15px;
    border-radius: 8px;
    /* CSS3草案 */
    -webkit-border-radius: 8px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 8px;
    /* Firefox用 */
    font-size: 2.0rem;
    position: relative;
    display: inline-block;
    margin-top: 1em;
    margin-bottom: 0.1em;

}

/* 
------------------------------------------------------------------------------------------------
アイコンとボタン
------------------------------------------------------------------------------------------------
*/

.round_btn {
    min-width: 280px;
    position: relative;
    display: inline-block;
    font-weight: bold;
    padding: 0.7em 2.5em 0.5em;
    text-decoration: none;
    color: #232323;
    background: #ffffff;
    transition: .4s;
    border: 1px solid #232323;
    border-radius: 100px;
    /* CSS3草案 */
    -webkit-border-radius: 100px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 100px;
    /* Firefox用 */
}

.round_btn:hover {
    background: #232323;
    color: white;
}

.round_btn_red {
    min-width: 280px;
    position: relative;
    display: inline-block;
    font-weight: bold;
    font-size: 2.2rem;
    padding: 0.7em 2.5em 0.5em;
    text-decoration: none;
    color: #ffffff;
    background: #dd0000;
    transition: .4s;
    border: 0px solid #232323;
    border-radius: 100px;
    /* CSS3草案 */
    -webkit-border-radius: 100px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 100px;
    /* Firefox用 */
}

.round_btn_red:hover {
    background: #ffffff;
    color: #dd0000;
}

.phonebtn {
    font-size: 2.5rem;
}


.round_btn_pink {
    min-width: 280px;
    position: relative;
    display: inline-block;
    font-weight: bold;
    font-size: 1.75rem;
    padding: 0.5em 2.5em 0.3em;
    text-decoration: none;
    color: #ffffff;
    background: #ca006d;
    transition: .4s;
    border: 0px solid #232323;
    border-radius: 100px;
    /* CSS3草案 */
    -webkit-border-radius: 100px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 100px;
    /* Firefox用 */
}

.round_btn_pink:hover {
    background: #ffffff;
    color: #ca006d;
}


.round_btn_line {
    position: relative;
    display: inline-block;
    font-weight: bold;
    font-size: 3.0rem;
    padding: 0.7em 2.5em 0.5em 3.5em;
    text-decoration: none;
    color: #ffffff;
    background: #4ab652;
    transition: .4s;
    border: 0px solid #232323;
    border-radius: 8px;
    /* CSS3草案 */
    -webkit-border-radius: 8px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 8px;
    /* Firefox用 */
}

.round_btn_line:before {
    position: absolute;
    left: 1.5em;
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    background: url(../images/icon-line.png) no-repeat;
    background-size: contain;
    background-position: 0px;
}

.round_btn_line:hover {
    background: #ffffff;
    color: #4ab652;
}


.round_btn_mail {
    position: relative;
    display: inline-block;
    font-weight: bold;
    font-size: 3.0rem;
    padding: 0.7em 2.5em 0.5em 3.5em;
    text-decoration: none;
    color: #ffffff;
    background: #8b9292;
    transition: .4s;
    border: 0px solid #232323;
    border-radius: 8px;
    /* CSS3草案 */
    -webkit-border-radius: 8px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 8px;
    /* Firefox用 */
}

.round_btn_mail:before {
    position: absolute;
    left: 1.5em;
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    background: url(../images/icon-mail.png) no-repeat;
    background-size: contain;
    background-position: 0px;
}

.round_btn_mail:hover {
    background: #ffffff;
    color: #8b9292;
}


.round_btn_order {
    position: relative;
    display: inline-block;
    font-weight: bold;
    font-size: 3.0rem;
    padding: 0.7em 2.5em 0.5em 3.5em;
    text-decoration: none;
    color: #E1E0DB;
    background: #ca006d;
    transition: .4s;
    border: 0px solid #232323;
    border-radius: 8px;
    /* CSS3草案 */
    -webkit-border-radius: 8px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 8px;
    /* Firefox用 */
}

.round_btn_order:before {
    position: absolute;
    left: 1.5em;
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    background: url(../images/icon-box2.png) no-repeat;
    background-size: contain;
    background-position: 0px;
}

.round_btn_order:hover {
    background: #ffffff;
    color: #ca006d;
}


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

    .round_btn_line {
        font-size: 2.0rem;
    }

    .round_btn_mail {
        font-size: 2.0rem;
    }

    .round_btn_order {
        font-size: 1.75rem;
        padding: 0.9em 1.0em 0.7em 3.5em;
    }

    .round_btn_red {
        font-size: 1.75rem;
        padding: 0.7em 1.5em 0.5em;
    }

}


/* 
------------------------------------------------------------------------------------------------
ヘッダー設定
------------------------------------------------------------------------------------------------
*/

.wrap {
    max-width: auto;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
    box-sizing: content-box;
}

header {
    /*
	position:fixed;
	top:0;
	left:0;
*/
    width: 100%;
    background: transparent;
    box-shadow: 0 0 0px rgba(0, 0, 0, 0.3);
    z-index: 2 !important;
}

header .top {
    background: #000;
    color: #fff;
    font-size: 1.3rem;
    padding: 10px 0;
}

header .top ul li,
header .top ul li img {
    display: inline-block;
    vertical-align: middle;
}

header .top ul {
    text-align: right;
}

header .top ul li {
    margin: 0 13px 0 0;
    padding: 0 15px 0 0;
    position: relative;
}

header .top ul li a {
    color: #fff;
}

header .top ul li.contact a {
    background: #4AADB3;
    border-radius: 4px;
    display: inline-block;
    padding: 2px 8px;
}

header .top ul li a:hover {
    text-decoration: underline;
}

header .top ul li.contact a:hover {
    text-decoration: none;
    background: #503729;
}

header .top ul li:last-child {
    margin: 0;
}

header .top ul li.contact,
header .top ul li.phonebtn {
    padding: 0;
}

header .top ul li:after {
    content: "";
    width: 1px;
    height: 70%;
    position: absolute;
    top: 4px;
    bottom: 0;
    right: 0;
    background: #fff;
}

header .top ul li.contact:after,
header .top ul li.phonebtn:after {
    display: none;
}

header .middle {
    width: 100%;
    margin: 0 auto;
}

.flex {
    display: flex;
}

header .middle h1 {
    text-align: center;
}

header .middle .h_right {}

header .h_bottan {
    display: flex;
    justify-content: flex-end;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}


header .h_bottan .item {}

header .h_bottan .item2 a {}

header .h_bottan .item2 a:hover {}

header .h_bottan .item2 a:before {}

header .h_bottan .item3 a {}

header .h_bottan .item3 a:hover {}

header .h_bottan .item3 a:before {}

header .middle form {
    float: right;
    margin-top: 5px;
    border: 1px solid #B3B3B3;
    max-width: 390px;
    position: relative;
    width: 100%;
}

header .middle form input[type="text"] {
    font-size: 1.3rem;
    vertical-align: middle;
    border: none;
    width: 100%;
    padding: 15px 36px 15px 10px;
    box-sizing: border-box;
    display: block;
}

header .middle form input[type="submit"] {
    font-size: 0;
    background: url(../images/common/search.gif) no-repeat;
    background-size: 26px;
    width: 26px;
    height: 26px;
    border: none;
    vertical-align: middle;
    position: absolute;
    right: 10px;
    top: 10px;
}

header .bottom {
    background: #ffffff;
    border-top: 0px solid #fff;
    border-bottom: 0px solid #ccc;
}

header .bottom .wrap {
    padding: 0;
}

header .bottom nav ul li {
    float: left;
    width: 16.6%;
    text-align: center;
    position: relative;
}

header .bottom nav ul li ul {
    position: absolute;
    top: 100%;
    min-width: 100%;
    display: none;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
}

header .bottom nav ul li ul li {
    float: none;
    width: 100%;
    text-align: left;
    border-bottom: 1px solid #99D1D5;
}

header .bottom nav ul li ul li:last-child {
    border: none;
}

header .bottom nav ul li img,
[off-canvas] nav li img {
    margin: 0 8px 0 -17px;
    vertical-align: middle;
}

[off-canvas] nav li img {
    margin: 0 8px 0 0;
}

header .bottom nav ul li img + span,
[off-canvas] nav li img + span {
    vertical-align: middle;
    margin-top: 4px;
    display: inline-block;
}

header .bottom nav ul li a {
    color: #232323;
    display: block;
    padding: 8px 15px;
    font-size: 1.5rem;
}

header .bottom nav ul li:hover a {
    background: #4AADB3;
    opacity: 1;
    color: #fff;
}

header .bottom nav ul li a:hover img {
    opacity: 1;
}

header .bottom nav ul li ul li a {
    font-size: 1.3rem;
    color: #fff;
    background: #4AADB3;
    white-space: nowrap;
}

header .bottom nav ul li ul li a:hover {
    background: #503729;
}

.sp_nav {
    display: none;
}

/* ハンバーガーメニュー */
.menu-trigger,
.menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}

.menu-trigger {
    position: relative;
    width: 18px;
    height: 19px;
    padding: 0 4px;
    box-sizing: content-box;
}

.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #503729;
    border-radius: 4px;
}

.menu-trigger span:nth-of-type(1) {
    top: 0;
}

.menu-trigger span:nth-of-type(2) {
    top: 8px;
}

.menu-trigger span:nth-of-type(3) {
    bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}

.menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-7px) rotate(45deg);
    transform: translateY(-7px) rotate(45deg);
}


/* 
------------------------------------------------------------------------------------------------
SP用ハンバーガーメニュー
------------------------------------------------------------------------------------------------
*/

/* ハンバーガーメニュー中身 */
[off-canvas] {
    background: #503729;
    z-index: 5;
}

[off-canvas] nav {
    margin: 0 0 30px;
}

[off-canvas] nav ul {
    position: relative;
    z-index: 100000000;
}

[off-canvas] li,
.border_bottom p {
    border-bottom: 1px solid #fff;
}

[off-canvas] li ul li:last-child {
    border-bottom: none;
}

[off-canvas] a {
    padding: 10px 20px;
}

[off-canvas] p {
    padding: 10px 20px;
}

[off-canvas] a,
/* custom */
[off-canvas] li.page_item_has_children {
    color: #fff;
    display: block;
}

[off-canvas] li ul li a {
    padding: 10px 20px 10px 45px;
}

[off-canvas] li ul {
    display: none;
}

[off-canvas] li {
    position: relative;
}

[off-canvas] li.top img {
    margin: 0 15px 0 5px;
}

[off-canvas] li.menu-item-has-children > a:before {
    content: "";
    position: absolute;
    box-sizing: border-box;
    width: 8px;
    height: 8px;
    border: 6px solid transparent;
    border-left: 8px solid #fff;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 27px;
    right: 20px;
    transition: .3s;

}

[off-canvas] li ul li {
    padding: 0;
}

[off-canvas] li ul li:before,
[off-canvas] li.no_acordion:before {
    display: none;

}

[off-canvas] li.active:before {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    top: 17px;
    transition: .3s;
    width: 8px;
}

[off-canvas] .sub {
    padding: 0 20px;
    margin-top: 20px;
}

[off-canvas] .sub li {
    border: none;
    margin-bottom: 5px;
}

[off-canvas] .sub li a {
    font-size: 1.2rem;
    padding: 0 0 0 17px;
    position: relative;
}

[off-canvas] .sub li:before {
    display: none;
}

[off-canvas] .sub li a:before {
    content: "";
    position: absolute;
    top: 6px;
    left: 0;
    width: 6px;
    height: 6px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

[off-canvas] form.search + .btn {
    padding: 0 20px;
}

[off-canvas] form.search + .btn a {
    display: block;
    background: #fff;
    color: #503729;
    border-radius: 6px;
    text-align: center;
    position: relative;
}

[off-canvas] form.search + .btn a:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 20px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #503729;
    border-right: 1px solid #503729;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


@media screen and (max-width:959px) {
    header .bottom nav ul {
        text-align: center;
    }

    header .bottom nav ul li {
        display: inline-block;
        width: auto;
        float: none;
    }

    header .bottom nav ul li a {
        font-size: 1.3rem;
    }
}

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

    header .top,
    header .middle form {
        display: none;
    }

    header .middle {
        padding: 6px 0;
    }

    .bottom .sp_nav {
        background: #fff;
        text-align: center;
        padding: 7px 10px;
    }

    .bottom .sp_nav li {
        display: inline-block;
        vertical-align: middle;
        text-align: center;
        margin: 0 13px 0 0;
    }

    .bottom .sp_nav li:last-child {
        margin: 0;
    }

    .bottom .sp_nav li span {
        display: block;
        font-size: 1.1rem;
    }
}



/* 
------------------------------------------------------------------------------------------------
SP用モーダルウィンドウ
------------------------------------------------------------------------------------------------
*/

.menu-btn {
    position: fixed;
    top: 13px;
    right: 11px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    z-index: 1;
    font-family: 'Vollkorn', serif;
    z-index: 9999;
}

.menu-btn span {
    color: #fff;
}

.menu-btn span:after {
    content: attr(data-txt-menu);
}

/* 開閉用ボタンがクリックされた時のスタイル */
.open .menu-btn span:after {
    content: attr(data-txt-close);
}


.menu {
    position: fixed;
    display: table;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(255, 255, 255, .8);
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: hidden;
    opacity: 0;
    z-index: 9998;
    font-family: 'Vollkorn', serif;
}

.menu ul {
    display: table-cell;
    vertical-align: top;
    margin: 0;
    padding: 6em 0 0 0;
}

.menu li {
    width: 100%;
    line-height: 1.4;
    margin: 0 auto 40px;
    padding: 0;
    text-align: center;
    list-style: none;
}

.menu li a {
    font-size: 2.0rem;
    color: #222222;
    -webkit-transition: color 0.5s;
    transition: color 0.5s;
}

.menu li a div {
    display: inline;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid #222222;
    padding-bottom: 4px;
}

.menu li a div:first-child {
    padding-bottom: 2px;
}

.menu li a span {
    padding-top: 5px;
    display: block;
    font-size: 1.7rem;
    text-decoration: none;
}

.menu li a:hover {
    color: #999;
    -webkit-transition: color 0.5s;
    transition: color 0.5s;
}

/* 開閉用ボタンがクリックされた時のスタイル */
.open .menu {
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: visible;
    opacity: 1;
}



/* 
------------------------------------------------------------------------------------------------
ページTOP
------------------------------------------------------------------------------------------------
*/
#top_back {
    width: 40px;
    height: 40px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 100;
    cursor: pointer;
    background: rgba(27, 40, 80, 0.6);
}

#top_back:hover {
    opacity: 0.8;
}

#top_back:after {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 6px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}


/* 
------------------------------------------------------------------------------------------------
フッター
------------------------------------------------------------------------------------------------
*/

footer .middle {
    background: #232323;
}

footer .middle .inner {
    width: 980px;
    margin: 0 auto;
    display: flex;
    padding: 49px 20px 60px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

small {
    display: block;
    font-size: 1.2rem;
    color: #000000;
    text-align: center;
    padding: 0px 20px 35px;
    background: transparent;
}

footer .sitemap {
    width: 100%;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

footer .footernav {
    display: inline-block;
    width: 30%;
    vertical-align: top;
}

footer .footernav ul li {
    font-size: 1.2rem;
}

footer .footernav ul li a {
    line-height: 2.0;
    color: #fff;
}

footer .contents {
    width: 100%;
    -webkit-flex-basis: 320px;
    -ms-flex-preferred-size: 320px;
    flex-basis: 320px;
    margin: 0 0 0 auto;
}

footer .contents p {
    padding: 7px 0px 5px;
    color: #ffffff;
    font-size: 1.2rem;
}


/*------------------------------------*\
    スライダー（スワイパー／bgswitcher）
\*------------------------------------*/

.swiper-container {}

.swiper-slide {}

.bg-switcher {
    width: 100vw;
    height: 100vh;
    background-position: center center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bg-menu {
    color: #fff;
    line-height: 1.5;
    font-weight: bold;
    text-align: center;
    text-shadow: 1px 1px 1px #000;
    font-family: "Times New Roman", Times, "serif";
}

/* 480px〜599px：SP横
------------------------------ */
@media screen and (min-width:480px) and (max-width:599px) {}

/* 600px〜959px：タブレット
------------------------------ */
@media screen and (min-width:600px) and (max-width:959px) {}

/* 960px〜1279px：小型PC
------------------------------ */
@media screen and (min-width:960px) and (max-width:1279px) {}

/* 1280px〜：大型PC
------------------------------ */
@media screen and (min-width:1280px) {}




/*------------------------------------*\
    アコーディオンメニュー
        #acMenu で開閉
\*------------------------------------*/

.switch .menuWrapper {
    position: absolute;
    top: 2em;
    right: 4.5em;
}

.switch .inner {
    position: absolute;
    right: 5em;
    top: 5.5em;
}

.pagemenu .menuWrapper {
    position: absolute;
    right: 2em;
}

.pagemenu .inner {
    position: absolute;
    right: 2em;
    z-index: 99;
}

.switch .inner li a {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
    display: block;
    background: #ffffff;
    color: #222222;
    padding: 3px 10px 5px;
    margin-bottom: 5px;
}

.switch .inner li a:hover {
    background: #222222;
    color: #ffffff;
    filter: alpha(opacity=70);
    /* 以下、ゆっくりフェードインさせる設定 */
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}

.switch .inner li a span {
    font-size: 1.2rem;
    padding: 3px 10px 3px;
}


/* ヘッダーアコーディオン */

.child {
    display: none;
}


/* PCハンバーガーメニュー */

.menuWrapper {
    position: relative;
    z-index: 0;
    border: 0px solid #ccc;
    width: 50px;
    height: 50px;
}

#menuButton {
    overflow: hidden;
    display: block;
    position: relative;
    z-index: 0;
    width: 50px;
    height: 50px;
    cursor: pointer;
}

#menuButton span,
#menuButton::before,
#menuButton::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 36px;
    height: 4px;
    margin: auto;
    background: #222222;
}

#menuButton span {
    overflow: hidden;
    z-index: 1;
    color: #222222;
}

#menuButton::before {
    z-index: 2;
    transform: translate(0, -12px);
    content: "";
}

#menuButton::after {
    z-index: 2;
    transform: translate(0, 12px);
    content: "";
}

/* ハンバーガーメニュー 閉じる */

#menuButton span {
    opacity: 1;
    transition: opacity 150ms 50ms;
}

#menuButton::before,
#menuButton::after {
    transition: transform 200ms;
}

.active #menuButton span {
    opacity: 0;
    transition: opacity 150ms;
}

.active #menuButton::before {
    transform: rotate(45deg);
}

.active #menuButton::after {
    transform: rotate(-45deg);
}


/*------------------------------------*\
    WEBサイト 固有カスタム
\*------------------------------------*/


.h_title {
    justify-content: space-between;
    align-items: center;
}

header .middle {
    width: 100%;
    margin: 0 auto;
}

#pclogo img {
    text-align: center;
    width: 60%;
    height: auto;
}

.h_right img {
    width: 70px;
    height: auto;
}

.h_left img {
    width: 48px;
    height: auto;
}

.g_menu {
    margin-top: 1.0em;
    justify-content: center;
}

.g_menu li {
    padding: 0px 0.2em;
}

.g_menu li img {
    width: auto;
    height: 30px;
}

#main_contents_top {
    justify-content: space-between;
    flex-direction: column;
}

#main_contents_top .swaiper {
    width: 100%;
    margin-top: 15px;
    margin-bottom: 4.0em;
}

#main_contents_top .swaiper img {
}

#main_contents_page main {
    width: 100%;
    margin: 0 auto;
}

#main_contents_page section.tate {
    margin: 1.8em 1.5em;
    flex-direction: row-reverse;
    flex-direction: column;
}

#main_contents_page section.tate p {
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 0.08em;
    padding: 0em 0em 1.0em;
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
    margin-left: 0em;
}

#main_contents_page section.tate p .sign {
    display: block;
    text-align: right;
}

#main_contents_page h1 {
    text-align: center;
    margin-top: 2.0em;
}

#main_contents_page h1 img {
    text-align: center;
    width: auto;
    height: 30px;
    margin-bottom: 1.0em;
    margin-top: 1.0em;
}

.koyomi {
    display: flex;
    justify-content: center;
    padding: 25px 20px;
}

.koyomi img {
    width: 50%;
}

.koyomi p {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: 0.08em;
    padding: 0em 0em 0em;
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
    margin-left: 1.5em;
    height: 290px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-align: justify;
    text-justify: inter-ideograph;
}

.tatechu {
    letter-spacing: 0em;
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
}

.swiper-pagination {
    width: 100%;
}

.swiper-pagination-bullet {
    margin: 20px 12px;
    width: 13px;
    height: 13px;
    display: inline-block;
    border-radius: 100%;
    background: #000;
    opacity: .1;
}

.swiper-pagination-bullet:first-child {
    margin: 20px 12px 20px 0px;
}

.new_list ul {
    flex-direction: column;
    justify-content: space-between;
}

.new_list ul li {
    width: 100%;
}

.new_list ul li .itembox {
    position: relative;
}

.new_list ul li .itembox span {
    position: absolute;
    bottom: 3%;
    left: 3%;
    font-size: 1.3rem;
    background: #fff;
    padding: 3px 15px 1px;
}

.new_list ul li .caption {
    font-size: 1.4rem;
    margin-top: 1.0rem;
    margin-bottom: 1.0rem;
    letter-spacing: 0.1em;
}

.new_list ul li .caption:before {
    font-weight: 100;
    content: " \f324";
    padding-left: 2px;
    padding-right: 5px;
    font-family: "Font Awesome 5 Pro";
}

.cont_list {
    margin-top: 2.0em;
    margin-bottom: 2.0em;
    justify-content: space-between;
    flex-direction: column;
}

.cont_list li .box {
    position: relative;
    width: 100%;
}

.cont_list li .box span {
    position: absolute;
    bottom: 5%;
    left: 5%;
    font-size: 2.0rem;
    background: #fff;
    letter-spacing: 0.1em;
    padding: 0px 13px 0px 15px;
}

.cont_list li h2 {
    font-size: 2.3rem;
    margin-bottom: 2.0em;
}

.cont_list li span.date {
    display: inline-block;
    margin-top: 1.0em;
    margin-bottom: 0em;
}

.cont_list li span.date:before {
    font-weight: 100;
    content: " \f324";
    padding-left: 2px;
    padding-right: 5px;
    font-family: "Font Awesome 5 Pro";
}


.sec_title {
    position: relative;
    margin: 0 auto;
    text-align: center;
}

.sec_title span {
    position: static;
    top: 0em;
    border: 1px solid #222;
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    padding: 2px 15px;
}

.sec_title h1 {
    margin-top: 1.0em !important;
    font-size: 2.2rem;
}

.single_title {
    margin-top: 3.0em;
}

.single_title h1 {
    text-align: left !important;
    margin-top: 1.0em !important;
    font-size: 3.0rem;
    letter-spacing: 0.2em;
}

.single_title .cat_icon {
    border: 1px solid #222;
    font-size: 1.4rem;
    letter-spacing: 0.2em;
    padding: 5px 15px;
}

.single_title span.date {
    display: inline-block;
    margin-top: 1.0em;
    margin-bottom: 0em;
    padding-left: 1.0em;
    letter-spacing: 0.2em;
}

.single_title span.date:before {
    font-weight: 100;
    content: " \f324";
    padding-left: 2px;
    padding-right: 5px;
    font-family: "Font Awesome 5 Pro";
}

.single_bottom {
    border-top: 2px solid #000;
    padding-top: 3.0em;
}


.con_single {
    margin-top: 1.5em;
    margin-bottom: 6.0em;
    flex-wrap: wrap;
}

.con_single .item1 {
    width: 100%;
}

.con_single .item1 span.caption {
    display: inline-block;
    font-size: 1.75rem;
    margin-top: 0.5em;
    margin-bottom: 0em;
    padding-left: 0em;
    letter-spacing: 0.2em;
}

.con_single .item1 span.caption:before {
    font-weight: 100;
    content: " \f324";
    padding-left: 2px;
    padding-right: 5px;
    font-family: "Font Awesome 5 Pro";
}

.con_single .item2 {
    width: 100%;
}

.con_single .item2 p {
    padding: 1.0em 1.0em;
    line-height: 2.2;
    font-size: 1.75rem;
}

.con_single .item2 h2 {
    position: relative;
    padding: 0em 1.0em;
    font-size: 2.3rem;
}

.con_single .item2 h2 span{
    position: absolute;
    top:10px;
    right:0;
    letter-spacing: 0.1em;
    font-size: 1.5rem;
}


/*------------------------------------*\
    Google Map
\*------------------------------------*/

.google-map {
    position: relative;
    width: 100%;
    /* 左右に余白が必要なら値を変更してもOK */
    height: 0;
    padding-bottom: 67.25%;
    /* padding-topでもOK */
    overflow: hidden;
}

.google-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    /* 必要であれば!importantを付けてください */
    height: 100%;
    /* 必要であれば!importantを付けてください */
}



/*------------------------------------*\
    アンカーリンク
\*------------------------------------*/



/*------------------------------------*\
    RESPONSIVE
- 〜479px：SP縦がデフォルト
- 480px〜599px：SP横
- 600px〜959px：タブレット
- 960px〜1279px：小型PC
- 1280px〜：大型PC
\*------------------------------------*/


/* 480px以下のみ
------------------------------ */
@media screen and (max-width:480px){
    
    .pc_nav {
        display: none;
    }

    .sp_nav {
        display: block;
    }

}


/* 480px〜599px：SP横
------------------------------ */
@media screen and (min-width:480px) and (max-width:599px) {

}

/* 600px〜959px：タブレット
------------------------------ */
@media screen and (min-width:600px) and (max-width:959px) {}

/* 960px〜1279px：小型PC
------------------------------ */
@media screen and (min-width:960px) and (max-width:1279px) {
    header .middle {
        width: 960px;
    }


    #main_contents_top {
        margin: 95px auto 95px;
    }

    #main_contents_top {
        flex-direction: row-reverse;
        width: 960px;
    }

    #main_contents_top main {
        width: 695px;
    }

    #main_contents_top aside {
        width: 215px;
    }

    .linetop,.linebottom{
        width:98%;
        margin:0 auto;
        text-align: center;
    }


}

/* 1280px〜：大型PC
------------------------------ */
@media screen and (min-width:1280px) {
    header .middle {
        width: 980px;
    }

    #main_contents_top {
        margin: 95px auto 95px;
        flex-direction: row-reverse;
        width: 980px;
    }

    #main_contents_top main {
        width: 695px;
    }

    #main_contents_top aside {
        width: 228px;
    }

    #main_contents_page {
        margin: 95px auto 95px;
        width: 980px;
    }

    #main_contents_page h1 {
        margin-top: 0;
    }

    #main_contents_page h1 img {
        text-align: center;
        width: auto;
        height: 32px;
        margin-bottom: 0.3em;
    }

}


/* 960px〜：小型PC・大型PC共通
------------------------------ */
@media screen and (min-width:960px) {


    .h_title {
        margin-top: 65px;
        align-items: flex-start;
    }

    .h_left img {
        width: 36px;
        height: auto;
    }

    #pclogo img {
        width: auto;
        height: 55px;
    }

    .h_right img {
        width: 60px;
        height: auto;
    }

    .g_menu li {
        padding: 0px 3.2em;
    }

    .g_menu li img {
        width: auto;
        height: 50px;
    }

    .swiper-pagination {
        width: auto;
    }

    .new_list ul {
        flex-direction: row;
        justify-content: space-between;
    }

    .new_list ul li {
        width: 31%;
    }

    .koyomi {
        display: block;
    }

    .koyomi img {
        width: 100%;
    }

    .koyomi p {
        font-size: 1.5rem;
        line-height: 1.8;
        letter-spacing: 0.08em;
        padding: 1.5em 1.0em 0em;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        -o-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        text-align: justify;
        text-justify: inter-ideograph;
    }


    #main_contents_page section.tate {
        margin: 3.8em 2.0em;
        height: 530px;
        flex-direction: row-reverse;
    }

    #main_contents_page section.tate p {
        text-indent: 1.0em;
        position: relative;
        height: auto;
        font-size: 1.75rem;
        line-height: 2.0;
        letter-spacing: 0.5em;
        padding: 0em 0em 0em;
        margin-top: 0;
        margin-bottom: 0;
        margin-right: 0;
        margin-left: 0em;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        -o-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        text-align: justify;
        text-justify: inter-ideograph;
    }

    #main_contents_page section.tate p span.sign {
        position: absolute;
        bottom: 0;
    }

    .koyomi p {
        font-size: 1.5rem;
        line-height: 1.8;
        letter-spacing: 0.08em;
        padding: 1.5em 0em 0em;
        margin: 0 auto;
        height: 290px;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        -o-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        text-align: justify;
        text-justify: inter-ideograph;
    }

    .cont_list {
        margin-top: 3.0em;
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: space-between;
    }

    .cont_list li {
        position: relative;
        width: 47.5%;
    }

    .cont_list li .box span {
        position: absolute;
        bottom: 5%;
        left: 5%;
        font-size: 2.0rem;
        background: #fff;
        letter-spacing: 0.1em;
        padding: 0px 13px 0px 15px;
    }


    .sec_title {
        margin-top: 2.5em;
        margin-bottom: 2.0em;
        position: relative;
    }

    .sec_title span {
        position: absolute;
        top: 1.0em;
        left: 0;
        border: 1px solid #222;
        font-size: 1.2rem;
        letter-spacing: 0.2em;
        padding: 2px 15px;
    }

    .sec_title h1 {
        font-size: 3.2rem;
    }

    .con_single .item1 {
        width: 50%;
    }

    .con_single .item2 {
        width: 50%;

    }

    .con_single .item2 p {
        padding: 0em 3.0em;
        line-height: 2.2;
        letter-spacing: 0.1em;
        font-size: 1.75rem;
    }

}
