@charset "UTF-8";
[id=guide]:target::before {
    display: block;
    position: fixed;
    width: 1px;
    height: 100%;
    background: #0ff;
    left: 50%;
    top: 0;
    z-index: 10000;
    content: "";
    margin-left: -1px;
    box-shadow: -500px 0 0 0 #0ff, 500px 0 0 0 #0ff
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 100
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 200
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 300
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 400
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Bold");
    font-weight: 700
}

@font-face {
    font-family: "Helvetica Neue";
    src: local("Helvetica Neue Regular");
    font-weight: 100
}

@font-face {
    font-family: "Helvetica Neue";
    src: local("Helvetica Neue Regular");
    font-weight: 200
}

body {
    font-family: "Hiragino Kaku Gothic ProN", Meiryo, "Yu Gothic", YuGothic, Verdana, "M+ 1p", sans-serif
}

@media all and (-ms-high-contrast:none) {
    body {
        font-family: Verdana, Meiryo, sans-serif
    }
}

*,
::after,
::before {
    margin: 0;
    padding: 0;
    list-style: none;
    background-repeat: no-repeat;
    box-sizing: inherit;
    vertical-align: inherit
}

body,
html {
    height: 100%
}

body {
    font-size: 18px;
    line-height: 1.6;
    -webkit-text-size-adjust: 100%;
    vertical-align: baseline;
    box-sizing: border-box;
    -webkit-font-feature-settings: 'palt' 1;
    font-feature-settings: 'palt' 1;
    text-align: center
}

a {
    text-decoration: none
}

a,
a img,
button {
    outline: 0;
    border: none;
    cursor: pointer
}

img {
    vertical-align: bottom
}

a:hover,
button:hover {
    outline: 0
}

#btn_more {
    display: none
}

.btn_conv {
    margin: 0 auto 80px
}

.btn_conv a {
    font-size: 130%;
    display: inline-block;
    color: #fff;
    background-color: #633792;
    padding: .5em 2em;
    text-indent: .2em;
    letter-spacing: .2em;
    border-radius: 2em
}

.btn_conv a:hover {
    background-color: #774ba6
}
.pc{
  display: block;
}
.sp{
  display: none;
}
.campaign-1 {
    width: 80%;
    margin: 3rem auto 1rem;
}
@media all and (max-width:580px) {
    .btn_conv a {
        font-size: 100%
    }
}

@media all and (max-width:430px) {
    .btn_conv a {
        font-size: 80%;
        font-weight: 700;
        padding: .5em 1em;
        text-indent: .1em;
        letter-spacing: .1em
    }
    .pc{
    display: none;
  }
  .sp{
    display: block;
  }
}

@media all and (max-width:500px) {
    .btn_conv {
        margin: 0 auto 40px
    }
}

.blockTopics {
    display: block;
    padding: 0 10px
}

.blockTopics li {
    text-align: left;
    padding: 10px 0;
    border-bottom: 1px solid #633792
}

.blockTopics li:first-child {
    border-top: 1px solid #633792
}

.blockTopics li small:first-child {
    display: block;
    color: #aaa;
    margin-bottom: .5em
}

.blockTopics li strong {
    display: block;
    font-size: 105%;
    font-weight: 700
}

.blockTopics li a {
    color: #633792
}

.blockTopics li a.pdf::after {
    content: url(../img/icon_pdf.svg);
    display: inline-block;
    width: 1.5em;
    vertical-align: middle;
    margin-left: .5em
}

.blockTopics li a:hover {
    opacity: .7
}

.blockTopics.one {
    display: block;
    width: 20em
}

.blockTopics.one li {
    width: 100%
}

.blockTopics.two {
    width: 45em
}

.blockTopics.two li {
    width: 50%
}

@media all and (max-width:910px) {
    .blockTopics.one,
    .blockTopics.two {
        width: auto
    }
    .blockTopics.one li,
    .blockTopics.two li {
        width: auto
    }
}

@media all and (max-width:600px) {
    .blockTopics li {
        font-size: .8em
    }
}

.capsule {
    font-size: 15px;
    line-height: 1.4;
    vertical-align: top;
    display: inline-block;
    width: 266px;
    height: 620px;
    border-radius: 130px;
    border: 2px solid #633792;
    overflow: hidden;
    margin: 10px 12px;
}
#staff .capsule{
    height: 945px;/*680px*/
}
.capsule dt img {
    width: 100%
}

.capsule dd {
    border-top: 2px solid #633792;
    padding: 1em .5em 1em;
    padding-bottom: 55px
}

