@charset "UTF-8";
/* alphainfo template stylesheet */
.tpl__alphainfo__header {
    background: #1a1a1a;
}

.tpl__alphainfo__header--inner {
    width: 93.75%;
    max-width: 1200px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    box-sizing: border-box;
    margin: 0 auto;
	height: 70px;
}

.tpl__alphainfo__header--logo {
    display: block;
    padding: 24px 0;
    width: 100px;
}

.tpl__alphainfo__header--txt {
    margin-left: auto;
    padding: 14px 0 18px;
    width: 220px;
    line-height: 0;
}

@media (max-width: 959px) {
    .tpl__alphainfo__header--txt {
        width: 250px;
    }
}

@media (max-width: 639px) {
    .tpl__alphainfo__header--logo {
        width: 80px;
    }
    .tpl__alphainfo__header--txt {
        width: 40%;
    }
}

.tpl__alphainfo__academy {
    max-width: 1200px;
    margin: 0 auto;
    background: #efefef;
    color: #000;
}

.tpl__alphainfo__academy--inner {
    padding: 50px 60px 80px 50px;
}

.tpl__alphainfo__academy--txt {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.67;
}

.tpl__alphainfo__academy--heading {
    background: #ccc;
    padding: 50px 20px 35px;
    text-align: center;
    color: #333;
    font-size: 28px;
    font-size: 1.75rem;
    font-family: "Yu Mincho", YuMincho, "游明朝", "HGS明朝", "HGP明朝", "HG明朝", serif;
    line-height: 1;
}

.tpl__alphainfo__academy--heading--logo {
    display: block;
    margin-top: 16px;
}

.tpl__alphainfo__academy--heading--logo img {
    display: block;
    margin: 0 auto;
}

.tpl__alphainfo__academy--intro--imgbox {
    margin-left: 46px;
    width: 46.1155%;
    max-width: 463px;
    float: right;
}

.tpl__alphainfo__academy--intro--spimgbox {
    display: none;
}

.tpl__alphainfo__academy--intro--heading {
    font-size: 30px;
    font-size: 1.875rem;
    line-height: 1.5;
    letter-spacing: .05em;
    margin-bottom: 30px;
    font-family: "Yu Mincho", YuMincho, "游明朝", "HGS明朝", "HGP明朝", "HG明朝", serif;
}

.tpl__alphainfo__academy--intro::after {
    content: '';
    display: block;
    clear: both;
}

.tpl__alphainfo__academy--course {
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
}

.tpl__alphainfo__academy--course--imgbox {
    flex: 0 0 39.8406%;
    max-width: 400px;
}

.tpl__alphainfo__academy--course--txtbox {
    flex: 0 1 auto;
    margin-left: 60px;
}

.tpl__alphainfo__academy--course--boxttl {
    background: #ea5504;
    display: inline-block;
    padding: 6px 20px 5px;
    color: #fff;
    font-size: 18px;
    font-size: 1.125rem;
    letter-spacing: .025em;
    line-height: 1;
}

.tpl__alphainfo__academy--course--tags {
    padding: 0;
    display: flex;
    margin-top: 30px;
    list-style: none;
}

.tpl__alphainfo__academy--course--tags li {
    border: 1px solid;
    padding: 2px 5px 1px;
    line-height: 1.2;
    box-sizing: border-box;
    font-size: 14px;
    font-size: .875rem;
}

.tpl__alphainfo__academy--course--tags li:nth-of-type(n+2) {
    margin-left: 5px;
}

.tpl__alphainfo__academy--course--tags .free {
    border-color: #5887ab;
    color: #5887ab;
}

.tpl__alphainfo__academy--course--tags .beginner {
    border-color: #f9e575;
    background: #f9e575;
    color: #3a3519;
}

.tpl__alphainfo__academy--course--tags .use {
    border-color: #a2bbea;
    color: #000;
}

.tpl__alphainfo__academy--course--tags .teacher {
    border-color: #ec9717;
    color: #6B460E;
}

.tpl__alphainfo__academy--course--tags .intermediate {
    background: #39dbcf;
    border-color: #39dbcf;
    color: #103e3a;
}

.tpl__alphainfo__academy--course--heading {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.5;
    letter-spacing: .075em;
    margin-bottom: 16px;
    margin-top: 26px;
}

.tpl__alphainfo__academy--course--spimgbox {
    display: none;
}

.tpl__alphainfo__academy--banner {
    margin-top: 80px;
    text-align: center;
}

.tpl__alphainfo__academy--banner--heading {
    font-size: 30px;
    font-size: 1.875rem;
    letter-spacing: .05em;
    font-family: "Yu Mincho", YuMincho, "游明朝", "HGS明朝", "HGP明朝", "HG明朝", serif;
}

