@import url('https://fonts.googleapis.com/css?family=Noto Serif JP');

/******************/
/* Default Styles */
html, body {
    font-family: "Noto Serif JP";
}

a, a:visited, a:hover, a:active {
    color: inherit;
    text-decoration: none;
}

.menu-links {
    overflow: hidden;
}

.sp {
    display: none;
}

.section-btn {
    border: 0;
    cursor: pointer;
    padding: 15px 35px 15px 25px;
    width: 260px;
    display: block;
    margin: 0 auto;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    font-size: 16px;
    line-height: 24px;
    font-weight: bold;
}

.no-scroll {
    overflow: hidden;
}

.red-btn,
.red-btn:visited {
    background: #E50012 url('../images/common/header/btn_ico_right.png') no-repeat center right;
    color: #fff;
    border: 1px solid #E50012;
    transition: all 100ms ease-in-out;
}
.red-btn:hover {
    color: #E50012;
    background: #FFF url('../images/common/icons/ico_right_red.png') no-repeat center right;
    transition: all 100ms ease-in-out;
}


.news-list-container .news-list {
    display: none;
}
.news-list-container .news-list.active-list {
    display: block;
}

.news-list-container .news-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  margin-top: 40px;
  flex-wrap: wrap;
}

.news-list-container .news-pagination a {
  font-size: 15px;
  color: #949CB1;
  border: 1px solid #DBDDE3;
  padding: 9px 16px;
}

.news-list-container .news-pagination a.news-prev,
.news-list-container .news-pagination a.news-next {
  padding: 0;
}


.news-list-container .news-pagination span.news-prev,
.news-list-container .news-pagination span.news-next {
  padding: 9px 16px;
}

.news-list-container .news-pagination .nav-dots {
  color: #949CB1;
  padding: 9px 16px;
  letter-spacing: -2px;
}

.news-list-container .news-pagination .news-prev,
.news-list-container .news-pagination .news-next,
.news-list-container .news-pagination .news-prev:hover,
.news-list-container .news-pagination .news-next:hover {
  border: 0;
  background-color: transparent;
  color: #949CB1;
}

.news-list-container .news-pagination a.active,
.news-list-container .news-pagination a:hover {
  color: #fff;
  border: 1px solid #DBDDE3;
  background-color: #11214D;
}

/* End of Default Styles */
/*************************/

/************************************/
/* Classes Used For Functionalities */

/***************/
/* Mobile View */
@media only screen and (max-width: 768px) {
    .heading-anchor {
        scroll-margin-top: 60px;
    }
}
/* Mobile View */
/***************/

/****************/
/* Desktop View */
@media only screen and (min-width: 769px) {
    .heading-anchor {
        scroll-margin-top: 80px;
    }
}
@media screen and (max-width: 1200px) and (min-width: 769px){
    .footer {
        width: 1200px;
    }
}
/* Desktop View */
/****************/

/* Classes Used For Functionalities */
/************************************/

/* Scroll To Top */
#btnTop {
    width: 60px;
    height: 60px;
    position: fixed;
    bottom: 10px;
    right: 10px;
    background: #fff url('../images/common/icons/ico_up.png') no-repeat center center;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    z-index: 49;
}
#btnTop a {
    width: 60px;
    height: 60px;
    padding: 20px 0;
    font-size: 10px;
    text-align: center;
    display: block;
}
/* /Scroll To Top */




/******************/
/* PC View Styles */
body {
    padding-top: 80px;
}

/* HEADER */
.page-header {
    background-color: #fff;
    border-bottom: 1px solid #DADDE3;
    height: 80px;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    z-index: 9;
}
.page-header .page-header-inner {
    height: 80px;
    overflow: hidden;
}
.page-header .site-logo {
    float: left;
    padding: 22px 0 22px 30px;
}
.page-header .site-logo img {
    height: 30px;
    width: auto;
}
.page-header .page-menu {
    float: right;
}
.page-header .page-menu .static-page-menu ul {
    display: inline-block;
    font-size: 14px;
}
.page-header .page-menu .static-page-menu .contact span:before {
    content: url('../images/common/header/ico_contact.png');
    position: relative;
    top: 2px;
    right: 10px;
}
.page-header .page-menu .static-page-menu .cart span:before {
    content: url('../images/common/header/ico_cart.png');
    position: relative;
    top: 2px;
    right: 10px;
}
.page-header .page-menu .static-page-menu ul li a:hover,
.page-header .page-menu .wordpress-page-menu ul li a:hover,
.page-header .page-menu .static-page-menu ul li span:hover,
.page-header .page-menu .wordpress-page-menu ul li span:hover {
    color: #E50012;
}
/* /HEADER */