@media all and (max-width:780px) {
    .capsule {
        margin: 10px
    }
}

@media all and (max-width:720px) {
    .capsule {
        width: auto;
        height: auto;
        display: block;
        font-size: 13px;
        margin: 10px 0;
        border-radius: 10px;
        text-align: left
    }
    .capsule dt {
        width: 50%;
        padding: 10px;
        padding-right: 0;
        float: left
    }
    .capsule dd {
        width: 50%;
        float: right;
        border-top: none
    }
    #staff .capsule{
        height: auto;
    }
}

#fee,
#staff {
    font-size: 0;
    margin: auto;
    max-width: 870px
}

@media all and (max-width:720px) {
    #fee,
    #staff {
        padding: 0 10px
    }
}

#fee .capsule dd {
    padding-bottom: 1em
}

.block_circle {
    max-width: 800px;
    margin: auto
}

.block_circle dl {
    display: inline-block;
    width: 360px;
    padding: 0 20px;
    margin-bottom: 5%;
    vertical-align: top
}

.block_circle dl dt {
    font-size: 1.2em;
    font-weight: 700;
    margin-bottom: .5em
}

.block_circle dl dd {
    text-align: justify;
    font-size: .85em
}

.block_circle dl img {
    display: block;
    width: 100%;
    margin-bottom: .5em
}

@media all and (max-width:600px) {
    .block_circle {
        width: auto
    }
    .block_circle dl {
        width: 45%;
        padding: 0 5px
    }
    .block_circle dl dt {
        font-size: .9em
    }
    .block_circle dl dd {
        font-size: .6em
    }
}

table.wide {
    width: 800px;
    margin: 30px auto;
    border-collapse: collapse;
    border-bottom: 1px solid #000
}

@media all and (max-width:800px) {
    table.wide {
        display: none
    }
}

table.wide td,
table.wide th {
    border: 1px solid #000;
    border-bottom: none;
    vertical-align: middle;
    padding: .4em
}

table.wide tr:last-child td {
    padding-top: 0;
    border-top: none
}

table.wide tr td:first-child,
table.wide tr th:first-child {
    border-left: none
}

table.wide tr td:last-child,
table.wide tr th:last-child {
    border-right: none
}

table.wide th span {
    display: block;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg)
}

table.fit {
    display: none;
    font-size: 80%;
    width: 100%;
    margin: 30px auto;
    border-collapse: collapse
}

@media all and (max-width:800px) {
    table.fit {
        display: table
    }
}

table.fit td,
table.fit th {
    border: 1px solid #000;
    vertical-align: middle;
    padding: .4em
}

table.fit tr td:first-child,
table.fit tr th:first-child {
    border-left: none
}

table.fit tr td:last-child,
table.fit tr th:last-child {
    border-right: none
}

.sectionHeader aside {
    display: block;
    border-top: 20px solid #633792
}

.sectionHeader aside img {
    width: 100%;
    overflow: hidden;
    margin-top: -5px;
}

.sectionHeader small {
    display: block;
    width: 300px;
    margin: auto;
    border-bottom: 1px solid #633792;
    margin-top: 20px;
    margin-bottom: 70px
}

.sectionHeader small img {
    margin-bottom: -50px;
    width: 100px;
    background-color: #fff
}

.sectionHeader strong {
    display: block;
    margin: auto;
    margin-top: -2.5em;
    color: #633792;
    letter-spacing: .2em;
    font-size: .7em
}

.sectionHeader + h2 {
    display: block;
    padding: 20px 0 40px;
    letter-spacing: .2em;
    text-indent: .2em
}

@media all and (max-width:700px) {
    .sectionHeader aside {
        border-top: 10px solid #633792
    }
    .sectionHeader small {
        margin-top: 10px;
        margin-bottom: 70px
    }
    .sectionHeader strong {
        margin-top: -3em;
        margin-bottom: 10px
    }
    .sectionHeader + h2 {
        padding: 0 0 20px;
        font-size: 1.1em
    }
}

#sliderwrap {
    position: relative;
    max-width: 100%;
    margin: auto
}

#sliderwrap img {
    max-width: 100%
}

#sliderwrap #sliderlinkbtn1 {
    width: 9%;
    position: absolute;
    right: 22%;
    bottom: 20px;
}
#sliderwrap #sliderlinkbtn1 img{
    width: 100%;
}
@media all and (max-width:900px) {
    #sliderwrap #sliderlinkbtn1{
        right: 4%;
        width: 20%;
    }    
}
@media all and (max-width:500px) {
    #sliderwrap #sliderlinkbtn1 {
        width: 20%
    }
}