.tpl__alphainfo__academy--banner--link {
    display: block;
    margin-top: 30px;
    transition: 0.2s;
}

.tpl__alphainfo__academy--banner--link:hover, .tpl__alphainfo__academy--banner--link:focus {
    opacity: .6;
}

.tpl__alphainfo__academy--banner--caution {
    margin-top: 16px;
}

@media (max-width: 959px) {
    .tpl__alphainfo__academy--inner {
        padding: 30px 20px 40px;
    }
    .tpl__alphainfo__academy--heading {
        padding: 40px 20px 25px;
    }
    .tpl__alphainfo__academy--heading--logo {
        margin-top: 10px;
        transform: scale(0.8);
    }
    .tpl__alphainfo__academy--intro--heading {
        font-size: 24px;
        font-size: 1.5rem;
        margin-bottom: 20px;
    }
    .tpl__alphainfo__academy--intro--heading br {
        display: none;
    }
    .tpl__alphainfo__academy--intro--imgbox {
        margin-left: 20px;
    }
}

@media (max-width: 639px) {
    .tpl__alphainfo__academy--heading {
        padding: 30px 20px 20px;
    }
    .tpl__alphainfo__academy--heading--logo {
        transform: scale(0.6);
    }
    .tpl__alphainfo__academy--intro--heading {
        font-size: 24px;
        font-size: 1.5rem;
        margin-bottom: 15px;
    }
    .tpl__alphainfo__academy--course {
        margin-top: 40px;
    }
    .tpl__alphainfo__academy--course--imgbox {
        display: none;
    }
    .tpl__alphainfo__academy--course--spimgbox {
        display: block;
        margin-top: 20px;
    }
    .tpl__alphainfo__academy--course--spimgbox img {
        width: 100%;
    }
    .tpl__alphainfo__academy--course--txtbox {
        margin-left: 0;
    }
    .tpl__alphainfo__academy--course--tags {
        margin-top: 20px;
    }
    .tpl__alphainfo__academy--course--heading {
        margin-top: 20px;
    }
    .tpl__alphainfo__academy--banner {
        margin-top: 60px;
    }
    .tpl__alphainfo__academy--banner--link {
        margin-top: 20px;
    }
    .tpl__alphainfo__academy--banner--caution {
        text-align: left;
    }
}

@media (max-width: 479px) {
    .tpl__alphainfo__academy--heading {
        font-size: 22.4px;
        font-size: 1.4rem;
    }
    .tpl__alphainfo__academy--intro--heading {
        font-size: 24px;
        font-size: 1.5rem;
        margin-bottom: 15px;
    }
    .tpl__alphainfo__academy--intro--imgbox {
        display: none;
    }
    .tpl__alphainfo__academy--intro--spimgbox {
        display: block;
        margin-bottom: 20px;
    }
    .tpl__alphainfo__academy--course--tags li {
        font-size: 13px;
        font-size: 0.8125rem;
    }
    .tpl__alphainfo__academy--banner--heading {
        font-size: 24px;
        font-size: 1.5rem;
    }
}

.tpl__alphainfo-asidebox {
    background: #ffffff;
    color: #333333;
    padding: 0px 0 30px;
}

@media screen and (max-width: 639px) {
    .tpl__alphainfo-asidebox {
        padding: 0px 0px 0px;
    }
}

.tpl__alphainfo-store + .tpl__alphainfo-store,
.tpl__alphainfo-store + .tpl__alphainfo-program, .tpl__alphainfo-program + .tpl__alphainfo-store,
.tpl__alphainfo-program + .tpl__alphainfo-program {
    margin-top: 60px;
}

.tpl__alphainfo-store--inner, .tpl__alphainfo-program--inner {
    width: 93.75%;
    max-width: 1200px;
    box-sizing: border-box;
    margin: 0 auto;
}

.tpl__alphainfo-store--heading, .tpl__alphainfo-program--heading {
    text-align: center;
    font-family: "Yu Mincho", YuMincho, "游明朝", "HGS明朝", "HGP明朝", "HG明朝", serif;
    font-size: 38px;
    font-size: 2.375rem;
    line-height: 1.34;
    font-weight: normal;
}

.tpl__alphainfo-store--txt, .tpl__alphainfo-program--txt {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.67;
}

@media screen and (max-width: 959px) {
    .tpl__alphainfo-store--heading, .tpl__alphainfo-program--heading {
        font-size: 30px;
        font-size: 1.875rem;
    }
}

