﻿b,
body,
dd,
div,
dl,
dt,
figure,
form,
h2,
h3,
h4,
html,
i,
img,
label,
li,
nav,
ol,
p,
section,
span,
table,
tbody,
td,
th,
tr,
ul,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: 0 0
}

body {
    line-height: 1.5
}

figure,
nav,
section {
    display: block
}

ol,
ul {
    list-style: none
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: 0 0
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

input,
select {
    vertical-align: middle
}

input,
textarea {
    margin: 0;
    padding: 0
}

input,
select,
textarea {
    font: 99% arial, sans-serif
}

table {
    font-size: inherit;
    font: 100%
}

*,
:after,
:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}


@media screen and (max-width:640px) {
    body {
        min-width: 0
    }
}

img {
    vertical-align: bottom
}

@media screen and (max-width:640px) {
    img {
        max-width: 100%;
        height: auto
    }
}

a {
    color: #000;
    text-decoration: none;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

html:not(.touch_device) a:hover {
    text-decoration: none
}

a[href^="tel:"] {
    color: #000;
    cursor: default
}

html:not(.touch_device) a[href^="tel:"]:hover {
    text-decoration: none
}

.top_content {
    padding-bottom: 65px
}

@media screen and (max-width:640px) {
    .top_content {
        padding-bottom: 0
    }
}

.lower_content {
    margin-top: 70px;
    padding-bottom: 100px
}

@media screen and (max-width:640px) {
    .lower_content {
        margin-top: 35px;
        padding-bottom: 50px
    }
}

.site_footer__pagetop {
    position: fixed;
    right: 0;
    bottom: 0px;
    z-index: 9999;
    -webkit-transition: all .3s;
    transition: all .3s;
    display: none;
    width: 50px;
    height: 50px;
    background-color: rgba(0,0,0,.25);
}

.site_footer__pagetop.show {
   display: block;
}

@media screen and (max-width:640px) {
    
}

.site_footer__pagetop a {
    display: block;
    color: #fff;
    font-size: 140%;
   
    background-color: rgba(0, 0, 0, .15);
    text-align: center
}

@media screen and (max-width:640px) {
    .site_footer__pagetop a {
        width: 50px;
        height: 50px
    }
}

.site_footer__pagetop a i:before {
    position: absolute;
    width: 100%;
    top: 50%;
    display: block;
    -webkit-transform: translateY(-50%) rotateZ(-90deg);
    -ms-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotateZ(-90deg)
}

@media screen and (max-width:640px) {
    .site_footer__pagetop a i:before {
        font-size: 16px
    }
}

html:not(.touch_device) .site_footer__pagetop a:hover {
    opacity: .7;
    text-decoration: none
}

.global_nav__sp {
    display: none;
    width: 100%;
    position: absolute;
    top: 0;
    z-index: 10000
}

@media screen and (max-width: 640px) {
    .global_nav__sp {
        display:block
    }
}

.global_nav__sp__list {
    border-top: 1px solid #ccc;
    background-color: #fff
}

.global_nav__sp__list__wrap {
    display: none;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100vh;
    padding-top: 65px;
    background: #fff;
    z-index: 10
}

.global_nav__sp__list li {
    border-bottom: 1px solid #ccc
}

.global_nav__sp__list li a,.global_nav__sp__list li span {
    display: block;
    position: relative;
    padding: 18px 20px;
    font-size: 100%;
    font-weight: 700
}

.global_nav__sp__list li a i,.global_nav__sp__list li span i {
    display: inline-block;
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #000;
    font-size: 107%
}

.global_nav__sp__list li>ul {
    display: none
}

.global_nav__sp__list li>ul>li {
    border-bottom: none;
    border-top: 1px solid #ccc
}

.global_nav__sp__list li>ul>li a,.global_nav__sp__list li>ul>li span {
    padding: 18px 20px 18px 45px
}

.global_nav__sp__btn {
    position: relative;
    display: table;
    width: 100%;
    height: 65px;
    z-index: 20
}

.global_nav__sp__btn li {
    display: table-cell;
    vertical-align: middle
}

.global_nav__sp__btn li.btn--sitelogo {
    padding-left: 20px
}

.top .global_nav__sp__btn li.btn--sitelogo {
    display: none
}

.global_nav__sp__btn li.btn--language {
    display: none;
    padding-left: 20px;
    width: auto;
}

.global_nav__sp__btn li.btn--language a {
    display: block;
    float: left;
    width: auto;
    height: 24px;
    margin-right: 10px;
    border-radius: 12px;
    color: #fff;
    font-size: 107%;
    text-align: center
}

.global_nav__sp__btn li.btn--language a.selected {
    background-color: #fff;
    color: #000;
	padding: 0px 10px;
}

.top .global_nav__sp__btn li.btn--language {
    display: table-cell
}

.global_nav__sp__btn li.btn--search {
    text-align: right;
    padding-right: 8px
}

.global_nav__sp__btn li.btn--search i {
    display: inline-block;
    width: 36px;
    height: 36px
}

.global_nav__sp__btn li.btn--search i:before {
    color: #fff;
    font-size: 240%
}

.global_nav__sp__btn li.btn--menu {
    width: 70px
}

.global_nav__sp__btn li.btn--menu span {
    position: absolute;
    top: 16px;
    right: 17px;
    display: inline-block;
    width: 36px;
    height: 4px;
    background-color: #fff
}

.global_nav__sp__btn li.btn--menu span:nth-child(2) {
    top: 29px
}

.global_nav__sp__btn li.btn--menu i {
    position: absolute;
    top: 40px;
    right: 0;
    width: 70px;
    text-align: center
}

.global_nav__sp__btn li.btn--menu i:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 70px;
    content: 'MENU';
    color: #fff;
    font-style: normal;
    font-size: 67%;

    font-weight: 700;
    letter-spacing: .1em;
    text-align: center
}

