@charset "utf-8";

@import url("https://use.typekit.net/ioe7fuk.css");

/* Base
---------------------------------------*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}
html {
    font-size: 62.5%
}
html,　body {
    width: 100%;
    height: 100%
}
body {
    line-height: 1.3;
    font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', 'HiraginoKakuGothic ProN', 'Yu Gothic', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    color: #666666;
}
img {
    display: inline-block;
    margin: 0;
    width: 100%;
    height: auto;
    line-height: 0;
    font-size: 0
}
figure {
    display: block;
    margin: 0
}
ul,　li {
    list-style: none
}

a {
    display: inline-block;
    width: auto;
    height: 100%;
    color: #666666;
    text-decoration: underline;
    border: none;
    outline: none;
    cursor: pointer;
}
a:hover {
    text-decoration: none;
}
h1, h2, h3, h4 {
    margin: 0;
    font-weight: normal;
}
p {
    line-height: 1.45
}
p + p {
    margin-top: 2rem
}
input, button {
    border: none;
    outline: none;
}

/* Module
---------------------------------------*/
/* Inner */
.inner {
    width: 100%;
    padding: 0 5%;
}
@media screen and (min-width : 949px) {
    .inner {
        width: 100%;
        max-width: 1040px;
        margin: 0 auto;
        padding: 0;
    }
}

/* responsive */
.sp-obj { display: block; }
.pc-obj { display: none; }
@media screen and (min-width : 768px) {
    .sp-obj { display: none; }
    .pc-obj { display: block; }
}

/* Margin */
.mt0 { margin-top: 0!important }
.mt1 { margin-top: 1rem!important }
.mt1-5 { margin-top: 1.5rem!important }
.mt2 { margin-top: 2rem!important }
.mt3 { margin-top: 3rem!important }
.mt4 { margin-top: 4rem!important }
.mt5 { margin-top: 5rem!important }
.mt6 { margin-top: 6rem!important }
.mt7 { margin-top: 7rem!important }
.mt8 { margin-top: 8rem!important }
.mt9 { margin-top: 9rem!important }
.mt10 { margin-top: 10rem!important }
.mt15 { margin-top: 15rem!important }

.mb0 { margin-bottom: 0!important }
.mb1 { margin-bottom: 1rem!important }
.mb2 { margin-bottom: 2rem!important }
.mb3 { margin-bottom: 3rem!important }
.mb4 { margin-bottom: 4rem!important }
.mb5 { margin-bottom: 5rem!important }
.mb6 { margin-bottom: 6rem!important }
.mb7 { margin-bottom: 7rem!important }
.mb8 { margin-bottom: 8rem!important }
.mb9 { margin-bottom: 9rem!important }
.mb10 { margin-bottom: 10rem!important }
.mb15 { margin-bottom: 15rem!important }

/* Align */
.tal { text-align: left !important }
.tar { text-align: right !important }
.tac { text-align: center !important }

/* Text */
.lead-txt {
    margin-bottom: 2rem;
}
.bigger-txt {
    font-size: 1.8rem;
}
.caption-txt {
    margin: .5rem auto 0;
}
.bold-txt {
    font-weight: 700;
}

/* List */
.plain-list {
    text-indent: -1em;
    margin-left: 1em;
}
.plain-list > li + li {
    margin-top: 1rem;
}

.dot-list {
    list-style: none;
    margin: 10px 0;
}
.dot-list > li {
    position: relative;
    list-style: none;
    padding: 0 0 0 1rem;
}
.dot-list > li + li {
    margin: .5rem 0 0;
}
.dot-list > li::before {
    content: '';
    display: block;
    position: absolute;
    top: .9rem;
    left: 0;
    width: 4px;
    height: 4px;
    margin: 0 1rem 0 0;
    border-radius: 2px;
    background: #2d2d2d;
}

/* Layout
---------------------------------------*/
body {
    display: flex;
    flex-flow: column nowrap;
}
.wrapper {
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    min-height: 100vh;
    background: #fff;
}
@media screen and (max-width : 767px) {
    body, .wrapper {
        display: block;
    }
}

/* Header
---------------------------------------*/
.header {
    position: relative;
    /*height: 73px;*/
}
.header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1.6rem 2rem 1.4rem;
    line-height: 1;
}
@media screen and (min-width : 768px) {
    .header {
        position: relative;
        height: 88px;
        z-index: 100;
    }
    .header_inner {
        position: relative;
        height: 100%;
        margin: 0 auto;
        padding: 1.2rem 5rem 1rem;
    }
}