@media screen and (max-width: 479px) {
    .tpl__alphainfo-store--heading, .tpl__alphainfo-program--heading {
        font-size: 24px;
        font-size: 1.5rem;
    }
}

.tpl__alphainfo-store--imgbox {
    margin: 45px 0 50px;
    display: flex;
}

.tpl__alphainfo-store--imgitem {
    flex: 0 0 50%;
}

.tpl__alphainfo-store--list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 50px;
}

.tpl__alphainfo-store--item {
    flex: 0 0 19.167%;
    transition: opacity .25s !important;
}

.tpl__alphainfo-store--item:hover {
    opacity: .8;
}

.tpl__alphainfo-store--name {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.2;
    color: #fff;
    background: #5787e4;
    height: 64px;
}

.tpl__alphainfo-store--name::before {
    content: '';
    display: inline-block;
    position: relative;
    top: -0.1em;
    margin-right: 5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 5px;
    border-color: transparent transparent transparent #fff;
}

.tpl__alphainfo-store--store-sp {
    display: none;
}

.tpl__alphainfo-store--img {
    display: block;
}

@media screen and (max-width: 1259px) {
    .tpl__alphainfo-store--name {
        font-size: 1.2vw;
        height: 4.8vw;
    }
}

@media screen and (max-width: 639px) {
    .tpl__alphainfo-store--store-sp {
        display: block;
        margin-top: 30px;
    }
    .tpl__alphainfo-store--list {
        display: none;
    }
    .tpl__alphainfo-store--name {
        font-size: 16px;
        font-size: 1rem;
        height: 48px;
    }
    .tpl__alphainfo-store--imgbox {
        margin: 30px 0;
    }
    .tpl__alphainfo-store--item {
        display: block;
    }
}

@media screen and (max-width: 479px) {
    .tpl__alphainfo-store--name {
        font-size: 14px;
        font-size: 0.875rem;
        height: 40px;
    }
    .tpl__alphainfo-store--imgbox {
        margin: 20px 0;
    }
    .tpl__alphainfo-store--store-sp {
        display: block;
        margin-top: 20px;
    }
}

.tpl__alphainfo-program--box {
    clear: both;
    display: block;
    content: '';
    margin-top: 30px;
}

.tpl__alphainfo-program--img {
    float: right;
    margin: 0 0 0 40px;
    width: 38.584%;
    transition: opacity .2s !important;
}

.tpl__alphainfo-program--img:hover {
    opacity: .8;
}

.tpl__alphainfo-program--btn {
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    margin-top: 20px;
    padding: 13px 30px 12px 30px;
    font-size: 13px;
    font-size: 0.8125rem;
    font-weight: bold;
    line-height: 1.2;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background-color: #5687f5;
    transition: opacity .2s !important;
}

.tpl__alphainfo-program--btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 15px;
    margin-top: -3.5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.5px 0 3.5px 4px;
    border-color: transparent transparent transparent #fff;
}

.tpl__alphainfo-program--btn:hover {
    color: #fff;
    opacity: .8;
}

@media screen and (max-width: 639px) {
    .tpl__alphainfo-program--img {
        display: block;
        float: none;
        margin: 0 0 30px;
        width: 100%;
    }
    .tpl__alphainfo-program--btn {
        font-size: 16px;
        font-size: 1rem;
    }
}

@media screen and (max-width: 479px) {
    .tpl__alphainfo-program--img {
        margin: 0 0 20px;
    }
    .tpl__alphainfo-program--box {
        margin-top: 20px;
    }
    .tpl__alphainfo-program--btn {
        font-size: 14px;
        font-size: 0.875rem;
    }
}

/*========================================

  #Plaza

========================================*/
#Plaza {
    padding-bottom: 0px;
}

#Plaza .heading,
#Academy .heading {
    padding: 16px 0 14px;
    background: #e06909;
}

#Plaza .heading__txt,
#Academy .heading__txt {
    position: relative;
    display: block;
    box-sizing: border-box;
    margin: 0 auto;
    padding-left: 32px;
    font-size: 175%;
    line-height: 1.2;
    color: #fff;
    max-width: 950px;
    width: 94.0594059%;
}

#Plaza .heading__txt::before,
#Academy .heading__txt::before {
    content: '';
    position: absolute;
    display: inline-block;
    top: 50%;
    left: 0;
    margin-top: -16px;
    width: 24px;
    height: 32px;
    background-image: url(../img/alphainfo/arrow_ttl.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
}

#Plaza .heading em {
    font-size: 193.8%;
}

#Plaza .sec {
    padding-top: 90px;
    position: relative;
    margin: 0 auto;
    max-width: 950px;
    width: 94.0594059%;
}