.global_nav__sp__btn.open li.btn--sitelogo {
    display: none
}

.global_nav__sp__btn.open li.btn--language {
    display: table-cell
}

.global_nav__sp__btn.open li.btn--language a {
    color: #000
}

.global_nav__sp__btn.open li.btn--language a.selected {
    background-color: #000;
    color: #fff
}

.global_nav__sp__btn.open li.btn--search i:before {
    color: #000
}

.global_nav__sp__btn.open li.btn--menu span {
    display: none
}

.global_nav__sp__btn.open li.btn--menu i {
    position: absolute;
    top: 9px;
    right: 0;
    width: 70px;
    text-align: center
}

.global_nav__sp__btn.open li.btn--menu i:before {
    color: #000;
    font-size: 240%
}

.global_nav__sp__btn.open li.btn--menu i:after {
    content: 'CLOSE';
    top: 35px;
    color: #000
}
.icon--remove:before {
    content: "\e905";
}

.site_header {
    position: relative
}

@media screen and (max-width:640px) {
    .local_nav {
        display: none
    }
}

.local_nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-left: 1px solid #ccc
}

@media screen and (max-width:640px) {
    .local_nav__list {
        display: block;
        border: 1px solid #ccc;
        border-bottom: none;
        margin: 0 20px
    }
}

.local_nav__list__item {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 10%;
    flex: 1 1 10%;
    height: 60px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc
}

@media screen and (max-width:640px) {
    .local_nav__list__item {
        width: 100%;
        height: 50px;
        border-right: none;
        font-size: 87%
    }
}

.local_nav__list__item a {
    display: block;
    height: 100%;
    padding-top: 18px;
    text-align: center
}

@media screen and (max-width:640px) {
    .local_nav__list__item a {
        position: relative;
        padding: 15px 30px 0 20px;
        text-align: left
    }
}

html:not(.touch_device) .local_nav__list__item a:hover {
    text-decoration: none
}

.local_nav__list__item.current {
    background-color: #1847C7
}

.local_nav__list__item.current a {
    color: #fff
}

html:not(.touch_device) .local_nav__list__item.current a:hover {
    color: #fff
}

html:not(.touch_device) .local_nav__list__item.current a:hover:before {
    display: none
}

.history_list__txt ul>li,
.list_decimal_01>li {
    margin-bottom: 7px
}

.history_list__txt ul>li:last-child,
.list_decimal_01>li:last-child {
    margin-bottom: 0
}

.history_list__txt ul>li {
    text-indent: -1em;
    margin-left: 1em
}

.history_list__txt ul>li:before {
    content: "・"
}

.list_decimal_01>li {
    counter-increment: decimal_01;
    margin-left: 1.2em;
    text-indent: -1.2em
}

.list_decimal_01>li:before {
    content: counter(decimal_01) ". "
}

.btn_basic {
    position: absolute;
    display: block;
    border: 1px solid #ccc;
    text-align: center
}

@media screen and (max-width:640px) {
    .btn_basic {
        width: auto
    }
}

.btn_basic a {
    position: relative;
    display: block;
    height: 100%
}

.btn_basic i {
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.btn_basic--slim {
    position: relative;
    width: 170px;
    height: 26px;
    margin-top: 7px;
    font-size: 80%
}

.btn_basic--slim a {
    padding-top: 1px
}

.btn_basic--slim i {
    right: 5px
}

.btn_basic--next {
    width: 130px;
    height: 50px;
    font-size: 107%;
    font-weight: 500;
    border: none
}

@media screen and (max-width:640px) {

    .btn_basic--next {
        width: 100px;
        font-size: 80%
    }
}

.btn_basic--next a {
    padding-top: 10px
}

@media screen and (max-width:640px) {

    .btn_basic--next a {
        padding-top: 14px
    }
}

.btn_basic--next i {
    font-size: 107%
}

@media screen and (max-width:640px) {

    .btn_basic--next i {
        font-size: 93%
    }
}

.btn_basic--next {
    top: 0;
    right: 0
}

.btn_basic--next i {
    right: 6px
}

.select_basic {
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 44px;
    padding: 0 45px 0 12px;
    border: 1px solid #ccc;
    border-radius: 0;
    background: none transparent;
    vertical-align: middle;
    font-size: 87%;
    z-index: 1
}

.select_basic__wrap {
    position: relative;
    display: inline-block
}

.select_basic__wrap:before {
    position: absolute;
    display: block;
    content: '';
    top: 0;
    right: 0;
    width: 35px;
    height: 44px;
    border-left: 1px solid #ccc
}

.select_basic__wrap:after {
    position: absolute;
    content: "\e900";
    top: 13px;
    right: 12px;
    color: #000;
    font-size: 87%;
    font-family: icomoon;
    -webkit-transform: rotateZ(90deg);
    -ms-transform: rotate(90deg);
    transform: rotateZ(90deg)
}

.select_basic option {
    background-color: #fff;
    color: #000
}

.select_basic::-ms-expand {
    display: none
}

.select_basic:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #1847C7
}

.grid--12 {
    width: auto !important
}

.grid--12.gutter--1px {
    margin-left: -1px;
    margin-top: -1px
}

.grid--12.gutter--1px>* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 1px;
    padding-top: 1px
}

.grid__col--4 {
    float: left;
    width: 33.33333%
}

@media screen and (max-width:640px) {

    .sp_grid__col--6 {
        float: left;
        width: 50%
    }
}

@font-face {
    font-family: icomoon;
    src: url(../font/icomoon.eot);
    src: url(../font/icomoon.eot) format("embedded-opentype"), url(../font/icomoon.ttf) format("truetype"), url() format("woff"), url() format("svg");
    font-weight: 400;
    font-style: normal
}