/* PAGE CONTENT HEADER */
.entry-header {
    background-color: #F2F4F8;
    margin-bottom: 40px;
}
.entry-header-inner {
    background-color: #F2F4F8;
    margin: 0 auto;
    overflow: hidden;
    padding-bottom: 20px;
}
.entry-header-main-img {
    float: left;
    padding-top: 30px;
    margin-right: 50px;
}
.entry-header-main-img img {
    max-width: 500px;
    height: auto;
}
.entry-header-texts {
    padding-top: 50px;
}

.entry-header h1.page-title {
    color: #11214D;
    font-family: "Noto Serif JP";
}
.template2 .entry-header h2.sub-title,
.template-post .entry-header h2.sub-title {
    color: #B7B9BF;
    font-family: "Cormorant Garamond";
}
.template3 .entry-header h2.sub-title {
    color: #11214D;
}

.entry-header .entry-text-titles {
    margin-bottom: 27px;
}
.entry-header .page-categories {
    margin-bottom: 20px;
}
.entry-header .page-categories span {
    display: inline-block;
    background-color: #D5DDEF;
    padding: 6px 15px;
    font-size: 14px;
    color: #11214D;
}
.entry-header .page-categories span:not(:first-child) {
    margin-left: 10px;
}

.entry-header .page-header-description {
    font-size: 14px;
    line-height: 180%;
    margin-bottom: 20px;
}

.entry-header .page-header-buttons {
    margin-bottom: 20px;
}
.entry-header .page-header-buttons a {
    background: #E50012 url('../images/common/header/btn_ico_right.png') no-repeat center right;
    padding: 15px 35px 15px 25px;
    min-width: 260px;
    display: inline-block;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
}

.entry-header .breadcrumbs {
    clear: both;
    padding-top: 20px;
    text-align: right;
    font-size: 13px;
}
.entry-header .breadcrumbs li:not(:first-child):before {
    content: '–';
    padding: 0 12px;
    color: #B7B9BF;
}
.entry-header .breadcrumbs li {
    color: #000;
    display: inline-block;
}
.entry-header .breadcrumbs li a {
    color: #5E6B8B;
}
/* /PAGE CONTENT HEADER */

/* PAGE ANCHORS */
.content-anchor a {
    font-size: 15px;
    line-height: 30px;
    display: inline-block;
}
.content-anchor a:before {
    content: '\25bc';
    color: #E50012;
    padding-right: 6px;
}
.content-anchor a:hover {
    color: #E50012;
}
.heading-anchor:before {
    content: "";
    display: block;
    height: 300px;
    margin: -300px 0 0;
}
/* /PAGE ANCHORS */

/* FOOTER */
.footer {
    border-top: 2px solid #E50012;
    background-color: #F2F4F8;
}
.footer-inner {
    background-color: #F2F4F8;
    padding: 40px 20px;
}
.footer .static-footer-menu {
    color: #000;
    font-size: 14px;
    margin-bottom: 10px;
}
.footer .static-footer-menu li {
    float: left;
    margin-right: 40px;
}
.footer .static-footer-menu li span {
    cursor: pointer;
}
.footer .footer-logo {
    clear: both;
    float: right;
}
.footer .footer-logo img {
    width:180px ;
}
.footer .copyright {
    clear: both;
    font-size: 12px;
    color: #8A98B2;
    letter-spacing: 2px;
    margin-bottom: 10px;
}
/* /FOOTER */


/* PAGE CONTENTS */
.entry-content {
    margin: 0 auto;
}
/* /PAGE CONTENTS */


/* NAVIGATION SUB MENU */
.sub-menu-item {
    display: none;
}
.sub-menu-item > div {
    display: none;
}
.sub-menu-header .txt-ja {
    font-weight: bold;
}
.sub-menu-header .txt-en {
    font-family: Cormorant Garamond;
    color: #808080;
    letter-spacing: 2px;
}
/* /NAVIGATION SUB MENU */

/* End of PC View Styles */
/*************************/