#Plaza h4 {
    margin-bottom: 25px;
    font-size: 30px;
    font-size: 1.875rem;
    line-height: 1.23;
    color: #333;
    text-align: center;
}

#Plaza .txt {
    margin-top: 25px;
    font-size: 112.5%;
    line-height: 1.5;
}

#Plaza .btn.orange {
    padding-right: 30px;
    padding-left: 30px;
}

@media screen and (max-width: 639px) {
    #Plaza .heading {
        padding: 12px 0 11px;
    }
    #Plaza .heading em {
        font-size: 156.3%;
    }
    #Plaza .sec {
        margin-top: 30px;
        padding-top: 30px;
        width: 90.625%;
    }
    #Plaza h4 {
        margin-bottom: 20px;
        font-size: 137.5%;
        line-height: 1.4;
    }
    #Plaza .txt {
        font-size: 100%;
        line-height: 1.6;
    }
    #Plaza .btn.orange {
        display: block;
        margin: 0 auto;
        width: 100%;
    }
}

@media screen and (max-width: 479px) {
    #Plaza .heading__txt,
    #Academy .heading__txt {
        font-size: 21px;
        font-size: 1.3125rem;
        padding-left: 40px;
    }
    #Academy .heading__txt img {
        width: 40%;
    }
}

/*----------------------------------------
  #Plaza .store
----------------------------------------*/
#Plaza .store .index {
    margin: 40px 0 0;
    font-size: 0;
}

#Plaza .store .item {
    display: inline-block;
    vertical-align: top;
    margin-left: 2%;
    width: 17.643%;
    text-align: right;
}

#Plaza .store .item:first-child {
    margin-left: 0;
}

#Plaza .store .item img {
    width: 100%;
    height: auto;
}

#Plaza .store .index span {
    display: block;
    margin-top: 5px;
    font-size: 16px;
}

#Plaza .store .index span a:before {
    position: relative;
    display: inline-block;
    top: -0.08em;
    margin-right: 5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 9px;
    border-color: transparent transparent transparent #000;
    content: '';
}

#Plaza .store .index span a:hover {
    text-decoration: underline;
}

#Plaza .store p.note {
    margin-bottom: 40px;
}

@media screen and (max-width: 639px) {
    #Plaza .store .index {
        margin-top: 10px;
    }
    #Plaza .store .item {
        margin: 4% 0 0 3.5%;
        width: 31%;
    }
    #Plaza .store .item:nth-child(3n+1) {
        margin-left: 0;
    }
}

@media screen and (max-width: 479px) {
    #Plaza .store .item {
        margin: 4% 0 0 4% !important;
        width: 48%;
    }
    #Plaza .store .item:nth-child(2n+1) {
        margin-left: 0 !important;
    }
}

#Ques .inner {
    max-width: 950px;
    margin: 0 auto;
}

@media screen and (max-width: 639px) {
    #Ques .inner {
        width: 90.625%;
    }
}

#Ques .section-title {
    font-size: 36px;
    font-size: 2.25rem;
}