[class^=icon--] {
    font-family: icomoon !important;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon--search:before {
    content: "\e906"
}

.icon--arrow:before {
    content: "\e900"
}

.icon--blank:before {
    content: "\e902"
}

.icon--minus:before {
    content: "\e903"
}

.icon--plus:before {
    content: "\e904"
}

.gutter--1px .grid__col--4 {
    width: 380px
}

@media screen and (max-width:640px) {
    .gutter--1px .grid__col--4.sp_grid__col--6 {
        width: 50%
    }
}

.entry_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.entry_list .entry {
    margin-bottom: 40px
}

@media screen and (max-width:640px) {
    .entry_list .entry {
        margin-bottom: 0
    }
}

.entry_list .entry__figure {
    position: relative;
    width: 379px;
    height: 234px;
    overflow: hidden
}

@media screen and (max-width:640px) {
    .entry_list .entry__figure {
        width: 100%;
        height: 0;
        padding-bottom: 61.74%
    }
}

.entry_list .entry__figure--w img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
    max-width: none
}

.entry_list .entry__title {
    padding-right: 30px;
    font-size: 100%;
    font-weight: 400
}

@media screen and (max-width:640px) {
    .entry_list .entry__title {
        padding-right: 1em;
        font-size: 87%
    }
}

html:not(.touch_device) .entry_list a:hover .entry__title {
    color: #1847C7
}

.entry__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 10px 0 5px
}

@media screen and (max-width:640px) {
    .entry__info {
        display: block
    }
}

.entry__date {
    font-size: 87%
}

@media screen and (max-width:640px) {
    .entry__date {
        font-size: 80%;
        line-height: 1
    }
}

.entry__tag__list {
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 3px
}

@media screen and (max-width:640px) {
    .entry__tag__list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding-left: 0;
        margin-bottom: -5px
    }
}

.entry__tag__list li {
    margin-left: 7px;
    height: 20px;
    min-width: 56px;
    padding: 3px 10px 0;
    border-radius: 10px;
    border: solid 1px #666;
    font-size: 73%;
    text-align: center;
    line-height: 1.1 !important
}

@media screen and (max-width:640px) {
    .entry__tag__list li {
        margin: 0 7px 5px 0
    }
}

.news .entry__tag__list li {
    min-width: 46px;
    padding-top: 4px
}

.tags {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 70px
}

@media screen and (max-width:640px) {
    .tags {
        display: block;
        margin-bottom: 35px
    }
}

.tags__title {
    padding: 5px 7px 0 0;
    font-weight: 700;
    white-space: nowrap
}

@media screen and (max-width:640px) {
    .tags__title {
        display: none
    }
}

.tags__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 0 -10px
}

@media screen and (max-width:640px) {
    .tags__list {
        margin: 0 -5px -10px 0
    }
}

.tags__list__item {
    display: block;
    margin: 0 5px 10px
}

@media screen and (max-width:640px) {
    .tags__list__item {
        margin: 0 5px 10px 0
    }
}

.tags__list__item.current a {
    background-color: #1847C7;
    color: #fff;
    text-decoration: none
}

.tags__list__item a {
    display: block;
    min-width: 130px;
    height: 34px;
    padding: 3px 13px 0;
    border-radius: 17px;
    border: solid 2px #1847C7;
    color: #1847C7;
    font-weight: 700;
    text-align: center
}

@media screen and (max-width:640px) {
    .tags__list__item a {
        min-width: 75px;
        height: 22px;
        padding: 4px 11px 0;
        border-radius: 11px;
        font-size: 80%;
        line-height: 1
    }
}

html:not(.touch_device) .tags__list__item a:hover {
    background-color: #1847C7;
    color: #fff
}

.pagination {
    position: relative;
    margin-top: 25px;
    height: 50px;
    overflow: hidden
}

.pagination__list {
    padding-top: 9px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.pagination__list__item {
    margin: 0 11px;
    font-size: 120%;

    line-height: 1
}

@media screen and (max-width:640px) {
    .pagination__list__item {
        margin: 0;
        font-size: 100%
    }
}

.pagination__list__item.all {
    position: relative;
    margin-left: 13px
}

@media screen and (max-width:640px) {
    .pagination__list__item.all {
        margin-left: 12px
    }
}

.pagination__list__item.all:before {
    position: relative;
    content: '...';
    padding-right: 12px;
    color: #000
}

@media screen and (max-width:640px) {
    .pagination__list__item.all:before {
        content: '/'
    }
}

@media screen and (max-width:640px) {
    .pagination__list__item {
        display: none
    }

    .pagination__list__item.all,
    .pagination__list__item.current {
        display: list-item
    }
}

.pagination__list__item.current span {
    padding: 0 3px 2px;
    border-bottom: 4px solid #1847C7;
    color: #000;
    text-decoration: none
}

@media screen and (max-width:640px) {
    .pagination__list__item.current span {
        border-bottom: none
    }
}

.pagination__list__item a {
    padding: 0 3px 2px;
    color: #000
}

html:not(.touch_device) .pagination__list__item a:hover {
    border-bottom: 4px solid #1847C7
}

.seminar_list {
    margin: 40px 0 0px
}

@media screen and (max-width:640px) {
    .seminar_list {
        margin-top: 25px
    }
}

.seminar_list li>a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 22px 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #000;
}


@media screen and (max-width:640px) {
    .seminar_list li>a {
        padding: 14px 0
    }
}

.seminar_list li>a:hover h3 {
    color: #000;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.seminar_list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 5px;
    background-color: #f1f1f1
}

.seminar_list li:last-child {
    margin-bottom: 0
}

@media screen and (min-width:641px) {
    .seminar_list li {
        background-color: #fff;
    }

    .seminar_list li:hover {
        background-color: #f1f1f1
    }
}

.seminar_list .seminar_date {
    width: 225px;
    padding:0 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-right: 3px solid #ccc;
}

