@charset "utf-8";
/*!
 *
 * @copyright (C) THE JAPAN TIMES LTD. 
 * @version   1.0.0
 */

@font-face {
    font-family: 'Pluto';
    src: url('../../lib/fonts/pluto/plutosansbold-webfont.eot');
    src: url('../../lib/fonts/pluto/plutosansbold-webfont.eot?#iefix') format('embedded-opentype'), url('../../lib/fonts/pluto/plutosansbold-webfont.svg#PlutoSansBold') format('svg'), url('../../lib/fonts/pluto/plutosansbold-webfont.woff') format('woff'), url('../../lib/fonts/pluto/plutosansbold-webfont.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Pluto';
    src: url('../../lib/fonts/pluto/plutosansregular-webfont.eot');
    src: url('../../lib/fonts/pluto/plutosansregular-webfont.eot?#iefix') format('embedded-opentype'), url('../../lib/fonts/pluto/plutosansregular-webfont.svg#PlutoSansRegular') format('svg'), url('../../lib/fonts/pluto/plutosansregular-webfont.woff') format('woff'), url('../../lib/fonts/pluto/plutosansregular-webfont.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'icons';
    src: url('../../lib/fonts/icons/icons.eot');
    src: url('../../lib/fonts/icons/icons.eot?#iefix') format('embedded-opentype'), url('../../lib/fonts/icons/icons.svg#icons') format('svg'), url('../../lib/fonts/icons/icons.woff') format('woff'), url('../../lib/fonts/icons/icons.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    vertical-align: sub;
}

body,
p {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
    font-size: 18px;
    line-height: 1.7;
}

a:hover {
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
    width: auto;
}

a {
    color: #0099cc;
    transition: all .2s ease-out;
}

.thankstext {
    line-height: 1.5;
}

.row {
    margin-left: 0px;
    margin-right: 0px;
}

.container-fluid {
    padding-left: 0px;
    padding-right: 0px;
    margin-top: -88px;
    padding-top: 88px;
}

.bg-blue {
    background-color: #0099cc;
}

.bg-offwhite {
    background-color: #fbf9e5;
}

.section-block .section-inner {
    padding: 80px 15px;
    max-width: 1200px;
}

@media only screen and (max-width: 46.875em) {
    .container-fluid {
        padding-left: 0px;
        padding-right: 0px;
        margin-top: 0;
        padding-top: 0;
    }
    .section-block .section-inner {
        padding: 40px 0;
        max-width: 100%;
    }
}

h1 {
    font-family: Pluto, Hiragino UD Sans Std, Helvetica Neue, Helvetica, Arial, sans-serif;
}

h2 {
    margin-bottom: 1.5rem;
    /*font-family:Georgia,Arial,Verdana;*/
    font-family: Pluto, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: bold;
    font-size: 2.6rem;
}

@media only screen and (max-width: 46.875em) {
    h2 {
        font-size: 1.8rem;
    }
}

h2.ttl_line {
    color: #333;
    border-bottom: 2px solid #333;
    border-top: 2px solid #333;
    line-height: 1.2;
    text-align: center;
    padding-bottom: 20px;
    padding-top: 20px;
    margin-bottom: 80px;
}

@media only screen and (max-width: 46.875em) {
    h2.ttl_line {
        margin: 0 15px 40px;
    }
}

h2.ttl_line.txt_white {
    color: #fff;
    border-bottom: 2px solid #fff;
    border-top: 2px solid #fff;
}

h3 {
    font-size: 1.2rem;
    margin-bottom: 1rem;
}

.button {
    color: white;
    -webkit-appearance: none;
    position: relative;
    font-size: 1rem;
    display: block;
    font-family: Helvetica, Arial, メイリオ, Meiryo, "ＭＳ Ｐゴシック", 平成角ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif !important;
    padding: 0.4em 0.8em 0.3em;
    margin: 0.2em 0px;
    border-radius: 5px;
    background: rgb(0, 153, 204);
}

.button.middle {
    width: 50%;
    font-weight: 600;
    text-align: center;
    font-size: 1.4rem;
    margin: 2rem auto 0 !important;
    padding: 0.5em 0.8em !important;
    text-decoration: none;
}

.button.small {
    width: 9rem;
    font-weight: bold;
    text-align: center;
    font-size: 0.875rem;
    padding: 10px 0;
    text-decoration: none;
}

.jt_button_style {
    color: white;
    -webkit-appearance: none;
    position: relative;
    font-size: 1.4rem;
    display: block;
    font-family: Helvetica, Arial, メイリオ, Meiryo, "ＭＳ Ｐゴシック", 平成角ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    padding: 0.4em 0.8em 0.3em;
    margin: 0.2em 0px;
    border-radius: 5px;
    background: rgb(0, 153, 204);
}

a.button:hover {
    color: white;
    background: #ff5c1a;
}

@media only screen and (max-width: 46.875em) {
    .button.middle {
        width: 100%;
        font-size: 1.2rem;
    }
}

/* top-seciton
─────────────────────────────────── */

.top-copy {
    background: url(../images/mainvis.jpg) 0 0 no-repeat;
    background-size: cover;
    height: 344px;
    margin-bottom: 150px;
    margin-top: 88px;
}

.top-copy .section-inner {
    padding: 0;
}

.top-copy .contents {
    padding: 70px 15px 0;
}

.section-inner h1 {
    font-size: 2.7rem;
    margin-bottom: 60px;
    font-weight: normal;
    line-height: 1.5;
}

.section-inner h1 span {
    font-weight: 700;
}

@media screen and (max-width: 1024px) {
    .top-copy {
        background: url(../images/mainvis_sp.jpg) 0 0 no-repeat;
        height: 100%;
        margin-bottom: 0;
        background-size: cover;
        /*margin-top: 140px;*/
        margin-top: 0px;
    }
    .top-copy .section-inner {
        padding: 0;
        max-width: 100%;
    }
    .top-copy .contents {
        padding: 50px 15px;
    }
    .section-inner h1 {
        font-size: 1.8rem;
        margin-bottom: 30px;
        line-height: 1.2;
    }
}

.p-cardList {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 0;
}

.c-card {
    list-style: none;
    text-align: center;
    padding-top: 30px;
    padding-bottom: 30px;
    box-shadow: 0 2px 51px rgba(35, 24, 21, 0.15);
    border-radius: 10px;
    border: 2px solid #ffffff;
    background-color: #ffffff;
    margin-right: 3.5%;
}

@media screen and (max-width: 1024px) {
    .c-card {
        padding: 20px 10px;
    }
}

.c-card:last-child {
    margin-right: 0;
}

.c-card--col3 {
    position: relative;
    width: 31%;
}

.c-card--col3::before {
    content: "";
    position: absolute;
    right: 0;
    top: -20px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-width: 0 10px 20px 10px;
    border-color: transparent transparent #ffffff transparent;
}

@media screen and (max-width: 1024px) {
    .c-card--col3 {
        max-width: 48%;
        width: 48%;
        margin-bottom: 30px;
        margin-right: 0;
    }
    .c-card--col3:first-child {
        margin-right: 3%;
    }
    .c-card--col3:last-child {
        margin-bottom: 0;
        margin-right: 0;
    }
}

@media screen and (max-width: 1024px) {
    .c-card__icon {
        width: 40px;
    }
}

.c-card__title {
    color: #333;
    font-size: 1.35rem;
    line-height: 1.9rem;
    margin-bottom: 0;
}

.c-card__title span {
    color: #0099cc;
    font-weight: bold;
}

@media screen and (max-width: 1024px) {
    .c-card__title {
        font-size: 1.1rem;
        line-height: 1.5rem;
    }
}

/* service-seciton
─────────────────────────────────── */

.service_ttl {
    text-align: center;
    padding: 35px 30px;
    border-radius: 10px;
    background-color: #ffffff;
    margin-bottom: 25px;
}

.service_ttl__txt {
    color: #333;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.9rem;
    margin-bottom: 0;
}

@media only screen and (max-width: 46.875em) {
    .service_ttl {
        padding: 20px;
        margin-bottom: 15px;
    }
    .service_ttl__txt {
        font-size: 1.1rem;
        line-height: 1.5rem;
    }
}

.service_ttl__txt.other {
    font-weight: normal;
}

.service_ttl__txt.other span {
    font-weight: bold;
}

.service-item {
    font-size: 0.9rem;
    margin-bottom: 60px;
}

.service-item ul {
    padding-left: 1rem;
}

@media only screen and (max-width: 46.875em) {
    .service-item {
        margin-bottom: 30px;
    }
}

.txt_notes {
    text-align: right;
    font-size: 0.7rem;
    margin-bottom: 0;
}

@media only screen and (max-width: 46.875em) {
    .txt_notes {
        margin: 0 15px;
    }
}

/* use-seciton
─────────────────────────────────── */

.use_ttl {
    font-size: 1.55rem;
    margin-bottom: 1rem;
    font-weight: bold;
}

.use_img {
    padding-left: 0;
}

.use_box {
    padding-left: 35px;
}

.use_list {
    padding-left: 1em;
    line-height: 2.2;
    margin-bottom: 40px;
}

@media only screen and (max-width: 46.875em) {
    .use_ttl {
        font-size: 1.3rem;
    }
    .use_img {
        padding-left: 15px;
    }
    .use_img figure img {
        width: 100%;
    }
    .use_box {
        padding-left: 15px;
    }
    .use_list {
        margin-bottom: 20px;
        line-height: 1.8;
        margin-left: 0.4em;
    }
}

/* reason-seciton
─────────────────────────────────── */

.icon_number {
    width: 80px;
    height: 80px;
    border-radius: 40px;
    background-color: #0099cc;
    color: #fff;
    font-weight: bold;
    font-size: 3rem;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 0;
}

.card {
    border: 0;
    margin-bottom: 40px;
    border-radius: 10px;
    padding: 40px;
    display: table;
    width: 100%;
}

.card:last-child {
    margin-bottom: 0;
}

.card-body {
    vertical-align: middle;
    display: table-cell;
    padding: 0;
}

.card .card-title {
    font-weight: 600;
    font-size: 1.55rem;
}

.card .card-txt {
    display: table-cell;
    vertical-align: middle;
    padding-left: 30px;
}

.card .card-txt p {
    margin-bottom: 0;
    font-size: 0.9rem;
    line-height: 1.95;
}

@media only screen and (max-width: 46.875em) {
    .card {
        margin: 0 3% 40px;
        padding: 15px;
        width: 94%;
    }
    .card-body {
        display: block;
        margin-bottom: 10px;
    }
    .card .card-title {
        display: table-cell;
        vertical-align: middle;
        padding-left: 10px;
        font-size: 1.2rem;
    }
    .card .card-txt {
        display: block;
        padding-left: 0;
    }
    .icon_inner {
        display: table-cell;
        vertical-align: middle;
    }
    .icon_number {
        width: 50px;
        height: 50px;
        font-size: 2rem;
        line-height: 1.5;
        margin-bottom: 0;
    }
    .card .card-txt p {
        line-height: 1.6;
    }
}

/* contact-seciton
─────────────────────────────────── */

#contact.section-block {
    margin-top: -50px;
    padding-top: 50px;
}

/* foating header
─────────────────────────────────── */

.header_fx {
    height: 88px;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 10px;
    background: #fff;
}

.header-logo {
    width: 17%;
    max-width: 15rem;
    margin-left: 1rem;
}

.header-logo img {
    width: 100%
}

.header_fx h1 {
    font-size: 1.8rem;
    margin-bottom: 0;
    font-weight: bold;
}

@media only screen and (max-width: 1024px) {
    .navbar {
        justify-content: center;
    }
    .header_fx {
        height: 140px;
        position: static;
    }
    .header_fx h1 {
        font-size: 1.2rem;
        padding-right: 0;
        margin-bottom: 10px;
    }
    .header-logo {
        width: 60%;
        max-width: 15rem;
        margin: 0 0 10px;
    }
}

/* foating footer
─────────────────────────────────── */

.footer_fx {
    position: fixed;
    bottom: 0px;
    left: 0px;
    width: 100%;
    background: #212121;
    text-align: center;
    padding: 1em 0;
    z-index: 999;
    display: block !important;
    visibility: visible !important;
}

.footer_fx .button {
    color: #fff;
    margin: .2em auto;
    -webkit-appearance: none;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    background: #09c;
    display: block;
    text-align: center;
    text-decoration: none;
}

.footer_fx .button:hover {
    background: #ff5c1a !important;
}

.footer_fx .btn_archives_sp {
    width: 94%;
    margin: 0 auto !important;
    text-align: center !important;
    padding: .5em .8em 0.4em .8em !important;
    font-size: 18px !important;
    font-size: 1.125rem !important;
    font-weight: 600;
}

@media only screen and (min-width: 46.875em),
print
/* 750px */

    {
    .footer_fx .btn_archives_sp {
        width: 94%;
        margin: 0 auto !important;
        text-align: center !important;
        padding: .6em .8em 0.5em .8em !important;
        font-size: 24px !important;
        font-size: 1.5rem !important;
        font-weight: 600;
    }
}

@media only screen and (min-width: 62.5em) {
    .footer_fx {
        display: none !important;
        visibility: hidden !important;
    }
    .site_footer {
        padding-bottom: 0;
    }
}

@media only screen and (min-width: 28.75em),
print {
    #content_footer_menu {
        padding: 0;
    }
}

@media only screen and (min-width: 34.375em),
print {
    .site_footer .footer_top .social_footer {
        float: right;
        text-align: right;
    }
    .site_footer .footer_top .social_footer li {
        border: none;
        display: inline;
    }
}

@media only screen and (max-width: 62.5em) {
    .site_footer .footer_bottom {
        margin-bottom: 3rem;
    }
    .site_footer .footer_content .copyright .footer_logo {
        float: none;
        padding: 0px;
        margin-top: 0.5rem;
        margin-left: auto;
        margin-right: auto;
    }
    .site_footer .footer_content .copyright p {
        float: none;
        text-align: center;
        margin: 15px 0 0 0;
    }
    .historic .carousel-inner {
        min-height: 55rem;
    }
}

/* test footer
-----------------------------------*/

.l-footer {
    background-color: #333;
}

.l-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

@media screen and (max-width: 768px) {
    .l-footer__inner {
        padding: 20px 20px 5.5rem;
    }
}

.l-footerNav__list {
    text-align: center;
    letter-spacing: -.38rem;
    margin-bottom: 20px;
    font-size: 0.95rem;
    padding-left: 0;
}

.l-footerNav__listItem {
    display: inline-block;
    letter-spacing: normal;
}

.l-footerNav__listItem a {
    display: inline-block;
    font-family: Pluto, 'Helvetica Neue', Helvetica, Arial, sans-serif;
    text-decoration: none;
    padding: 4.5px 8px;
}

.l-footerNav__listItem a:hover {
    color: #ff5c1a;
}

.l-footerAside__copy {
    color: #fff;
    float: left;
    font-family: utopia-std, Georgia;
    font-size: 0.7rem;
}

@media screen and (max-width: 768px) {
    .l-footerAside__copy {
        float: none;
        margin-bottom: 10px;
        text-align: center;
    }
}

.l-footerAside__logo {
    float: right;
    width: 150px;
}

@media screen and (max-width: 768px) {
    .l-footerAside__logo {
        float: none;
        text-align: center;
        margin: 0 auto;
    }
}

.l-footerAside__logo a {
    /*display: inline-block;*/
}

.u-cf:before,
.u-cf:after {
    content: " ";
    display: table;
}

.u-cf:after {
    clear: both;
}

.u-cf {
    *zoom: 1;
}

/* Thanks Page
─────────────────────────────────── */

.thankstext {
    margin: 10rem 0;
}

.zoomLens {
    border-radius: 200px !important;
    border: 4px solid rgba(54, 60, 62, 0.26) !important;
}

/*
.modal-content {
	padding: 0.5rem 2rem 2rem;
	background:rgba(255, 255, 255, 0.87)
	}
	
.modal-content p{
	font-size: 1.5rem;
	}
*/

button img:hover {
    opacity: 0.7;
}

@media screen and (max-width: 576px) {
    .zoomContainer {
        display: none;
    }
}

/*pagetop
─────────────────────────────────── */

.c-pagetop {
    position: fixed;
    z-index: 9999;
    right: 20px;
    bottom: 20px;
    width: 48px;
}

@media screen and (max-width: 768px) {
    .c-pagetop {
        width: 36px;
    }
}

/*help
─────────────────────────────────── */

.mb20 {
    margin-bottom: 20px !important;
}

.mb80 {
    margin-bottom: 80px !important;
}

@media only screen and (max-width: 46.875em) {
    .mb80 {
        margin-bottom: 40px !important;
    }
}

.margin-0 {
    margin-bottom: 0 !important;
}

.fw-b {
    font-weight: bold;
}

.txt-w {
    color: #fff;
}

.txt_blue {
    color: #0099cc;
}

.sp-only {
    display: none;
}

@media only screen and (max-width: 768px) {
    .sp-only {
        display: block;
    }
}

@media only screen and (max-width: 768px) {
    .pc-only {
        display: none !important;
    }
}

.col {
    flex-basis: auto;
}

/*thanks*/


#thanks .top-copy {
    margin-bottom:0;
    height:100%;
    padding-bottom:100px;
}

   