@media screen and (max-width: 639px) {
    #Ques .section-title {
        font-size: 24px;
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 639px) {
    .academy-recommend .academy-heading {
        font-size: 24px;
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 374px) {
    .academy-recommend .academy-heading {
        font-size: 20px;
        font-size: 1.25rem;
    }
}

/* End alphainfo template stylesheet */
body {
    font-family: YuGothic, '游ゴシック','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
    min-width: 1260px;
}

@media screen and (max-width: 639px) {
    body {
        min-width: 320px;
    }
}

.serif, .mainvisual__txtbox, .intro-frame__heading, .alphatxt, .alpha {
    font-family: "Yu Mincho", YuMincho, "游明朝", "HGS明朝", "HGP明朝", "HG明朝", serif;
}

a {
    display: block;
}

a.fade {
    transition: 0.2s;
}

a.fade:hover,
a.fade:focus {
    opacity: .6;
}

.sp {
    display: none;
}

@media screen and (max-width: 639px) {
    .sp {
        display: block;
    }
    .pc {
        display: none;
    }
}

.mainvisual {
    position: relative;
}

.mainvisual__txtbox {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    min-width: 1200px;
    text-align: center;
    background: rgba(0, 0, 0, 0.7);
    padding: 40px 30px;
}

.mainvisual__txt {
    color: #fff;
    font-size: 21px;
    font-size: 1.3125rem;
    line-height: 1.9;
}
@media screen and (max-width: 1750px) {
	.mainvisual__txtbox {
		padding: 30px 30px;
	}
}

@media screen and (max-width: 639px) {
    .mainvisual__txtbox {
        min-width: 320px;
        position: relative;
        background: #000;
        padding: 40px 0;
    }
    .mainvisual__txt {
        width: 90.625%;
        margin: 0 auto;
        text-align: left;
    }
    .mainvisual h1 img {
        margin: 0 0 0 -45%;
    }
}

@media screen and (max-width: 479px) {
    .mainvisual__txt {
        font-size: 18px;
        font-size: 1.125rem;
    }
}

.serif, .mainvisual__txtbox, .intro-frame__heading {
    font-family: 'Noto Serif JP', serif;
}

.intro-ttl,
.intro-txt,
.intro-frame__heading {
    color: #333;
    text-shadow: none;
}

.intro-ttl {
    font-size: 32px;
    font-size: 2rem;
    letter-spacing: .12em;
}

.intro-txt {
    font-size: 21px;
    font-size: 1.3125rem;
    line-height: 1.9;
    letter-spacing: .06em;
}

.intro-frame {
    margin-top: 50px;
}

.intro-frame__heading {
    text-align: center;
    font-size: 18px;
    font-size: 1.125rem;
    letter-spacing: .15em;
}

.intro-frame__inner {
    display: flex;
    margin-top: 40px;
    justify-content: center;
}

.intro-frame__imgbox {
    background: #000;
    order: 2;
    overflow: hidden;
}

.intro-frame__imgbox img {
    height: 100%;
    width: auto;
}

.intro-frame__txtbox {
    max-width: 370px;
    padding: 18px 24px;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    font-size: 14px;
    font-size: 0.875rem;
    order: 1;
}

.intro-frame__txt {
    margin-top: 10px;
}

@media screen and (max-width: 639px) {
    .intro-ttl {
        font-size: 28px;
        font-size: 1.75rem;
    }
    .intro-txt {
        margin-top: 30px;
    }
    .intro-frame__inner {
        display: block;
        background: rgba(0, 0, 0, 0.8);
        padding: 20px;
    }
    .intro-frame__imgbox {
        width: 40%;
        margin: 0 auto;
    }
    .intro-frame__txtbox {
        background: transparent;
        padding: 0;
        max-width: 100%;
        margin-top: 20px;
    }
    .intro-frame__imgbox img {
        height: auto;
        width: 100%;
    }
}

@media screen and (max-width: 479px) {
    .intro-ttl {
        font-size: 24px;
        font-size: 1.5rem;
    }
    .intro-frame {
        margin-top: 30px;
    }
    .intro-frame__inner {
        margin-top: 20px;
    }
    .intro-frame__txtbox {
        max-width: 100%;
    }
    .intro-frame__imgbox {
        width: 60%;
        margin: 0 auto;
    }
    .intro-txt {
        font-size: 18px;
        font-size: 1.125rem;
    }
}

.content {
    background: #181818;
    color: #fff;
}

.content--first {
    background-image: url(../img/menu_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    padding: 70px 0 100px;
}

.content--heading,
.content--first {
    text-align: center;
}

.content--heading {
    font-size: 44px;
    font-size: 2.75rem;
    background: #8e9745;
    color: #fff;
    padding: 24px 30px 30px;
    letter-spacing: .12em;
}

.content--txt {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 2;
    letter-spacing: -.02em;
}

.content--nav {
    max-width: 1200px;
    margin: 70px auto 0;
    padding: 0 30px;
}

.content--nav img {
    max-width: 100%;
}

.content--nav__heading {
    font-size: 32px;
    font-size: 2rem;
    letter-spacing: .12em;
}

.content--nav__list {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}

.content--nav__list::after {
    content: none;
}

.content--nav__item {
    flex: 0 0 17.5%;
}

@media screen and (max-width: 639px) {
    .content--heading {
        font-size: 28px;
        font-size: 1.75rem;
        padding: 16px 20px;
    }
    .content--first {
        padding: 35px 0 50px;
        background-position: left -100px center;
    }
    .content--txt,
    .content--nav {
        width: 90.625%;
        margin: 0 auto;
    }
    .content--txt {
        text-align: left;
    }
    .content--nav {
        padding: 0;
        margin-top: 35px;
    }
    .content--nav__heading {
        font-size: 28px;
        font-size: 1.75rem;
    }
    .content--nav__list {
        margin-top: 20px;
    }
}

@media screen and (max-width: 479px) {
    .content--heading {
        font-size: 22px;
        font-size: 1.375rem;
    }
    .content--txt {
        font-size: 18px;
        font-size: 1.125rem;
    }
    .content--nav__heading {
        font-size: 24px;
        font-size: 1.5rem;
    }
    .content--nav__list {
        flex-wrap: wrap;
        justify-content: center;
    }
    .content--nav__item {
        flex: 0 0 30%;
        margin-left: 3%;
    }
    .content--nav__item:nth-of-type(n+4) {
        margin-top: 3%;
    }
    .content--nav__item:nth-of-type(3n+1) {
        margin-left: 0;
    }
}

.section:first-of-type {
    margin-top: 100px;
}

.section + .section {
    margin-top: 180px;
}

.section--meta {
    max-width: 1200px;
    padding: 0 30px;
    margin: 0 auto;
    display: flex;
}

.section--meta .img {
    flex: 0 0 auto;
}

.section--meta .txt {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    padding: 0 60px 0 50px;
    box-sizing: border-box;
    border-top: 1px solid;
    border-right: 1px solid;
    border-bottom: 1px solid;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 2;
    letter-spacing: -.05em;
}

#s1 .section--meta .txt {
    border-color: #974579;
}

#s2 .section--meta .txt {
    border-color: #8e9745;
}