.seminar_date__title{
    font-weight: 600;
}
@media screen and (max-width:640px) {
    .seminar_list .seminar_date {
        width: 110px;
    
    padding: 0 0px 0 14px;
    border-right: 3px solid #d0d0d0;
    text-align: center;
    line-height: 1.3;
    }

    .seminar_list .seminar_date span {
        display: block
    }
}

.seminar_list .seminar_date__year {
    font-size: 107%;
    color: #656666;
}

@media screen and (max-width:640px) {
    .seminar_list .seminar_date__year {
        font-size: 73%
    }
}

.seminar_list .seminar_date__date {
    padding: 0 4px;
    font-size: 160%
}

@media screen and (max-width:640px) {
    .seminar_list .seminar_date__date {
        padding: 0;
        font-size: 107%
    }
}

.seminar_list .seminar_date__time {
    margin-top: -8px;
    font-size: 120%;
}

@media screen and (max-width:640px) {
    .seminar_list .seminar_date__time {
        margin-top: 2px;
        font-size: 67%
    }
}

.seminar_list .seminar_date__time br {
    display: none
}

@media screen and (max-width:640px) {
    .seminar_list .seminar_date__time br {
        display: inline
    }
}

.seminar_list .seminar_info {
    width: 980px;
    padding: 0 25px;
}

@media screen and (max-width:640px) {
    .seminar_list .seminar_info {
        width: calc(100% - 61px);
        padding: 0 13px;
        border-left: none
    }
}

.seminar_list .seminar_info p {
    margin-bottom: 2px;
    color: #777;
    font-size: 93%;
    line-height: 1.5
}

@media screen and (max-width:640px) {
    .seminar_list .seminar_info p {
        margin-bottom: 0;
        font-size: 80%
    }
}

.seminar_list .seminar_info h3 {
    font-size: 107%;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width:640px) {
    .seminar_list .seminar_info h3 {
        font-size: 93%;
        line-height: 1.64
    }
}

.seminar_list .seminar_info .seminar_icon {
    color: #fff;
    background-color: #1847C7;
    border-radius: 20px;
    font-size: 75%;
    padding: 2px 7px 1px;
    display: inline-block;
    margin-left: 5px
}

.way_list {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%
}

.way_list.way_list--principles .way_list__item:nth-child(even) {
    background-color: #f9f9f9
}

.way_list.way_list--guideline .way_list__item {
    padding: 35px 10px 40px
}

.way_list.way_list--guideline .way_list__item:nth-child(odd) {
    background-color: #f9f9f9
}

@media screen and (max-width:640px) {
    .way_list.way_list--guideline .way_list__item {
        padding: 18px 20px 28px
    }
}

.way_list.way_list--guideline .way_list__text {
    font-feature-settings: "palt"
}

.way_list.way_list--leader {
    margin-top: 50px !important
}

@media screen and (max-width:640px) {
    .way_list.way_list--leader {
        margin-top: 20px !important
    }
}

.way_list.way_list--leader .way_list__item {
    width: 25%;
    padding: 20px 30px 44px
}

.way_list.way_list--leader .way_list__item:nth-child(1),
.way_list.way_list--leader .way_list__item:nth-child(3),
.way_list.way_list--leader .way_list__item:nth-child(6) {
    background-color: #f9f9f9
}

.way_list.way_list--leader .way_list__item:nth-child(n+4) {
    padding-top: 30px
}

@media screen and (max-width:640px) {
    .way_list.way_list--leader .way_list__item:nth-child(n+4) {
        padding-top: 20px
    }
}

@media screen and (max-width:640px) {
    .way_list.way_list--leader .way_list__item {
        width: 100%;
        padding: 18px 20px 28px
    }

    .way_list.way_list--leader .way_list__item:nth-child(odd) {
        background-color: transparent
    }

    .way_list.way_list--leader .way_list__item:nth-child(even) {
        background-color: #f9f9f9
    }
}

.way_list.way_list--leader .way_list__item:nth-child(3n+1) {
    border-left: none
}

@media screen and (max-width:640px) {
    .way_list.way_list--leader .way_list__item:nth-child(3n+1) {
        border-left: 1px solid #ccc
    }
}

.way_list.way_list--leader .way_list__item:nth-child(4n+1) {
    border-left: 1px solid #ccc
}

.way_list.way_list--leader .way_list__item:nth-child(3n) {
    width: 25%
}

@media screen and (max-width:640px) {
    .way_list.way_list--leader .way_list__item:nth-child(3n) {
        width: 100%
    }
}

.way_list.way_list--leader .way_list__item:nth-child(n+4) {
    border-top: 1px solid #ccc
}

@media screen and (max-width:640px) {
    .way_list.way_list--leader .way_list__item:nth-child(n+4) {
        border-top: none
    }
}

.way_list.way_list--leader .way_list__item:nth-child(n+5) {
    border-top: none
}

.way_list.way_list--leader .way_list__item:nth-child(3) .way_list__symbol span {
    top: -9px
}

@media screen and (max-width:640px) {
    .way_list.way_list--leader .way_list__item:nth-child(3) .way_list__symbol span {
        top: 0
    }
}

.way_list.way_list--leader .way_list__item:nth-child(4) .way_list__symbol span {
    top: -5px
}

@media screen and (max-width:640px) {
    .way_list.way_list--leader .way_list__item:nth-child(4) .way_list__symbol span {
        top: 0
    }
}

.way_list.way_list--leader .way_list__item:nth-child(5) .way_list__symbol span {
    top: -15px
}

@media screen and (max-width:640px) {
    .way_list.way_list--leader .way_list__item:nth-child(5) .way_list__symbol span {
        top: 0
    }
}

.way_list.way_list--leader .way_list__item:nth-child(6) .way_list__symbol span {
    top: 3px
}

@media screen and (max-width:640px) {
    .way_list.way_list--leader .way_list__item:nth-child(6) .way_list__symbol span {
        top: 0
    }
}

.way_list.way_list--leader .way_list__item:nth-child(7) .way_list__symbol span {
    top: -14px
}