#sliderwrap #sliderlinkbtn2 {
    width: 13%;
    position: absolute;
    right: 20.5%;
    top: 20px;
}
@media all and (max-width:900px) {
    #sliderwrap #sliderlinkbtn2{
        width: 25%;
        right: 2.5%;  
    }
}
@media all and (max-width:500px) {
    #sliderwrap #sliderlinkbtn2 {
        width: 40%;
        right: 3%;
    }
}

#sliderwrap #sliderlinkbtn3 {
    width: 40px;
    position: absolute;
    right: 35%;
    top: 20px
}

@media all and (max-width:900px) {
    #sliderwrap #sliderlinkbtn3 {
        width: 32px;
        right: 29%
    }
}

@media all and (max-width:500px) {
    #sliderwrap #sliderlinkbtn3 {
        width: 25px;
        right: 47%
    }
}
#sliderwrap #sliderlinkbtn4 {
    position: absolute;
    width: 11%;
    left: 21.5%;
    bottom: 25px;
    cursor: text;
}

@media all and (max-width:900px) {
    #sliderwrap #sliderlinkbtn4 {
    width: 18%;
    left: 25px;
    bottom: 25px;    
    }
}

@media all and (max-width:500px) {
    #sliderwrap #sliderlinkbtn4 {
    bottom: 35px;
    left: 4%;
    width: 18%;
    }
}
#sliderwrap #sliderlinkbtn5 {
    position: absolute;
    width: 11%;
    left: 21.5%;
    bottom: 85px;
    cursor: text;
}

@media all and (max-width:900px) {
    #sliderwrap #sliderlinkbtn5 {
    width: 18%;
    left: 25px;
    bottom: 95px;    
    }
}

@media all and (max-width:500px) {
    #sliderwrap #sliderlinkbtn5 {
    bottom: 75px;
    left: 4%;
    width: 18%;
    }
}
#sliderwrap #sliderlinkbtn1,
#sliderwrap #sliderlinkbtn2,
#sliderwrap #sliderlinkbtn3{
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease
}

#sliderwrap #sliderlinkbtn1:hover,
#sliderwrap #sliderlinkbtn2:hover,
#sliderwrap #sliderlinkbtn3:hover{
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2)
}

#navigation {
    color: #633792;
    overflow: hidden
}

#navigation ul {
    margin: 0 -3px
}

@media all and (max-width:730px) {
    #navigation ul {
        margin: auto
    }
}

#navigation ul > li > a {
    font-size: 14px;
    letter-spacing: .2em;
    text-indent: .2em;
    line-height: 1;
    color: #633792;
    display: block;
    padding: 20px 0;
    border: 1px solid #633792;
    background-color: #fff
}

#navigation ul > li > a:hover {
    background-color: #633792;
    color: #fff
}

#menu {
    font-size: 14px;
    letter-spacing: .2em;
    text-indent: .2em;
    line-height: 1;
    color: #fff;
    display: block;
    padding: 20px 0;
    background-color: #633792;
    cursor: pointer;
    position: relative
}

#menu:after {
    content: "";
    display: block;
    border-top: 10px solid #fff;
    border-bottom: 0 solid transparent;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -5px
}

#menu:hover {
    background-color: #774ba6
}

#footer {
    margin-top: 50px;
    background-color: #f0ede8
}

#footer ul {
    font-size: 0
}

#footer ul li {
    font-size: 20px;
    font-weight: 400;
    display: inline-block
}

#footer ul li a {
    color: #000;
    display: block;
    text-indent: .2em;
    letter-spacing: .2em;
    padding: 20px
}

#footer ul li a:hover {
    color: #555
}

@media all and (max-width:820px) {
    #footer ul li {
        font-size: 16px
    }
    #footer ul li a {
        text-indent: 0;
        letter-spacing: 0
    }
}

@media all and (max-width:670px) {
    #footer ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    #footer ul li {
        width: 50%;
        -webkit-box-flex: 1;
        -webkit-flex: auto;
        -ms-flex: auto;
        flex: auto;
        font-size: 13px
    }
    #footer ul li a {
        border: 1px solid #f0ede8;
        background-color: rgba(0, 0, 0, .05);
        text-indent: .2em;
        letter-spacing: .2em;
        padding: 10px
    }
}

#footer p {
    padding: 30px 0
}

#footer p img {
    vertical-align: middle
}

#footer p img[src$="logo.svg"] {
    width: 90px;
    margin-right: 20px
}