#s3 .section--meta .txt {
    border-color: #c24040;
}

#s4 .section--meta .txt {
    border-color: #4071c2;
}

#s5 {
    padding-bottom: 180px;
}

#s5 .section--meta .txt {
    border-color: #459760;
}

@media screen and (max-width: 639px) {
    .section,
    .acc {
        width: 90.625%;
        margin: 0 auto;
    }
    .section:first-of-type {
        margin-top: 50px;
    }
    .section + .section {
        margin-top: 120px;
    }
    #s5 {
        padding-bottom: 120px;
    }
    .section--meta {
        display: block;
        padding: 0;
    }
    .section--meta::after {
        clear: both;
        content: '';
        display: block;
    }
    .section--meta .img {
        width: 25%;
        float: left;
        margin: 0 20px 10px 0;
    }
    .section--meta img {
        width: 100%;
    }
    .section--meta .txt {
        display: block;
        padding: 20px;
        border-left: 1px solid;
    }
}

@media screen and (max-width: 479px) {
    .section--meta .img {
        width: 100%;
		margin: 0 0 10px;
		overflow: hidden;
    }
	.section--meta .img img {
        width: 40%;
		margin: 0 30%;
    }
	#s1 .section--meta .img {
		background-color: #974579;
    }
	#s2 .section--meta .img {
		background-color: #8e9745;
    }
	#s3 .section--meta .img {
		background-color: #c24040;
    }
	#s4 .section--meta .img {
		background-color: #4071c2;
    }
	#s5 .section--meta .img {
		background-color: #459760;
    }
	
}

.block {
    max-width: 950px;
    margin: 50px auto 0;
}

.block + .block {
    margin-top: 80px;
}

.block--heading,
.block--2col__heading {
    letter-spacing: .12rem;
    display: flex;
    align-items: center;
}

.block--heading {
    font-size: 40px;
    font-size: 2.5rem;
    justify-content: center;
}

.block--2col__heading {
    font-size: 34px;
    font-size: 2.125rem;
    line-height: 1.2;
}

.block--2col .img-box-sp {
    display: none;
}

.block--heading .txt {
    margin-left: 32px;
}

.block--2col__heading .txt {
    margin-left: 18px;
}

.block--2col {
    margin-top: 100px;
    display: flex;
}

.block--2col .mod-txt {
    color: #fff;
    margin-top: 20px;
}

.block--2col .txt-box {
    flex: 0 1 auto;
    margin-right: 2.947%;
}

.block--2col .img-box {
    flex: 0 0 50%;
}

.block--img {
    margin-top: 46px;
}

.block--txt {
    color: #fff;
    margin-top: 40px;
}

.block--point {
    margin-top: 50px;
}

.mod-img.large + .mod-txt {
    margin-top: 40px;
}

.bg-white {
    margin-top: 80px;
    background: #ececec;
    color: #000 !important;
}

.bg-white .mod-txt {
    color: #000;
}

.mod-sub {
    padding: 40px 40px 50px;
}

.mod-sub .mod-ttl {
    font-size: 24px;
    font-size: 1.5rem;
    letter-spacing: .06em;
}

.mod-sub-flexbox {
    display: flex;
    margin-top: 26px;
}

.mod-sub-flexbox .mod-txt {
    flex: 0 0 40.22%;
    margin-right: 4.59%;
    line-height: 1.67;
}

.mod-sub-flexbox .mod-img {
    flex: 0 1 auto;
    display: flex;
    justify-content: center;
}

.mod-sub-flexbox .mod-img figure {
    margin: 0;
}

.mod-sub-flexbox .mod-img.two-col figure {
    flex: 1 1 40%;
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .mod-sub-flexbox .mod-img.two-col figure {
		flex: 1 1 237px;
	}
}