@media screen and (max-width:640px) {
    .way_list.way_list--leader .way_list__item:nth-child(7) .way_list__symbol span {
        top: 0
    }
}

.way_list.way_list--leader .way_list__symbol {
    position: relative;
    height: 72px
}

.way_list.way_list--leader .way_list__symbol span {
    position: relative
}

.way_list.way_list--leader .way_list__main_title {
    padding-top: 12px;
    line-height: 1.36
}

.way_list.way_list--stretch {
    text-align: center
}

.way_list.way_list--stretch .way_list__item {
    width: 25%;
    padding: 120px 10px 40px
}

.way_list.way_list--stretch .way_list__item:nth-child(1),
.way_list.way_list--stretch .way_list__item:nth-child(3),
.way_list.way_list--stretch .way_list__item:nth-child(6) {
    background-color: #f9f9f9
}

@media screen and (max-width:640px) {
    .way_list.way_list--stretch .way_list__item {
        padding: 90px 10px 15px;
        width: 100%
    }

    .way_list.way_list--stretch .way_list__item:nth-child(odd) {
        background-color: transparent
    }

    .way_list.way_list--stretch .way_list__item:nth-child(even) {
        background-color: #f9f9f9
    }
}

.way_list.way_list--stretch .way_list__item:nth-child(1) {
    background-image: url(../image/way_img_01.png);
    background-repeat: no-repeat;
    background-position: center 50px;
    background-size: 64px
}

@media screen and (max-width:640px) {
    .way_list.way_list--stretch .way_list__item:nth-child(1) {
        background-position: center 14px
    }
}

.way_list.way_list--stretch .way_list__item:nth-child(2) {
    background-image: url(../image/way_img_02.png);
    background-repeat: no-repeat;
    background-position: center 50px;
    background-size: 64px
}

@media screen and (max-width:640px) {
    .way_list.way_list--stretch .way_list__item:nth-child(2) {
        background-position: center 14px
    }
}

.way_list.way_list--stretch .way_list__item:nth-child(3) {
    background-image: url(../image/way_img_03.png);
    background-repeat: no-repeat;
    background-position: center 50px;
    background-size: 64px
}

@media screen and (max-width:640px) {
    .way_list.way_list--stretch .way_list__item:nth-child(3) {
        background-position: center 14px
    }
}

.way_list.way_list--stretch .way_list__item:nth-child(4) {
    background-image: url(../image/way_img_04.png);
    background-repeat: no-repeat;
    background-position: center 50px;
    background-size: 64px
}

@media screen and (max-width:640px) {
    .way_list.way_list--stretch .way_list__item:nth-child(4) {
        background-position: center 14px
    }
}

.way_list.way_list--stretch .way_list__item:nth-child(5) {
    background-image: url(../image/way_img_05.png);
    background-repeat: no-repeat;
    background-position: center 50px;
    background-size: 64px
}

@media screen and (max-width:640px) {
    .way_list.way_list--stretch .way_list__item:nth-child(5) {
        background-position: center 14px
    }
}

.way_list.way_list--stretch .way_list__item:nth-child(6) {
    background-image: url(../image/way_img_06.png);
    background-repeat: no-repeat;
    background-position: center 50px;
    background-size: 64px
}

@media screen and (max-width:640px) {
    .way_list.way_list--stretch .way_list__item:nth-child(6) {
        background-position: center 14px
    }
}

.way_list.way_list--stretch .way_list__item:nth-child(7) {
    background-image: url(../image/way_img_07.png);
    background-repeat: no-repeat;
    background-position: center 50px;
    background-size: 64px
}

@media screen and (max-width:640px) {
    .way_list.way_list--stretch .way_list__item:nth-child(7) {
        background-position: center 14px
    }
}

.way_list.way_list--stretch .way_list__item:nth-child(3n+1) {
    border-left: none
}

@media screen and (max-width:640px) {
    .way_list.way_list--stretch .way_list__item:nth-child(3n+1) {
        border-left: 1px solid #ccc
    }
}

.way_list.way_list--stretch .way_list__item:nth-child(4n+1) {
    border-left: 1px solid #ccc
}

.way_list.way_list--stretch .way_list__item:nth-child(3n) {
    width: 25%
}

@media screen and (max-width:640px) {
    .way_list.way_list--stretch .way_list__item:nth-child(3n) {
        width: 100%
    }
}

.way_list.way_list--stretch .way_list__item:nth-child(n+4) {
    border-top: 1px solid #ccc
}

@media screen and (max-width:640px) {
    .way_list.way_list--stretch .way_list__item:nth-child(n+4) {
        border-top: none
    }
}

.way_list.way_list--stretch .way_list__item:nth-child(n+5) {
    border-top: none
}

.way_list.way_list--stretch .way_list__item .way_list__text {
    margin-top: 0
}

.way_list__item {
    width: 33.3%;
    padding: 45px 40px;
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc
}

@media screen and (max-width:640px) {
    .way_list__item {
        padding: 30px 27px 28px;
        width: 100%;
        border-left: 1px solid #ccc
    }
}

.way_list__item:nth-child(3n+1) {
    border-left: 1px solid #ccc
}

.way_list__item:nth-child(3n) {
    width: 33.4%
}

@media screen and (max-width:640px) {
    .way_list__item:nth-child(3n) {
        width: 100%
    }
}

.way_list__item:nth-child(n+4) {
    border-top: none
}

@media screen and (max-width:640px) {
    .way_list__item:nth-child(n+2) {
        border-top: none
    }
}

.way_list__title {
    font-weight: 700;
    font-size: 133%;
    text-align: center;
    color: #1847C7;

}

@media screen and (max-width:640px) {
    .way_list__title {
        font-size: 120%
    }
}

.way_list__main_title {
    text-align: center;
    color: #1847C7;
    font-size: 147%
}

.way_list__sub_title {
    font-weight: 400;
    font-size: 70%;
    display: block
}