#footer p img[src$="logotxt.svg"] {
    width: 260px
}

@media all and (max-width:540px) {
    #footer p img[src$="logo.svg"] {
        display: block;
        margin: 0 auto 10px
    }
}

@media all and (max-width:370px) {
    #footer p img[src$="logo.svg"] {
        width: 50px
    }
    #footer p img[src$="logotxt.svg"] {
        width: 200px
    }
}

#pagetop {
    display: none;
    width: 40px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    cursor: pointer
}

@media all and (max-width:540px) {
    #pagetop {
        right: 10px;
        bottom: 10px
    }
}

.slick-loading .slick-list {
    background: #fff url(ajax-loader.gif) center center no-repeat
}

@font-face {
    font-family: slick;
    src: url(fonts/slick.eot);
    src: url(fonts/slick.eot?#iefix) format("embedded-opentype"), url(fonts/slick.woff) format("woff"), url(fonts/slick.ttf) format("truetype"), url(fonts/slick.svg#slick) format("svg");
    font-weight: 400;
    font-style: normal
}

.slick-next,
.slick-prev {
    position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0;
    font-size: 0;
    cursor: pointer;
    background: 0 0;
    color: transparent;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding: 0;
    border: none;
    outline: 0
}

.slick-next:focus,
.slick-next:hover,
.slick-prev:focus,
.slick-prev:hover {
    outline: 0;
    background: 0 0;
    color: transparent
}

.slick-next:focus:before,
.slick-next:hover:before,
.slick-prev:focus:before,
.slick-prev:hover:before {
    opacity: 1
}

.slick-next.slick-disabled:before,
.slick-prev.slick-disabled:before {
    opacity: .25
}

.slick-next:before,
.slick-prev:before {
    font-family: slick;
    font-size: 24px;
    line-height: 1;
    color: #fff;
    opacity: .75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-prev {
    left: 1%;
    z-index: 9
}

[dir=rtl] .slick-prev {
    left: auto;
    right: 0
}

.slick-prev:before {
    content: "←"
}

[dir=rtl] .slick-prev:before {
    content: "→"
}

.slick-next {
    right: 1%
}

[dir=rtl] .slick-next {
    left: -25px;
    right: auto
}

.slick-next:before {
    content: "→"
}

[dir=rtl] .slick-next:before {
    content: "←"
}

.slick-dots {
    position: absolute;
    bottom: 10px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%
}

.slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer
}

.slick-dots li button {
    border: 0;
    background: 0 0;
    display: block;
    height: 20px;
    width: 20px;
    outline: 0;
    line-height: 0;
    font-size: 0;
    color: transparent;
    padding: 5px;
    cursor: pointer
}

.slick-dots li button:focus,
.slick-dots li button:hover {
    outline: 0
}

.slick-dots li button:focus:before,
.slick-dots li button:hover:before {
    opacity: 1
}

.slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "•";
    width: 20px;
    height: 20px;
    font-family: slick;
    font-size: 6px;
    line-height: 20px;
    text-align: center;
    color: #FFF;
    opacity: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
    color: #000;
    opacity: .75
}
.slick-slide:not(.slick-center){
    position: relative;
}
.slick-slide:not(.slick-center):after{
    position: absolute;
    content: '';
    background-color: rgba(255,255,255,0.6);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
}
@media all and (max-width:900px) {
    .slick-slide:not(.slick-center):after{
        display: none;
    }
}
#navigation {
    margin: 20px auto 60px
}

@media all and (max-width:730px) {
    #navigation {
        padding: 0 10px
    }
}

@media all and (max-width:600px) {
    #navigation {
        margin: 20px auto;
        padding: 0 10px 1px
    }
}

#navigation ul {
    font-size: 0;
    padding: 0 1px
}

@media all and (min-width:731px) {
    #navigation ul {
        display: block!important
    }
}

#navigation ul li {
    display: inline-block;
    width: 16.6%
}

#navigation ul li a {
    margin: 0 -1px
}

@media all and (max-width:730px) {
    #navigation ul {
        display: none
    }
    #navigation ul li {
        width: 100%
    }
    #navigation ul li a {
        margin: -1px
    }
}

#navigation.on {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    margin: 0 auto
}

@media all and (max-width:730px) {
    #navigation.on {
        position: static!important;
        margin: 20px auto 60px
    }
}

@media all and (max-width:600px) {
    #navigation.on {
        position: static!important;
        margin: 20px auto
    }
}

#navigation.sec {
    display: none
}