.mod-sub-flexbox .mod-img.two-col figure:last-of-type {
    margin-left: 6px;
}

.mod-sub-flexbox figcaption {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.2;
    margin-top: 6px;
}

@media screen and (max-width: 639px) {
    .block--heading,
    .block--2col__heading {
        font-size: 28px;
        font-size: 1.75rem;
        letter-spacing: .12em;
        line-height: 1.5;
    }
    .block--heading .img,
    .block--2col__heading .img {
        width: 20%;
    }
    .block--heading img,
    .block--2col__heading img {
        width: 100%;
    }
    .block--heading .txt,
    .block--2col__heading .txt {
        margin-left: 20px;
    }
    .block--img {
        margin-top: 30px;
    }
    .block--txt {
        margin-top: 20px;
    }
    .block--point {
        margin-top: 25px;
    }
    .block--point .bg-white {
        margin-top: 0;
        padding: 20px;
    }
    .block--point .bg-white li {
        list-style: decimal;
        line-height: 1.5;
        margin-left: 1.5em;
    }
    .block--point .bg-white li:nth-of-type(n+2) {
        margin-top: 1em;
    }
    .block--2col__heading {
        justify-content: center;
    }
    .block--2col .img-box {
        display: none;
    }
    .block--2col .img-box-sp {
        display: block;
        margin-top: 20px;
    }
    .block--2col .txt-box {
        margin-right: 0;
    }
    .bg-white {
        margin-top: 40px;
    }
    .mod-sub {
        padding: 20px 20px 30px;
    }
    .mod-sub .mod-ttl {
        font-size: 22px;
        font-size: 1.375rem;
    }
    .mod-sub-flexbox {
        display: block;
    }
    .mod-sub-flexbox .mod-txt {
        margin-right: 0;
    }
    .mod-sub-flexbox .mod-img {
        margin-top: 20px;
    }
}

@media screen and (max-width: 479px) {
    .block + .block {
        margin-top: 60px;
    }
    .block--heading,
    .block--2col__heading {
        display: block;
    }
    .block--heading .img,
    .block--2col__heading .img {
        margin: 0 auto;
        display: block;
        width: 30%;
    }
    .block--heading .txt,
    .block--2col__heading .txt {
        display: block;
        margin: 20px 0 0;
        font-size: 24px;
        font-size: 1.5rem;
        text-align: center;
    }
}

.camera-box {
    padding: 40px 40px 50px 50px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.camera-box .txt-box {
    flex: 0 1 auto;
}

.camera-box__ttl {
    font-size: 24px;
    font-size: 1.5rem;
}

.camera-box__sub {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.5;
    margin-top: 30px;
}

.camera-box__p-name {
    font-size: 21px;
    font-size: 1.3125rem;
    margin-top: 16px;
    line-height: 1.2;
}

.camera-box__p-number {
    font-size: 15px;
    font-size: 0.9375rem;
    margin-top: 4px;
    line-height: 1.2;
}

.camera {
    margin-left: 20px;
    flex: 0 0 39.069%;
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, #s2 .camera {
		flex: 0 0 416px;
	}
}

.camera.large {
    flex: 0 0 48.372%;
}

.btn-box {
    display: flex;
    margin-top: 20px;
    max-width: 380px;
}

.btn-box .btn {
    flex: 1 1 40%;
}

.btn {
    font-size: 13px;
    font-size: 0.8125rem;
    transition: .25s !important;
}

.btn:hover,
.btn:focus {
    background: #656565;
    opacity: 1;
}

.btn.orange {
    background: #e06909;
}

.btn.orange:hover,
.btn.orange:focus {
    background: #f7913e;
}

.btn.arrow {
    position: relative;
}

.btn.arrow::before {
    content: '';
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.5px 0 3.5px 4px;
    border-color: transparent transparent transparent #ffffff;
    top: 50%;
    transform: translateY(-50%);
}

.btn-box .btn:nth-of-type(n+2) {
    margin-left: 8px;
}

@media screen and (max-width: 639px) {
    .camera-box {
        padding: 20px 20px 30px;
        display: block;
    }
    .camera-box__ttl {
        text-align: center;
    }
    .camera {
        width: 70%;
        margin: 30px auto 0;
        text-align: center;
    }
    .camera.large {
        width: 90%;
    }
    .camera img {
        width: 100%;
    }
    .camera-box .btn-box {
        max-width: 100%;
    }
    .mod-sub-flexbox figcaption {
        font-size: 16px;
        font-size: 1rem;
        margin-top: 1em;
        line-height: 1.34;
    }
}