@media screen and (max-width:640px) {
    .way_list__sub_title {
        font-size: 72%
    }
}

.way_list__symbol {
    line-height: 1;
    font-size: 480%;
    text-align: center;
    color: #1847C7
}

@media screen and (max-width:640px) {
    .way_list__symbol {
        margin-bottom: 10px
    }
}

.map_basic {
    overflow: hidden
}

.map_basic__map {
    float: right;
    margin-left: 40px
}

@media screen and (max-width:640px) {
    .map_basic__map {
        float: none;
        margin: 0 0 15px
    }
}

.map_basic__map p {
    margin-top: 9px
}

@media screen and (max-width:640px) {
    .map_basic__map p {
        margin-top: 4px
    }
}

.map_basic__info {
    overflow: hidden
}

.map_basic__info__list {
    padding-bottom: 1px
}

.map_basic__info__list li {
    margin-bottom: 20px
}

.map_basic__info__list li:last-child {
    margin-bottom: 0
}

.map_basic__info__list li .info__list--tel a {
    margin-right: 15px
}

@media screen and (max-width:640px) {
    .map_basic__info__list li .info__list--tel a {
        margin-right: 6px
    }
}

.section__inner {
    position: relative;
    width: 1140px;
    margin: 0 auto
}

@media screen and (max-width:640px) {
    .section__inner {
        width: 100%;
        padding: 0 20px
    }
}

.table_basic {
    margin: 50px 0 0;
    width: 100%;
    text-align: left
}

@media screen and (max-width:640px) {
    .table_basic {
        margin: 25px 0 0
    }

    .table_basic tbody,
    .table_basic td,
    .table_basic th,
    .table_basic tr {
        display: block
    }
}

.table_basic tr {
    border-top: 1px solid #ccc
}

.table_basic tr:last-child {
    border-bottom: 1px solid #ccc
}

.table_basic th {
    width: 15%;
    padding: 30px 0 30px 10px;
    line-height: 1.75;
    vertical-align: top;
    text-align: left
}

@media screen and (max-width:640px) {
    .table_basic th {
        width: 100%;
        padding: 20px 0 0
    }
}

.table_basic td {
    width: 85%;
    padding: 30px 10px;
    line-height: 1.75
}

@media screen and (max-width:640px) {
    .table_basic td {
        width: 100%;
        padding: 15px 0 20px 0
    }
}

.table_basic td a {
    color: #1847C7
}

.table_basic--access {
    margin: 0 0 -1.75em
}

@media screen and (max-width:640px) {
    .table_basic--access {
        margin: 0
    }
}

.table_basic--access tr {
    border-top: none
}

@media screen and (max-width:640px) {
    .table_basic--access tr {
        border-top: 1px solid #ccc
    }
}

.table_basic--access tr:last-child {
    border-bottom: none
}

@media screen and (max-width:640px) {
    .table_basic--access tr:last-child {
        border-bottom: 1px solid #ccc
    }
}

.table_basic--access th {
    width: 120px;
    padding: 0
}

@media screen and (max-width:640px) {
    .table_basic--access th {
        width: 100%;
        padding-top: 16px
    }
}

.table_basic--access td {
    width: auto;
    padding: 0 0 1.75em;
    line-height: 1.8
}

@media screen and (max-width:640px) {
    .table_basic--access td {
        width: 100%;
        padding: 5px 0 12px
    }
}

.table_basic--access td a {
    color: #000
}

.way_table {
    margin-top: 48px;
    border: 1px solid #ccc;
    text-align: justify;
}

@media screen and (max-width:640px) {
    .way_table {
        margin-top: 30px;
        display: block
    }
}

.way_table tr {
    border-top: 1px solid #ccc
}

@media screen and (max-width:640px) {
    .way_table tr {
        display: block;
        padding: 30px 0 28px
    }

    .way_table tr:first-child {
        border-top: none
    }
}

.way_table tr:nth-child(odd) {
    background-color: #f9f9f9
}

.way_table th {
    padding: 20px 0 20px 25px;
    width: 32.7%;
    text-align: left;
    color: #1847C7;
    font-weight: 400
}

.way_table th br {
    display: none
}

@media screen and (max-width:640px) {
    .way_table th {
        display: block;
        width: 100%;
        padding: 0 25px
    }

    .way_table th br {
        display: block
    }
}

.way_table td {
    padding: 20px 25px 20px 0
}

@media screen and (max-width:640px) {
    .way_table td {
        display: block;
        padding: 0 25px;
        margin-top: 20px
    }
}

.way_table td ol {
    list-style-position: inside
}

.way_table__title {
    display: block;
    margin-top: 3px;
    font-size: 133%;
    font-weight: 700;
    line-height: 1.5
}

.way_table.way_table--diversity th .way_table__title {
    margin-top: 0;
    padding-left: 1.2em;
    text-indent: -1.2em;
    padding-right: 1.5em;
}
@media screen and (max-width:640px) {
    .way_table.way_table--diversity th .way_table__title {
        padding-right: 0em;
    }
}

.way_table.way_table--diversity th br {
    display: inline
}

.way_table.way_table--diversity td {
    vertical-align: top
}

.lower_content dd,
.lower_content dt,
.lower_content li,
.lower_content p,
.lower_content td,
.lower_content th,
.top_content li,
.top_content p {
    line-height: 1.75
}

.toggle_list__btn {
    display: block;
    position: relative;
    padding: 12px 40px 12px 10px;
    color: #1847C7;
    font-size: 133%;
    font-weight: 700;
    cursor: pointer
}

html:not(.touch_device) .toggle_list__btn:hover {
    opacity: .7
}

.toggle_list__btn i {
    display: inline-block;
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #000;
    font-weight: 400
}

.toggle_list__body {
    display: none;
    margin: 28px 0 46px 10px
}

@media screen and (max-width:640px) {
    .toggle_list__body {
        margin: 0
    }
}