/* header_ttl */
.header_ttl {
    display: flex;
    align-items: center;
    width: 100%;
}
.header_ttl_logo {
    width: auto;
    line-height: 0;
}
.header_ttl_logo span {
    display: block;
    margin: 0 auto;
    width: 112px;
    font-size: 0;
    line-height: 0;
}
.header_ttl_logo .group {
    margin-top: .6rem;
}
.header_ttl_sub {
    margin: .5rem 0 0 1.6rem;
    padding: .5rem 1.4rem;
    font-family: aktiv-grotesk-condensed, 'Helvetica Neue', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    border-left: solid 1px #CCCCCC;
}
.header_ttl_sub span {
    display: block;
}
@media screen and (min-width : 768px) {
    .header_ttl {
        width: auto;
    }
    .header_ttl_logo span {
        width: 150px;
        height: 31px;
    }
    .header_ttl_logo .group {
        width: 100px;
        margin-top: .8rem;
    }
    .header_ttl_sub {
        margin: .1rem 0 0 3.3rem;
        padding: 0.48rem 3.3rem;
        font-size: 2.2rem;
 }
}

/* header_global */
.header_global {
    padding: .2rem 0 0;
}
.header_global a {
    display: block;
    width: auto;
    width: 28px;
    height: 28px;
    padding: 0;
    font-family: aktiv-grotesk-condensed, 'Helvetica Neue', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    background: url(../images/common/icon_global.svg) no-repeat center 0;
    background-size: 28px;
    line-height: 1;
}
.header_global a span {
    display: none;
}
@media screen and (min-width : 768px) {
    .header_global {
        padding: 0;
        margin-top: 0;
    }
    .header_global a {
        width: auto;
        padding: .6rem 0 .6rem 3.4rem;
        font-size: 1.8rem;
        font-weight: 600;
        background-position: 0 center;
        background-size: 23px;
    }
    .header_global a:hover {
        text-decoration: underline;
    }
    .header_global a span {
        display: block;
    }
}

/* Contents
---------------------------------------*/
.contents {
    flex: 1 0 auto;
}
.contents > .inner {
    max-width: 950px;
    margin: 0 auto;
    padding: 3.0rem 2rem 5rem;
}
.contents img {
    width: 100%;
}
@media screen and (min-width : 768px) {
    .contents > .inner {
        width: 100%;
        padding: 4.5rem 0 8rem;
    }
}

/* 1 column */
.column-one-template main {
    width: 100%;
}

/* 2 column */
.column-two-template {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.column-two-template main {
    width: 77%;
}
.column-two-template aside {
    width: 21%;
}

@media screen and (max-width : 767px) {
    .column-two-template {
        display: block;
    }
    .column-two-template main {
        width: 100%;
    }
    .column-two-template aside {
        margin: 5rem 0 0;
        width: 100%;
    }
}

/* Footer
---------------------------------------*/
.footer {
    font-family: aktiv-grotesk-condensed, 'Helvetica Neue', sans-serif;
}

/* footer_bottom */
.footer_bottom {
    padding: 2rem 0;
    font-size: 1.5rem;
    color: #666;
}
.footer_logo {
    margin: 0 auto 2rem;
    text-align: center;
}
.footer_logo a {
    display: block;
    font-size: 0;
}
.footer_logo img {
    width: 112px;
}
.footer_bottom_list {
    display: flex;
    justify-content: center;
}
.footer_bottom_list_item + .footer_bottom_list_item {
    margin-left: 3rem;
}
.footer_bottom_list_item a {
    display: block;
    position: relative;
    padding: 0 0 0 18px;
    color: #666;
    text-decoration: none
}
.footer_bottom_list_item a::before {
    content: '';
    display: block;
    position: absolute;
    top: .5rem;
    left: 0;
    width: 6px;
    height: 6px;
    border-right: solid 2px #0099ff;
    border-bottom: solid 2px #0099ff;
    transform: rotate(-45deg);
}
.footer_copyright {
    margin: 2.5rem auto 0;
    text-align: left;
    font-size: 1.2rem;
}

@media screen and (min-width : 768px) {
    .footer_bottom {
        padding: 3rem 0 4rem;
    }
    .footer_bottom > .inner {
        position: relative;
        display: flex;
        max-width: 100%;
        padding: 0 5rem;
    }
    .footer_logo {
        margin: 42px 5% 0 0;
    }
    .footer_logo img {
        width: 112px;
    }
    .footer_bottom_list {
        display: flex;
        justify-content: flex-start;
        align-items: flex-end;
    }
    .footer_bottom_list_item a:hover {
        text-decoration: underline;
    }
    .footer_copyright {
        margin: 0 0 0 auto;
        text-align: right;
    }
}

/* icon blank */
a.c-icon-blank {
    display: inline-block;
    position: relative;
}
a.c-icon-blank:after {
    position: relative;
    display: inline-block;
    width: 13px;
    height: 13px;
    margin-left: 5px;
    background: url(/assets/images/icon/ico_blank_gray_01.png) no-repeat;
    background-size: 13px;
    content: '';
}