/* comment-box */
.comment-box {
    padding: 40px;
    margin-top: 80px;
}

.comment-box__inner {
    display: flex;
}

.comment-box__txtbox {
    flex: 0 1 auto;
}

.comment-box__ttl {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.67;
    letter-spacing: .06em;
    margin-bottom: 25px;
}

.comment-box__txt {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.8;
}

.comment-box__imgbox {
    flex: 0 0 182px;
    margin-left: 20px;
}

.comment-box__imgbox img {
    width: 100%;
}

.comment-box__caption {
    margin-top: 4px;
    text-align: center;
}

.comment-box__caption span {
    font-size: 14px;
    font-size: 0.875rem;
}

.comment-box__caption .caption-ttl {
    font-size: 18px;
    font-size: 1.125rem;
}

@media screen and (max-width: 639px) {
    .comment-box {
        margin-top: 40px;
        padding: 20px;
    }
    .comment-box__inner {
        flex-wrap: wrap;
        justify-content: center;
    }
    .comment-box__ttl {
        flex: 0 0 100%;
        font-size: 22px;
        font-size: 1.375rem;
    }
    .comment-box__imgbox {
        flex: 0 0 40%;
        margin: 0;
    }
}

@media screen and (max-width: 479px) {
    .comment-box__imgbox {
        width: 60%;
        margin: 20px auto 0;
    }
    .comment-box__inner {
        display: block;
    }
}

.white-layer {
    position: relative;
}

.white-layer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    transition: background-color .25s;
}

.white-layer:hover::before {
    background-color: rgba(255, 255, 255, 0.3);
}

.acc {
    max-width: 1200px;
    padding: 0 30px;
    margin: 0 auto;
}

.acc--inner {
    padding: 50px 0 120px;
    border-top: 1px solid #4d4d4d;
}

.acc--heading {
    font-size: 32px;
    font-size: 2rem;
    letter-spacing: .06em;
    text-align: center;
}

.acc--name {
    font-size: 21px;
    font-size: 1.3125rem;
}

.acc--name .small {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.2;
    display: block;
    margin-bottom: 8px;
}

.acc--caption {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.5;
}

.acc--list {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.acc--item {
    flex: 0 0 22.833%;
}

.acc--item:not(:nth-of-type(4n+1)) {
    margin-left: 2.88%;
}

.acc--item:last-of-type {
    flex: 0 1 auto;
    margin-left: auto;
}

.acc--item:nth-of-type(-n+4) .acc--box {
    min-height: 0px;
}

.acc--item:nth-of-type(n+5) {
    margin-top: 100px;
}

.acc--item .btn-wrap {
    max-width: 184px;
    margin-top: 16px;
}

.acc--item .btn {
    width: 100%;
}

.acc--box {
    margin-top: 16px;
}

@media screen and (max-width: 639px) {
    .acc {
        padding: 0;
    }
    .acc--inner {
        padding: 30px 0 60px;
    }
    .acc--heading {
        font-size: 28px;
        font-size: 1.75rem;
    }
    .acc--list {
        margin-top: 30px;
    }
    .acc--item {
        flex: 0 1 48%;
        padding-bottom: 40px;
        position: relative;
    }
    .acc--item img {
        width: 100%;
    }
    .acc--item:nth-of-type(odd) {
        margin-left: 0;
    }
    .acc--item:nth-of-type(even) {
        margin-left: 4%;
    }
    .acc--item:nth-of-type(n+3) {
        margin-top: 60px;
    }
    .acc--item:last-of-type {
        flex: 0 0 100%;
    }
    .acc--box {
        min-height: 0 !important;
        padding-bottom: 20px;
    }
    .acc--item .btn-wrap {
        position: absolute;
        bottom: 0;
        max-width: 100%;
        width: 100%;
    }
}

@media screen and (max-width: 479px) {
    .acc--heading {
        font-size: 24px;
        font-size: 1.5rem;
    }
    .acc--name {
        font-size: 18px;
        font-size: 1.125rem;
    }
    .acc--name span {
        min-height: 2.4em;
    }
    .acc--caption {
        margin-top: 10px;
    }
}

@media screen and (max-width: 479px) {
    .btn {
        transition: none;
    }
    .btn:hover,
    .btn:focus {
        background: #3f3f3f !important;
    }
    .btn.orange:hover,
    .btn.orange:focus,
    #Ques .btn:hover,
    #Ques .btn:focus {
        background: #e06909 !important;
    }
    .imgBox__zoom::before {
        content: none;
    }
    .white-layer::before {
        content: none;
    }
    .fade:hover,
    .fade:focus {
        opacity: 1 !important;
    }
}