.news .tags+form {
    margin-top: -46px
}

@media screen and (max-width:640px) {

    .news .tags+form {
        margin-top: -15px
    }
}

.news form[name=form_jump] {
    overflow: hidden
}

.news .entry__select {
    float: right;
    width: 200px;
    margin-bottom: 20px
}

@media screen and (max-width:640px) {

    .news .entry__select {
        width: 120px
    }
}

.message__text {
    width: 50%;
    float: left
}

@media screen and (max-width:640px) {
    .message__text {
        width: 100%;
        margin-right: 0;
        
    }
}

.message__text .message__title {
    margin-bottom: 50px;
    margin-top: -10px;
    font-size: 200%;
    line-height: 1.7em
}

@media screen and (max-width:640px) {
    .message__text .message__title {
        margin-bottom: 30px;
        font-size: 147%
    }
}

.message__text p {
    margin: 1.75em 0
}

.message__text p:last-child {
    margin-bottom: 0
}

.message__figure {
    float: right;
    width: 50%;
    padding-left: 50px
}

@media screen and (max-width:640px) {
    .message__figure {
        width: 100%;
        padding-left: 0
    }
}

.message__figure img {
    width: 100%
}

.way .section__inner .way_list {
    margin-top: 58px
}

@media screen and (max-width:640px) {
    .way .section__inner .way_list {
        margin-top: 20px;
    }
}

.way .section__inner .way_list__symbol {
    line-height: 1
}

.way .section__inner .way_list__main_title {
    margin-top: 0
}

.way .section__inner .way_list__text {
    margin-top: 15px
}

@media screen and (max-width:640px) {
    .way .section__inner .way_list__text {
        margin-top: 8px
    }
}

.way .section__inner .way_table .list_decimal_01 li {
    margin-bottom: 0
}

.history_list {
    width: 100%;
    border-bottom: 1px solid #ccc;
    font-size: 0px;
}

.history_list>li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 30px 12px;
    border-top: 1px solid #ccc
}

@media screen and (max-width:640px) {
    .history_list>li {
        display: block;
        padding: 0
    }
}

.history_list__year {
    position: relative;
    width: 138px;
    top: -13px;
    font-size: 40px;
    font-weight: 400
}

@media screen and (max-width:640px) {
    .history_list__year {
        top: -10px;
        font-size: 280%;
        line-height: 1.5;
        font-size: 30px;
    }
}

.history_list__txt {
    width: 640px;
    margin-top: 0;
    margin-left: 50px;
    font-size: 16px;
}

@media screen and (max-width:640px) {
    .history_list__txt {
        width: 100%;
        margin-left: 0;
        font-size: 14px;
    }
}

.history_list__figure {
    width: 280px;
    margin-left: 58px
}

@media screen and (max-width:640px) {
    .history_list__figure {
        width: 100%;
        margin: 20px auto
    }
}

.history_list__figure img {
    width: 100%
}

.contact_list {
    width: 960px;
    margin: 10px auto 0;
    border-top: 1px solid #ccc
}

@media screen and (max-width:640px) {
    .contact_list {
        margin-top: 20px;
        width: 100%
    }
}

.contact_list .toggle_list__btn {
    font-size: 120%
}

.contact_list>li {
    border-bottom: 1px solid #ccc
}

.seminar .seminar_list {
    margin-top: 70px
}

@media screen and (max-width:640px) {
    .seminar .seminar_list {
        margin-top: 20px
    }
}

@supports (-ms-ime-align:auto) {
}

.align_r {
    text-align: right !important
}

.align_c {
    text-align: center !important
}

.clear_fix:after,
.grid--12:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    font-size: 0;
    line-height: 0;
    visibility: hidden
}

.clear_fix,
.grid--12 {
    zoom: 1
}

.none {
    display: none !important
}

@media screen and (max-width:640px) {

    .sp_inline {
        display: inline !important
    }
}

.hover_swipe {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px transparent;
    box-shadow: 0 0 1px transparent;
    position: relative;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hover_swipe:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

@media screen and (min-width:641px) {
    html:not(.touch_device) .hover_swipe:hover {
        color: #fff
    }
}

html:not(.touch_device) .hover_swipe:hover:before {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1)
}

.hover_swipe--gray:before {
    background: #f5f5f5
}

html:not(.touch_device) .hover_swipe--gray:hover {
    color: #000
}

.hover_swipe--black:before {
    background: #000
}

html:not(.touch_device) .hover_swipe--black:hover {
    color: #fff
}

@media screen and (min-width:641px) {
    a>figure {
        position: relative
    }

    a>figure:after {
        position: absolute;
        display: block;
        content: '';
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(6, 16, 38, .6);
        z-index: 1;
        -webkit-transition-duration: .3s;
        transition-duration: .3s;
        opacity: 0
    }

    html:not(.touch_device) a:hover>figure:after {
        opacity: 1
    }
}

.link_basic {
    color: #1847C7
}

html:not(.touch_device) .link_basic:hover {
    text-decoration: underline
}

.mt15 {
    margin-top: 15px !important
}

.mt20 {
    margin-top: 20px !important
}

.mt25 {
    margin-top: 25px !important
}


.fw_200 {
    font-weight: 200
}
.fw_initial {
    font-weight: initial;
}