/**********************/
/* Mobile View Styles */
@media only screen and (max-width: 768px) {
    body {
        padding-top: 60px;
    }
    .sp {
        display: block;
    }
    .pc {
        display: none;
    }

    /* HEADER */
    .page-header,
    .page-header .page-header-inner {
        width: 100%;
        height: 60px;
    }
    .page-header .site-logo {
        padding: 15px 20px;
    }
    /* /HEADER */


    /* NAVIGATION */
    .sp-nav {
        display: block;
        position: absolute;
        right: 15px;
        top: 10px;
    }
    .sp-nav .sp-nav-menu-line {
        width: 35px;
        height: 2px;
        background-color: black;
        margin: 8px 0;
        display: block;

        transition: all 200ms ease-in-out;
    }

    .x:nth-of-type(1) {
        transition: all 200ms ease-in-out;
        transform: rotate(45deg);
        transform-origin: top left;
        width: 28px;
    }
    .x:nth-of-type(2) {
        transition: all 200ms ease-in-out;
        transform-origin: center;
        width: 0;
    }
    .x:nth-of-type(3) {
        transition: all 200ms ease-in-out;
        transform: rotate(-45deg);
        transform-origin: bottom left;
        width: 28px;
    }

    .screen-overlay {
        z-index: 99;
        position: fixed;
        background-color: black;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        height: 100%;
        width: 100%;
        opacity: 0.5;
        display: none;
    }
    .page-header {
        z-index: 999;
    }
    .menu-links {
        display: none;
        flex-direction: column;
        background-color: transparent;
        width: 100%;
        position: absolute;
        margin-top: 59px;
        right: 0;
        overflow: auto;
    }
    .menu-links ul {
        padding: 0 30px;
    }
    .menu-links .wordpress-page-menu {
        order: 1;
        padding-top: 30px;
        background-color: #fff;
    }
    .menu-links .wordpress-page-menu li:first-child {
        border-top: 1px solid #DADDE3;
    }
    .menu-links .wordpress-page-menu li.menu-item {
        line-height: 60px;
        border-bottom: 1px solid #DADDE3;
    }
    .menu-links .wordpress-page-menu li.menu-item:not(.menu-item-has-child) a {
        width: 90%;
        display: block;
    }
    .menu-links .wordpress-page-menu li.menu-item.menu-item-parent.menu-item-has-child a {
        max-width: 90%;
        padding-right: 30px;
        display: inline-block;
    }
    .wordpress-page-menu .menu-item-parent {
        display: inline-block;
        width: 100%;
        background-image: url('../images/common/icons/ico_down_red.png');
        background-repeat: no-repeat;
        background-position-x: right;
        background-position-y: 25px;
    }
    .menu-item-parent.menu-opened {
        background-image: url('../images/common/icons/ico_up_red.png');
    }
    .menu-item-has-children .sub-menu {
        display: none;
    }
    .menu-links .wordpress-page-menu .menu-item-has-children .sub-menu li {
        padding: 0;
        border: 0;
    }
    .menu-links .static-page-menu {
        order: 2;
        padding: 30px 0;
        background-color: #fff;
    }
    .page-header .page-menu .static-page-menu ul {
        display: flex;
        flex-direction: column;
    }
    .menu-links .static-page-menu .contact {
        order: 2;
    }
    .menu-links .static-page-menu .cart {
        order: 1;
    }
    .menu-links .static-page-menu li {
        margin-left: 10px;
        margin-bottom: 20px;
    }
    .menu-links .static-page-menu span {
        font-size: 14px;
        line-height: 24px;
    }

    .sub-menu-header {
        display: none;
    }
    .sub-menu-items li.first-item {
        display: none;
    }
    .menu-links .wordpress-page-menu .sub-menu-items li {
        border: 0;
        font-size: 14px;
        line-height: 28px;
        margin-bottom: 10px;
    }
    .sub-menu-item {
        display: block;
    }

    .content-anchor {
        margin: 0 20px 70px;
    }
    .content-anchor a {
        width: 50%;
        font-size: 15px;
        line-height: 20px;
        padding: 0 10px 10px 20px;
        margin: 0;
        position: relative;
        vertical-align: top;
    }
    .content-anchor a:before {
        position: absolute;
        top: 0;
        left: 0;
    }
    /* /NAVIGATION */

    .page-contents {
        margin-bottom: 120px;
    }

    .template2 .entry-header h1.page-title,
    .template-post .entry-header h1.page-title {
        font-size: 30px;
    }
    .template2 .entry-header h2.sub-title,
    .template-post .entry-header h2.sub-title {
        font-size: 13px;
        margin-bottom: 10px;
    }
    .template3 .entry-header h1.page-title {
        font-size: 28px;
    }
    .template3 .entry-header h2.sub-title {
        font-size: 16px;
        margin-bottom: 10px;
    }

    .entry-header-main-img {
        float: unset;
        padding: 20px;
        margin: 0;
    }
    .entry-header-main-img img{
        display: block;
        margin: 0 auto;
        padding: 20px 20px 0;
        width: 100%;
    }
    .entry-header-texts {
        padding: 0 20px;
    }

    .entry-text-titles {
        margin-bottom: 10px;
    }

    .page-header-buttons a {
        display: block;
        width: 100%;
        line-height: 130%;
    }
    .page-header-buttons a:not(:first-child) {
        margin-top: 15px;
    }

    .breadcrumbs {
        display: none;
    }

    .entry-content {
        padding-left: 20px;
        padding-right: 20px;
    }

    .footer {
        padding: 40px 20px 60px 20px;
    }
    .footer .static-footer-menu {
        margin-bottom: 60px;
    }
    .footer .static-footer-menu li {
        float: unset;
        margin: 0 0 20px;
        text-align: center;
    }
    .footer .static-footer-menu li.notice {
        margin-top: 30px;
        line-height: 200%;
    }
    .footer .footer-logo {
        float: unset;
        width: 100%;
        text-align: center;
    }
    .footer .copyright {
        margin-top: 90px;
        width: 100%;
        text-align: center;
    }


    .news-tabs {
        display: flex;
        justify-content: left;
        gap: 10px;
        flex-wrap: wrap;
        margin-bottom: 20px;
    }
    .news-tabs .tab {
        text-align: center;
        padding: 7px 16px;
        background-color: #E6EBF2;
        border: 1px solid #E6EBF2;
        border-bottom: 0;
        border-radius: 20px;
        font-size: 13px;
    }
    .news-tabs .tab.active {
        background-color: #fff;
        border: 1px solid #DADDE3;
    }

    .news-list-container {
        border-top: 1px solid #E6EBF2;
        margin-bottom: 52px;
    }
    .news-list-container .news-list {
        margin-top: 0;
        margin-bottom: 0;
    }
    .news-list-container .news-list li {
        padding: 20px 0;
        border-bottom: 1px solid #DADDE3;
    }
    .news-list-container .news-list li .news-date {
        font-size: 15px;
        font-weight: bold;
        line-height: 28px;
        margin-right: 23px;
    }
    .news-list-container .news-list li .news-title {
        font-size: 15px;
        line-height: 28px;
        display: block;
    }
}
/* End of Mobile View Styles */
/*****************************/