@media all and (max-width:600px) {
    #navigation.sec {
        display: block
    }
}

#navigation.on + #news {
    margin-top: 136px
}

@media all and (max-width:600px) {
    #navigation.on + #news {
        margin-top: 0!important
    }
}

@media all and (max-width:730px) {
    #navigation.on + #news {
        margin-top: 0!important
    }
}

#navigation.sec.on + #news {
    margin-top: auto
}

#menu {
    display: none
}

@media all and (max-width:730px) {
    #menu {
        display: block
    }
}

section {
    padding-bottom: 80px
}

@media all and (max-width:500px) {
    section {
        padding-bottom: 40px
    }
}

h3 {
    display: block;
    padding: 0 0 20px;
    letter-spacing: .2em;
    text-indent: .2em
}

section#concept h3 {
    font-size: 2em
}

section#concept p {
    line-height: 1.8em
}

section#concept span {
    display: block;
    font-size: 1.2em;
    padding: 40px 0 0;
    letter-spacing: .1em;
    text-indent: .1em
}

@media all and (max-width:600px) {
    section#concept h3 {
        font-size: 1em
    }
    section#concept p {
        font-size: .8em;
        text-align: left;
        padding: 0 10px
    }
    section#concept span {
        font-size: 105%;
        padding: 20px 0 0
    }
}

section#feature p {
    display: block;
    padding: 0 0 40px;
    line-height: 1.8em
}

@media all and (max-width:600px) {
    section#feature p {
        font-size: .8em;
        padding: 0 10px 20px;
        text-align: left
    }
}

@media all and (max-width:600px) {
    .read {
        font-size: 80%;
        padding: 0 10px
    }
}

#newsAd {
    overflow: hidden;
    width: 870px;
    margin: auto
}

#newsAd .blockTopics {
    width: 65%;
    float: left;
    height: 19em;
    overflow-y: scroll
}
#newsAd #ad {
    width: 30%;
    float: right
}

#newsAd #ad a {
    display: block;
    margin-bottom: 1em;
    color: #633792
}

#newsAd #ad a img {
    width: 100%
}

#newsAd #ad a:hover {
    opacity: .7
}

#newsAd #ad a.noimg {
    height: 5.6em;
    padding: 2em;
    border: 1px solid
}

@media all and (max-width:869px) {
    #newsAd {
        width: 98%
    }
}

@media all and (max-width:822px) {
    #newsAd .blockTopics {
        height: 16em
    }
    #newsAd #ad a {
        font-size: .85em
    }
}

@media all and (max-width:695px) {
    #newsAd #ad a {
        font-size: .8em
    }
}

@media all and (max-width:600px) {
    #newsAd .blockTopics {
        width: auto;
        float: none;
        height: auto;
        margin-bottom: 2em
    }
    #newsAd #ad {
        width: 60%;
        float: none;
        margin: auto
    }
    #newsAd #ad a {
        font-size: .8em;
        margin-bottom: 10px
    }
    #newsAd .blockTopics{
    overflow-y: scroll;
    height: 500px;
}
}

#news.sec li {
    border-bottom: 0 solid #633792;
    width: 800px;
    margin: auto;
    letter-spacing:0.1em;
}

#news.sec li:first-child {
    border-top: 0 solid #633792
}

#news.sec li img {
    display: inline-block;
    width: 50%
}
#news.sec li .flom{
  padding-left: 57%;
}
#news.sec li span.flom.flom_1{
  padding-left: 40%;
}
#news.sec li span.flom.flom_2{
    padding-left: 40%;
}
#news.sec li .flom:nth-of-type(2){
   padding-left: 73%;
}
#news.sec li img.fullsize {
    width: 100%
}

@media all and (max-width:800px) {
    #news.sec li {
        width: 90%
    }
    #news.sec li img {
        width: 100%
    }
}

#news.sec li.linkbox {
    text-align: center
}

#news.sec li.linkbox img {
    width: 100%
}

/*# sourceMappingURL=style.css.map */

.kaki18 th {
    font-weight: normal;
    width: 190px;
    padding: 5px;
}
.kaki18 .blockTopics p{
    margin-bottom: 10px;
}
.kaki18 .blockTopics li strong{
    margin-bottom: 20px;
}

.kousyu_list{
    width: 100%;
    font-size: 0;
}
.kousyu_list li ul{
    font-size: 0;
}
#news.sec .kousyu_list li img{
    width: 100%;
}
#news.sec .kousyu_list ul li{
    width: 48%;
    display: inline-block;
    margin: 1%;
    padding: 0;
}