.fw_400 {
    font-weight: 400
}









 
 
 
 
  
 a {
   color: #1847C7;
   outline: none;
   text-decoration: none;
 }
 
 a:hover,
 a:active {
   color: #4A64A7;
   text-decoration: underline;
 }
 
 img {
   vertical-align: top;
 }
 
 div,h2,h3,h4,p,dl,dt,dd,ol,ul,li,form,input,textarea,table,tr,th,td,nav,section{
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 box-sizing: border-box;
 }
 
 
 
 
 .top-contact {
   margin: 0 auto 55px;
   text-align: center;
   width: 1000px;
 }
 .top-contact ul {
   display: inline-block;
   font-size: 1.43em;
   margin: 0;
   overflow: hidden;
   padding: 0;
 }
 .top-contact li {
   float: left;
   padding: 11px 50px;
 }
 @media screen and (max-width: 640px) {
    .top-contact li{
        width: 100%;
      }
   
}
 .top-contact li:first-child {
   border-right: 1px solid #E4E7E9;
 }
 .top-contact li a {
   background: url(../image/top_contact_icon_01.png) 15px center no-repeat #1847C7;
   color: #fff;
   display: block;
   height: 60px;
   line-height: 60px;
   text-align: center;
   width: 260px;
 }
 @media screen and (max-width: 640px) {
    .top-contact li a {
        width: 100%;
      }
   
}
 .top-contact li a:hover {
   background-color: #111E40;
   text-decoration: none;
 }

 
 
 
 .text-left {
   text-align: left!important;
 }
 
 .text-center {
   text-align: center!important;
 }
 
 
 
 
 
 
 
 
 
 .main-aside {
     margin: 55px 0 0 0;
 }
 
 .main-aside .top-contact {
   margin-bottom: 40px;
   width: 100%;
 }
 
 .top-contact ul {
   margin: 0 -15px;
 }
 @media screen and (max-width: 640px) {
    .top-contact ul {
        margin: 0;
      }
      .top-contact li:first-child {
        border-right: none;
    }
    .main-aside .top-contact {
        margin-bottom: 0px;
        width: 100%;
      }
}
 
 .current {
   display:block;
 }
 .btn-cvline {
   font-size: 18px;
   font-weight: bold;;
   transition: all .3s ease;
 }
 .btn-cvline:hover {
   opacity: 0.7;
 }
 .cv-inquiry {
   background-image: url(../image/top_contact_icon_01.png) !important;
   background-color: #6e88e5 !important;
   color: #FFF !important;
 }
 .cv-seminar {
   
   background-image: url(../image/top_contact_icon_01.png) !important;
   background-color: #1847C7 !important;
   color: #FFF !important;
 }
 

 
#leader_table td.table05 {
   
   padding:5px 10px;
}



.gol_map_table01 {
    width: 1200px;
   height: 780px;
   font-size:17px;
   line-height:17px;
}
.gol_map_table01 td {
   text-align:center;
   vertical-align: middle;
}
.gol_map_table01 th {
   text-align:center;
   vertical-align: middle;
}
.gol_map_table01 table.color01  td a {
   vertical-align:middle;
   width:218px;
   height:50px;
   background:#dcdfeb;
   border-radius:4px;
   border:2px #6e78ac solid;
   display:flex;
   align-items: center;
   justify-content: center;
}
.gol_map_table01 table.color02  td a {
   vertical-align:middle;
   width:218px;
   height:50px;
   background:#e5e1ec;
   border-radius:4px;
   border:2px #9283b0 solid;
   display:flex;
   align-items: center;
   justify-content: center;
   color:#6d5895;
}


.th_font-a {
 background:#6e88e5;
}

.th_font-b {
 background:#1847C7;
 color:#fff;
}

body.environment .page_content .intro h3 {
    font-size: 277%;
    margin-bottom: 20px;
    line-height: 1.7
}

@media screen and (max-width:679px) {
    body.environment .page_content .intro h3 {
        font-size: 138%
    }
}

section {
    position: relative;
    margin-bottom: 80px
}

@media screen and (max-width:679px) {
    section {
        margin-bottom: 40px
    }
}

section .img {
    position: absolute;
    bottom: -30px;
    width: 340px
}

@media screen and (max-width:679px) {
    section .img {
        position: static;
        width: 100%;
        border: #000 4px solid;
        border-bottom: none;
        box-sizing: border-box
    }
}

@media screen and (max-width:679px) {
    section .img img {
        width: 100%
    }
}

section .text {
    border: #000 4px solid;
    width: 860px;
    box-sizing: border-box;
    min-height: 240px;
    padding: 45px 65px
}

@media screen and (max-width:679px) {
    section .text {
        width: 100%;
        padding: 20px 25px;
        min-height: auto
    }
}

section .text h4 {
    font-size: 185%;
    margin-bottom: 10px
}

@media screen and (max-width:679px) {
    section .text h4 {
        font-size: 138%;
        line-height: 1.8
    }
}

section .text p {
    font-size: 108%;
    line-height: 2;
    margin-top: 25px;
}

@media screen and (max-width:679px) {
    section .text p {
        font-size: 92%
    }
}

section .text dl {
    margin-top: 15px
}

section .text dl dt {
    font-weight: bold;
    font-size: 108%;
    line-height: 2
}

section .text dl dd {
    font-size: 108%;
    line-height: 2
}

section.text_l .img {
    right: 0
}

section.text_l .text {
    padding-right: 110px
}

@media screen and (max-width:679px) {
    section.text_l .text {
        padding-right: 25px
    }
}

section.text_r .img {
    left: 0
}

section.text_r .text {
    margin: 0 0 0 auto;
    padding-left: 110px
}

@media screen and (max-width:679px) {
    section.text_r .text {
        padding-left: 25px
    }
}

section.text_only .text {
    width: 100%
}

section.text_only .text ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

section.text_only .text li {
    display: inline-block;
    flex-basis: 22%
}

@media screen and (max-width:679px) {
    section.text_only .text li {
        flex-basis: 100%
    }
}

section.text_only .text li:nth-child(4n) {
    flex-basis: 34%
}

@media screen and (max-width:679px) {
    section.text_only .text li:nth-child(4n) {
        flex-basis: 100%
    }
}

section.text_only .text dl {
    margin-top: 0
}

section.text_only .text dl dd,
section.text_only .text dl dt {
    display: inline-block;
    vertical-align: middle;
    font-weight: normal
}

section.text_only .text dl dt:after {
    content: " : "
}