@media only screen and (min-width: 769px) {
    /* FIXED WIDTHS */
    body {
        
    }
    .page-header {
        min-width: 1200px;
    }
    .entry-header-inner {
        width: 1200px;
        padding-right: 10px;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-item {
        min-width: 1200px;
        width: 100%;
    }
    .content-anchor {
        width: 1200px;
        margin: 0 auto 70px;
    }
    .entry-content {
        width: 1200px;
    }
    .footer {
    }
    .footer-inner {
        width: 1200px;
        margin: 0 auto;
    }
    /* /FIXED WIDTHS */

    .page-contents {
        margin-bottom: 140px;
    }

    .template2 .entry-header h1.page-title,
    .template-post .entry-header h1.page-title {
        font-size: 40px;
    }
    .template2 .entry-header h2.sub-title,
    .template-post .entry-header h2.sub-title {
        font-size: 15px;
        margin-bottom: 10px;
    }
    .template3 .entry-header h1.page-title {
        font-size: 33px;
    }
    .template3 .entry-header h2.sub-title {
        font-size: 21px;
        margin-bottom: 10px;
    }

    .template3 .header-content-anchor {
        text-align: center;
    }
    .content-anchor a:not(:last-child) {
        margin-right: 30px;
    }

    .page-header-buttons a:not(:first-child) {
        margin-left: 20px;
    }

    .page-header .page-menu .static-page-menu ul {
        padding-left: 40px;
    }
    .page-header .page-menu .static-page-menu:before {
        content: '';
        position: absolute;
        bottom: 30px;
        height: 20px;
        border-left: 1px solid #DADDE3;
    }
    .page-header .page-menu .wordpress-page-menu > div > ul {
        display: inline-block;
        margin-right: 28px;
    }
    .page-header .page-menu .static-page-menu,
    .page-header .page-menu .wordpress-page-menu {
        float: right;
    }
    .page-header .page-menu .static-page-menu ul li {
        float: right;
        line-height: 80px;
        margin-right: 48px;
    }
    .page-header .page-menu .wordpress-page-menu ul li {
        float: left;
        line-height: 80px;
    }
    .page-header .page-menu .wordpress-page-menu ul .menu-parent-link {
        display: block;
        height: 100%;
        padding: 0 20px;
    }

    .page-header .page-menu .wordpress-page-menu .current-menu-parent,
    .page-header .page-menu .wordpress-page-menu .current-menu-item {
        color: #E50012;
    }
    li.menu-item:hover {
        background-color: #DADDE3;
    }

    .page-header .page-menu .wordpress-page-menu .sub-menu,
    .page-header .page-menu .wordpress-page-menu .sub-menu .current-menu-item {
        color: #000;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu {
        display: none;
        position: absolute;
        background-color: #DADDE3;
        margin-left: -20px;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu li {
        float: none;
        line-height: 50px;
    }

    .page-header .page-menu .wordpress-page-menu .sub-menu-item {
        border-bottom: 1px solid #707070;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-item-list {
        display: table;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-item-list div {
        display: table-cell;
        vertical-align: top;
        line-height: 100%;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-header {
        background-color: #F2F4F8;
        padding: 33px 0 33px 30px;
        min-width: 310px;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-header span {
        display: block;
        padding-left: 30px;
        padding-bottom: 7px;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-item {
        background-color: #fff;
        position: absolute;
        left: 0;
        top: 80px;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-header span:first-child {
        background-color: transparent;
        background-image: url('../images/common/icons/ico_right_red_bg.png');
        background-repeat: no-repeat;
        background-position-y: 3px;
        background-position-x: left;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-header .txt-ja {
        font-size: 19px;
        line-height: 26px;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-header .txt-en {
        font-size: 12px;
        pointer-events: none;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-items {
        padding: 36px 40px;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-items ul {
        display: table-cell;
        padding-right: 30px;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-items ul:not(:first-child) {
        border-left: 1px solid #DDDDDD;
        padding-left: 30px;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-items ul li {
        float: none;
        font-size: 15px;
        line-height: 24px;
        margin-bottom: 13px;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-items ul li:hover {
        color: #E50012;
    }
    .page-header .page-menu .wordpress-page-menu .sub-menu-items ul li.first-item {
        color: #E50012;
        font-weight: bold;
        margin-bottom: 18px;
        line-height: 100%;
    }






    /*************/
    /* NEWS PART */
    .news-tabs {
        display: flex;
        justify-content: left;
        gap: 10px;
    }
    .news-tabs .tab {
        min-width: 210px;
        text-align: center;
        background-color: #E6EBF2;
        border: 1px solid #E6EBF2;
        border-bottom: 0;
        border-top-right-radius: 10px;
        border-top-left-radius: 10px;
        cursor: pointer;
        transition: 200ms;
    }
    .news-tabs .tab.active,
    .news-tabs .tab:hover {
        background-color: #fff;
        border: 1px solid #DADDE3;
        border-bottom: 0;
        transition: 200ms;
    }
    .news-tabs .tab span {
        display: block;
        padding: 13px 20px;
        height: 100%;
        width: 100%;
        font-size: 15px;
        line-height: 28px;
    }

    .news-list-container {
        width: 100%;
        border-top: 1px solid #E6EBF2;
        margin-bottom: 52px;
    }
    .news-list-container .news-list {
        width: 100%;
        margin-top: 0;
    }
    .news-list-container .news-list li {
        padding: 20px 0;
        border-bottom: 1px solid #DADDE3;
    }
    .news-list-container .news-list li .news-date {
        font-size: 15px;
        font-weight: bold;
        line-height: 28px;
        margin-right: 23px;
    }
    .news-list-container .news-list li .news-title {
        font-size: 15px;
        line-height: 28px;
    }
    /* END OF NEWS PART */
    /********************/



















}