@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap');

/*
Theme Name: Sales School
Theme URI: null
Description: Description
Author: 
Version: 1.0
*/

.aligncenter {
    display: block;
    margin: 0 auto;
}

.alignright {
    float: right;
}

.alignleft {
    float: left;
}

img[class*="wp-image-"],
img[class*="attachment-"] {
    height: auto;
    max-width: 100%;
}

.wp-block-image figure,
.wp-block-image figcaption {
    display: block;
}

a.nolink,
a.nolink:hover {
    opacity: 1;
    cursor: default;
    pointer-events: none;
}


/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
    margin: 1px;
    padding: 0;
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 1em;
}

html {
    font-size: 62.5%;
}

body,
table,
input,
textarea,
select,
option {
    font-family: 'Noto Sans JP', sans-serif;
}

article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
    display: block;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

:focus {
    outline: 0;
}

ins {
    text-decoration: none;
}

del {
    text-decoration: line-through;
}

img {
    vertical-align: top;
    max-width: 100%;
    height: auto;
}

a,
a:link {
    color: #222;
    text-decoration: none;
    transition: .4s;
}

a:visited {
    color: #222;
}

a:hover {
    color: #222;
}

a:active {
    color: #222;
}


/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/

body {
    color: #222;
    font-size: 16px;
    font-weight: 500;
    font-feature-settings: 'palt';
    line-height: 2.06;
    text-align: justify;
    text-justify: inter-ideograph;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    background-color: #FFF;
}

#container {
    position: relative;
    text-align: left;
    overflow: hidden;
}

a[href^="tel:"] {
    cursor: default;
    pointer-events: none;
}

@media all and (min-width: 1025px) {
    .sp {
        display: none !important;
    }
}

@media all and (max-width: 1024px) {
    body {
        min-width: inherit;
        font-size: 12px;
    }
    a:hover,
    a:hover img {
        opacity: 1 !important;
    }
    .pc {
        display: none !important;
    }
    a[href^="tel:"] {
        cursor: pointer;
        pointer-events: auto;
    }
}


/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/

#gHeader {
    padding: 3.7rem 0 0;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 999;
}

#gHeader.fixed {
    position: fixed;
    background-color: #fff;
}

#gHeader.fixed.noBg {
    background: none;
}

#gHeader .logo {
    width: 200px;
    position: absolute;
    left: 3.8rem;
    top: 3.2rem;
    z-index: 9999;
}

#gHeader.fixed .logo {
    margin-top: -3.2rem;
}

#gHeader .logo .img02 {
    display: none;
}

#gHeader.fixed .logo .img01 {
    display: none;
}

#gHeader.fixed .logo .img02 {
    display: block;
}

#gHeader.fixed.noBg .logo .img01 {
    display: block;
}

#gHeader.fixed.noBg .logo .img02 {
    display: none;
}

#gHeader .hLinkUl {
    position: absolute;
    right: 0;
    top: 0;
    width: 460px;
    display: flex;
    justify-content: flex-end;
}

#gHeader .hLinkUl li {
    width: 18.3rem;
    display: flex;
}

#gHeader .hLinkUl a {
    padding: 1.1rem 3rem 1.1rem 1rem;
    width: 100%;
    position: relative;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    background-color: #d31800;
    transition: none;
}

#gHeader .hLinkUl a::before {
    width: 3rem;
    height: 100%;
    position: absolute;
    left: -2.4rem;
    top: 0;
    background: url(img/common/h_bg02.png) no-repeat center center / 100% 100%;
    content: '';
}

#gHeader .hLinkUl li:first-of-type {
    margin-right: -3.7rem;
    width: 29.3rem;
}

#gHeader .hLinkUl li:first-of-type a {
    padding-right: 6rem;
    background-color: #222;
}

#gHeader .hLinkUl li:first-of-type a::before {
    background-image: url(img/common/h_bg01.png);
}

#gNavi {
    margin: 0 auto;
    max-width: calc(100% - 720px);
    padding-right: 4rem;
    box-sizing: border-box;
}

#gNavi .hLinkList {
    display: flex;
    justify-content: center;
}

#gNavi .hLinkList li {
    margin: 0 2.3rem;
}

#gNavi .hLinkList li.on>a {
    color: #a6b0c4;
}

#gNavi .hLinkList a {
    display: block;
    position: relative;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.66;
    z-index: 9999;
    font-family: 'Open Sans', sans-serif;
}

#gHeader.fixed #gNavi .hLinkList a {
    padding-bottom: 35px;
    color: #222;
}

#gHeader.fixed.noBg #gNavi .hLinkList a {
    color: #fff;
}

#gNavi .hLinkList .bgBox {
    padding: 8.9rem 0 10.5rem;
    width: 100%;
    left: 0;
    top: 100%;
    position: absolute;
    background-color: rgba(22, 57, 150, 0.85);
    display: none;
}

#gNavi .hLinkList .bgBox::before {
    width: 100%;
    height: 110px;
    position: absolute;
    left: 0;
    top: -110px;
    background-color: rgba(22, 57, 150, 0.85);
    content: '';
}

#gNavi .hLinkList .bgBox .inner {
    margin: 0 auto;
    width: 85%;
    max-width: 1200px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#gNavi .hLinkList .bgBox .ttl {
    color: #fff;
    font-size: 30px;
}

#gNavi .hLinkList .bgBox .gLinkList {
    width: 76%;
    display: flex;
}

#gNavi .hLinkList .bgBox .gLinkList li {
    margin: 0 2.7rem 0 0;
    width: 33%;
}

#gNavi .hLinkList .bgBox .gLinkList a {
    padding: 0 0.5rem 0.8rem 1rem;
    width: 100%;
    justify-content: space-between;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    border-bottom: 2px solid #fff;
}

#gHeader.fixed #gNavi .hLinkList .bgBox .gLinkList a {
    padding-bottom: 0.8rem;
    color: #fff;
}

#gNavi .hLinkList .bgBox .gLinkList a i {
    font-size: 15px;
    transition: .4s;
}

@media (min-width: 1025px) and (max-width: 1500px) {
    #gHeader .hLinkUl {
        width: 300px;
    }
    #gHeader .hLinkUl li a {
        padding: 1.5rem 3rem 1.5rem 1rem;
        font-size: 1.1rem;
    }
    #gNavi {
        max-width: calc(100% - 400px);
    }
    #gHeader .logo {
        width: 150px;
    }
}

@media (min-width: 1025px) and (max-width: 1700px) {
    #gNavi .hLinkList li {
        margin: 0 10px;
    }
}

@media (min-width: 1025px) and (max-width: 1240px) {
    #gNavi {
        padding-right: 130px;
    }
    #gNavi .hLinkList a {
        font-size: 1.3rem;
    }
}

@media all and (min-width: 1025px) {
    #gNavi .hLinkList .bgBox .gLinkList a:hover {
        color: #fff;
    }
    #gNavi .hLinkList .bgBox .gLinkList a:hover i {
        transform: translateX(1rem);
    }
    #gHeader .hLinkUl a:hover {
        color: #222;
        background-color: #fff;
    }
    #gHeader .hLinkUl a:hover::before {
        background-image: url(img/common/h_bg03.png) !important;
    }
    #gHeader .hLinkUl li:first-of-type a:hover {
        background-color: #fff;
    }
    #gNavi .hLinkList a:hover {
        color: #a6b0c4 !important;
    }
}

@media all and (max-width: 1024px) {
    #gHeader {
        padding: 1.1rem 1rem;
        box-sizing: border-box;
        position: fixed;
        z-index: 99999;
    }
    #gHeader .logo {
        width: 15.5rem;
        position: relative;
        left: 0;
        top: 0;
        position: relative;
        z-index: 99999;
    }
    #gHeader .hLinkUl {
        padding: 0 12px;
        position: fixed;
        top: auto;
        bottom: 5.7rem;
        width: 100%;
        box-sizing: border-box;
        justify-content: space-between;
        z-index: 99;
    }
    #gHeader .hLinkUl li {
        width: 41.53%;
    }
    #gHeader .hLinkUl a {
        padding: 0.7rem 1rem;
        font-size: 14px;
        border-radius: 5px;
    }
    #gHeader .hLinkUl a::before {
        display: none;
    }
    #gHeader .hLinkUl li:first-of-type {
        margin-right: 0;
        width: 55.74%;
    }
    #gHeader .hLinkUl li:first-of-type a {
        padding-right: 1rem;
    }
    #gNavi {
        display: none;
    }
    .menu {
        width: 2.7rem;
        height: 1.6rem;
        position: fixed;
        right: 1.3rem;
        top: 1.8rem;
        cursor: pointer;
        z-index: 99999;
    }
    .menu span {
        width: 100%;
        height: 0.2rem;
        position: absolute;
        left: 0;
        top: 0;
        background-color: #fff;
    }
    .menu.on span {
        transform: translateY(7px) rotate(45deg);
    }
    .menu span:nth-child(2) {
        top: 0.7rem;
    }
    .menu.on span:nth-child(2) {
        display: none;
    }
    .menu span:last-of-type {
        top: auto;
        bottom: 0;
    }
    .menu.on span:last-of-type {
        transform: translateY(-7px) rotate(-45deg);
    }
    #gHeader.fixed .menu span {
        background-color: #222;
    }
    .menuBox {
        width: 100%;
        height: 100vh;
        padding: 10.4rem 2.5rem;
        position: absolute;
        left: 0;
        top: 0;
        box-sizing: border-box;
        overflow-y: auto;
        background-color: rgba(22, 57, 150, 0.95);
        z-index: 999;
        display: none;
    }
    .menuBox .linkList {
        margin-bottom: 6rem;
    }
    .menuBox .linkList a {
        color: #fff;
    }
    .menuBox .linkList>li {
        margin-bottom: 1.4rem;
        padding-bottom: 1.4rem;
        color: #ccc;
        font-size: 12px;
        border-bottom: 1px solid #fff;
    }
    .menuBox .linkList>li:last-of-type {
        border-bottom: none;
    }
    .menuBox .linkList>li>a {
        font-size: 16px;
        font-weight: bold;
        display: inline-block;
        vertical-align: top;
    }
    .menuBox .linkList>li>span {
        margin: 0.4rem 0 0 0;
        padding-right: 2.6rem;
        float: right;
        background: url(img/common/icon04.png) no-repeat right 0.2rem center / 0.8rem auto;
    }
    .menuBox .linkList>li>span.on {
        background-image: url(img/common/icon07.png);
        background-size: 13px auto;
    }
    .menuBox .linkList .linkUl {
        margin: 0.7rem 0 0.3rem;
        display: none;
    }
    .menuBox .linkList .linkUl li:not(:last-of-type) {
        margin-bottom: 0.5rem;
    }
    .menuBox .linkList .linkUl li a {
        font-size: 14px;
        font-weight: 400;
    }
    .menuBox .btnList li:not(:last-of-type) {
        margin-bottom: 1.1rem;
    }
    .menuBox .btnList a {
        padding: 0.9rem 3rem 0.9rem 1.5rem;
        display: block;
        font-size: 14px;
        font-weight: 700;
        border-radius: 5px;
        background: url(img/common/icon03.png) no-repeat right 1.5rem center / 0.8rem auto;
        background-color: #fff7f7;
    }
    .menuBox .btnList a span {
        padding-left: 1.5rem;
        background: url(img/common/icon06.png) no-repeat left center / 1rem auto;
    }
}

@media all and (max-width: 389px) {
    #gHeader .hLinkUl a {
        font-size: 12px;
    }
}


/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/

#gFooter {
    padding-bottom: 2.9rem;
}

#gFooter .fBox {
    margin: 0 auto;
    width: 95%;
    max-width: 1420px;
}

#gFooter .fNavi {
    margin-bottom: 5.1rem;
    display: flex;
    flex-wrap: wrap;
}

#gFooter .fNavi>li {
    /*	margin-right: 2.5%;*/
    /*	width: 12%;*/
    margin-right: 1%;
    width: 10%;
    font-size: 14px;
}

#gFooter .fNavi>li:last-of-type {
    margin-right: 0;
}

#gFooter .fNavi .list01 span {
    display: block;
    color: #163996;
    font-size: 10px;
    font-weight: 700;
}

#gFooter .fNavi li a {
    display: block;
}

#gFooter .copyright {
    margin: 0 4rem;
    font-size: 12px;
    font-style: normal;
    color: #7e7e7e;
}

@media all and (min-width: 1025px) {
    #gFooter .fNavi li a:hover {
        color: #ccc;
    }
    #gFooter .fNavi li a:hover span {
        color: #ccc;
    }
}

@media (min-width: 1025px) and (max-width: 1250px) {
    #gFooter .fBox {
        width: 95%;
    }
    #gFooter .fNavi>li {
        /*		margin-right: 2.08%;*/
        /*		width: 12.5%;*/
        margin-right: 1%;
        width: 10%;
        font-size: 1.2rem;
    }
}

@media all and (max-width: 1024px) {
    #gFooter {
        padding-bottom: 15rem;
    }
    #gFooter .fBox {
        padding: 0 2.5rem;
        width: auto;
    }
    #gFooter .fNavi {
        margin: -3.5rem 0 6.5rem;
        justify-content: space-between;
    }
    #gFooter .fNavi>li {
        margin: 3.5rem 0 0;
        width: 49.5%;
        font-size: 14px;
    }
    #gFooter .fNavi .list01 span {
        display: block;
        color: #163996;
        font-size: 10px;
    }
    #gFooter .fNavi li a {
        display: block;
        font-weight: 700;
    }
    #gFooter .copyright {
        margin: 0 2rem;
        text-align: center;
    }
}


/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/


/* clearfix */

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}


/* flex */

.flex,
.flexA,
.flexB,
.flexC {
    display: flex;
    flex-wrap: wrap;
}

.flexA {
    justify-content: space-around;
}

.flexB {
    justify-content: space-between;
}

.flexC {
    justify-content: center;
}


/*------------------------------------------------------------
	content
------------------------------------------------------------*/

.content {
    margin: 0 auto;
    width: 85%;
    max-width: 1400px;
}

@media all and (max-width: 1024px) {
    .content {
        margin: 0 2rem;
        padding: 0;
        width: auto;
    }
}


/*------------------------------------------------------------
	page_title
------------------------------------------------------------*/

.pageTitle {
    margin-bottom: 13rem;
    height: 33vh;
    max-height: 53.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(img/common/page_title_bg.jpg) no-repeat center center / cover;
}

.pageTitle.page02 {
    background: url(img/common/page_title_bg01.jpg) no-repeat center center / cover;
}

.pageTitle.page01 {
    margin-bottom: 27.1rem;
    height: 78rem;
    max-height: inherit;
}

.pageTitle .lBox {
    width: 44%;
    color: #fff;
}

.pageTitle .photo {
    margin-top: 1.6rem;
    width: 43.08%;
    height: 67rem;
    background: url(img/page/page_photo01.jpg) no-repeat center center / cover;
}

.pageTitle .lead {
    color: #fff;
    font-size: 36px;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
}

.pageTitle .lead span {
    color: #fff;
    font-size: 0.5vw;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
}

.pageTitle .lBox .lead {
    margin-bottom: 1.9rem;
    margin-left: -0.2rem;
    letter-spacing: -0.04em;
}

.pageTitle .title {
    margin-left: 0;
    display: block;
    color: #fff;
    font-size: 30px;
    font-weight: 600;
    font-family: 'Open Sans', sans-serif;
}

.pageTitle .lBox .title {
    margin-bottom: 1.2rem;
}

.pageTitle .lBox p {
    margin-bottom: 3rem;
    line-height: 2.19;
}

.pageTitle .inner {
    margin-top: 8rem;
    width: 85%;
    max-width: 1300px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pageTitle.page01 .inner {
    margin-top: 7rem;
    align-items: flex-start;
}

.pageTitle .linkList {
    margin-top: -1.8rem;
    display: flex;
    width: 48.54%;
}

.pageTitle .linkList li {
    width: calc((100% - 2.8rem) / 3);
}

.pageTitle .linkList li:not(:last-of-type) {
    margin-right: 1.4rem;
}

.pageTitle .linkList a {
    padding: 0 0.5rem 0.5rem 1rem;
    width: 100%;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 18px;
    box-sizing: border-box;
    border-bottom: 2px solid #fff;
}

.pageTitle .linkList a .fa-arrow-right {
    margin-left: 1rem;
    transition: .4s;
}

@media all and (min-width: 1025px) {
    .pageTitle .linkList a:hover i {
        transform: translateX(1rem);
    }
}

@media (min-width: 1025px) and (max-width: 1150px) {
    .pageTitle .linkList {
        width: 63%;
    }
    .pageTitle .lBox .lead {
        font-size: 4.5rem;
    }
}

@media all and (min-width: 1025px) {
    .pageTitle.page01 {
        padding-top: 14rem;
        height: auto;
        min-height: 78rem;
        box-sizing: border-box;
    }
    .pageTitle.page01 .inner .photo {
        margin-bottom: -13rem;
    }
}

@media all and (max-width: 1024px) {
    .pageTitle {
        margin-bottom: 6.2rem;
        padding: 9.6rem 0 4rem;
        height: 43.7rem;
        max-height: inherit;
        display: block;
        box-sizing: border-box;
        background-image: url(img/common/sp_page_title_bg.jpg);
    }
    .pageTitle.page02 {
        background-image: url(img/common/page_title_bg01.jpg);
    }
    .pageTitle.page01 {
        margin-bottom: 20rem;
        padding-top: 10rem;
        height: 70.7rem;
    }
    .pageTitle .lBox {
        width: auto;
        color: #fff;
    }
    .pageTitle .photo {
        margin-top: 0;
        width: 87.18%;
        height: 40.6rem;
        position: absolute;
        top: auto;
        bottom: -45rem;
        right: 6.41%;
        transform: translateX(50%);
        background-image: url(img/page/sp_page_photo01.jpg);
    }
    .pageTitle .lead {
        margin: 0 0 3.2rem;
        font-size: 3.5vw;
        text-align: center;
        line-height: 1.8;
    }
    .pageTitle .lead span {
        font-size: 1.8vw;
    }
    .pageTitle.page01 .lead {
        margin-bottom: 2rem;
        line-height: 1.25;
    }
    .pageTitle .title {
        margin-left: 0;
        font-size: 17px;
        text-align: center;
    }
    .pageTitle .lBox p {
        margin-bottom: 2.5rem;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.83;
    }
    .pageTitle .inner {
        margin-top: 0;
        padding: 0 2rem;
        width: 100%;
        max-width: inherit;
        display: block;
        box-sizing: border-box;
    }
    .pageTitle.page01 .inner {
        margin-top: 0;
        padding: 0 3.8rem;
    }
    .pageTitle.page01 .comLinkList li a {
        padding: 0 0 0.4rem;
        font-size: 14px;
        line-height: 1.71;
    }
    .pageTitle .linkList {
        margin: 0 2.6rem;
        display: block;
        width: auto;
    }
    .pageTitle .linkList li {
        margin: 0 auto 1.1rem;
        width: auto;
        max-width: 450px;
    }
    .pageTitle .linkList li:last-of-type {
        margin-bottom: 0;
    }
    .pageTitle .linkList li:not(:last-of-type) {
        margin-right: auto;
    }
    .pageTitle .linkList a {
        padding: 0 0.5rem 1rem 1rem;
        font-size: 14px;
        border-bottom: 2px solid #fff;
    }
    .pageTitle .linkList a .fa-arrow-right {
        margin: 0 1rem;
    }
}

@media all and (max-width: 374px) {
    .pageTitle.page01 {
        margin-bottom: 30rem;
    }
}


/*------------------------------------------------------------
	comLinkUl
------------------------------------------------------------*/

.comLinkUl {
    margin: -7.7rem 0 17rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.comLinkUl::after {
    width: 29.23%;
    content: '';
}

.comLinkUl li {
    margin-top: 7.7rem;
    width: 29.23%;
}

.comLinkUl li a {
    display: block;
}

.comLinkUl li .subBox {
    margin-bottom: 0.6rem;
}

.comLinkUl li .pho {
    margin-bottom: 2rem;
    position: relative;
    overflow: hidden;
}

.comLinkUl li .pho .img {
    padding-bottom: 67.11%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    transition: .4s;
}

.comLinkUl li .pho::before {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.2);
    content: '';
    opacity: 0;
}

.comLinkUl li .ttl {
    font-size: 20px;
    line-height: 1.55;
    font-weight: 700;
}

.comLinkUl li .txt {
    margin-bottom: 0.8rem;
    display: flex;
    font-size: 15px;
    color: #ccc;
}

.comLinkUl li .time {
    margin-right: 0.4rem;
    width: 8.5rem;
    color: #163996;
}

.comLinkUl li .txt01 {
    max-width: calc(100% - 9rem);
}

.comLinkUl li p {
    font-size: 14px;
    line-height: 1.79;
}

@media all and (min-width: 1025px) {
    .comLinkUl li a:hover .pho .img {
        transform: scale(1.1);
        opacity: 0.7;
    }
    .comLinkUl li a:hover .pho::after {
        opacity: 1;
    }
}

@media all and (max-width: 1024px) {
    .comLinkUl {
        margin: 0 0 10.3rem;
        display: block;
    }
    .comLinkUl::after {
        display: none;
    }
    .comLinkUl li {
        margin: 0 0 3.7rem;
        width: auto;
    }
    .comLinkUl li:last-of-type {
        margin-bottom: 0;
    }
    .comLinkUl li .subBox {
        margin-bottom: 1.1rem;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    .comLinkUl li .pho {
        margin: -0.2rem 0 0;
        padding-bottom: 0;
        width: 12.1rem;
    }
    .comLinkUl li .pho .img {
        height: 8.1rem;
        padding-bottom: 0;
    }
    .comLinkUl li .ttl {
        width: calc(100% - 14.2rem);
        font-size: 19px;
        line-height: 1.72;
    }
    .comLinkUl li .txt {
        margin-bottom: 0.8rem;
    }
    .comLinkUl li p {
        font-size: 14px;
        line-height: 1.79;
    }
}


/*------------------------------------------------------------
	comLinkUl01
------------------------------------------------------------*/

.comLinkUl01 li:not(:last-of-type) {
    margin-bottom: 4rem;
}

.comLinkUl01 li a {
    padding: 4.7rem 6rem 3.8rem 4.5rem;
    display: block;
    position: relative;
    color: #fff;
    overflow: hidden;
}

.comLinkUl01 li a::after {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url(img/index/service_bg02.jpg) no-repeat center center / cover;
    transition: .4s;
    content: '';
    z-index: -1;
}

.comLinkUl01 li.list01 a::after {
    background-image: url(img/index/service_bg03.jpg);
}

.comLinkUl01 li.list02 a::after {
    background-image: url(img/index/service_bg04.jpg);
}

.comLinkUl01 li a::before {
    width: 22px;
    height: 67px;
    position: absolute;
    right: 4.3rem;
    top: 50%;
    transform: translateY(-50%);
    background: url(img/common/icon11.png) no-repeat center center / cover;
    content: '';
    transition: .4s;
}

.comLinkUl01 li .ttl {
    margin-bottom: 6.1rem;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    font-family: 'Open Sans', sans-serif;
}

.comLinkUl01 li h4 {
    margin-bottom: 0.2rem;
    font-size: 24px;
    line-height: 1.46;
}

@media all and (min-width: 1025px) {
    .comLinkUl01 li a:hover::after {
        transform: scale(1.1);
    }
    .comLinkUl01 li a:hover::before {
        transform: translateY(-50%) translateX(1rem);
    }
}

@media all and (max-width: 1024px) {
    .comLinkUl01 li:not(:last-of-type) {
        margin-bottom: 2.9rem;
    }
    .comLinkUl01 li a {
        padding: 2.3rem 3rem 1.6rem 2.5rem;
    }
    .comLinkUl01 li a::before {
        width: 1.4rem;
        height: 4.6rem;
        right: 2.1rem;
    }
    .comLinkUl01 li .ttl {
        margin-bottom: 6.1rem;
        font-size: 16px;
    }
    .comLinkUl01 li h4 {
        margin-bottom: 0.2rem;
        font-size: 18px;
    }
}


/*------------------------------------------------------------
	index
------------------------------------------------------------*/

.wp-pagenavi {
    margin-bottom: 15.6rem;
    font-size: 0;
    position: relative;
    clear: both;
    text-align: center;
}

.wp-pagenavi::before {
    width: 0.1rem;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 0;
    background-color: #ccc;
    content: '';
}

.wp-pagenavi.noline::before {
    display: none;
}

.wp-pagenavi a,
.wp-pagenavi span {
    font-size: 19px;
    font-weight: 700;
    display: inline-block;
    text-decoration: none;
    border: none;
    padding: 0.1rem 0.5rem;
    margin: 0 3rem;
    line-height: 1.2;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
    color: #ccc;
}

.wp-pagenavi span.current,
.wp-pagenavi .page,
.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .pages {
    display: none;
}

.wp-pagenavi .extend {
    display: none;
}

@media all and (max-width: 1024px) {
    .wp-pagenavi {
        margin-bottom: 85px;
        font-size: 0;
    }
    .wp-pagenavi a,
    .wp-pagenavi span {
        font-size: 15px;
        margin: 0 2.5rem;
    }
    .wp-pagenavi a:hover {
        color: #222;
    }
}

@media all and (max-width: 374px) {
    .wp-pagenavi a,
    .wp-pagenavi span {
        margin: 0 1.5rem;
    }
}


/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/

.pagePath {
    margin: 0 0 3.6rem auto;
    width: calc(100% - 14rem);
}

.pagePath li {
    margin-right: 0.5rem;
    display: inline-block;
    color: #8d8686;
    font-weight: 700;
    vertical-align: top;
}

.pagePath li:not(:first-of-type) a {
    color: #8d8686;
}

.pagePath li:last-of-type {
    margin-bottom: 0;
}

.pagePath li a {
    margin-right: 0.5rem;
}

.pagePath li:last-of-type a {
    padding-left: 2.5rem;
}

.pagePath li:first-of-type a {
    padding-left: 2.5rem;
    background: url(img/common/icon01.png) no-repeat left center / 1.8rem auto;
}

@media all and (min-width: 1025px) {
    .pagePath li a:hover {
        opacity: 0.7;
    }
}

@media all and (max-width: 1024px) {
    .pagePath {
        margin: 0 0 6.3rem;
        width: auto;
        text-align: center;
    }
    .pagePath li {
        margin-right: 0.5rem;
        font-size: 16px;
    }
    .pagePath li:last-of-type {
        margin-bottom: 0;
    }
    .pagePath li a {
        display: inline-block;
        margin-right: 1.3rem;
    }
    .pagePath li:first-of-type a {
        width: 1.6rem;
        height: 18px;
        padding-left: 0;
        font-size: 0;
        background-size: cover;
        vertical-align: 15px;
    }
}


/*------------------------------------------------------------
	comBtmBox
------------------------------------------------------------*/

.comBtmBox {
    margin: 0 0 14rem auto;
    padding: 12.2rem 0 11.4rem;
    width: 93.13%;
    background: url(img/common/bg01.jpg) no-repeat center center / cover;
}

.comBtmBox .imgBox {
    margin: 0 auto;
    align-items: center;
    width: 85%;
    max-width: 1251px;
    display: flex;
    justify-content: space-between;
}

.comBtmBox .imgBox .photoBox {
    width: 51%;
}

.comBtmBox .imgBox .photoBox a {
    display: block;
    position: relative;
}

.comBtmBox .imgBox .photoBox a::after {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.3);
    content: '';
    opacity: 0;
    transition: .4s;
}

.comBtmBox .imgBox .photoBox a::before {
    width: 8.59vw;
    height: 8.59vw;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: url(img/common/icon02.png) no-repeat center center / cover;
    transition: .3s;
    content: '';
    z-index: 2;
}

.comBtmBox .imgBox .textBox {
    width: 34%;
    color: #fff;
}

.comBtmBox .imgBox .textBox h3 {
    margin-bottom: 2.3rem;
    font-size: 32px;
    line-height: 1.44;
    letter-spacing: 0.03em;
}

.comBtmBox .imgBox .textBox h3 span {
    margin-bottom: 0.9rem;
    padding-bottom: 0.9rem;
    display: inline-block;
    vertical-align: top;
    border-bottom: 2px solid #fff;
}

.comBtmBox .imgBox .textBox h3 span:last-of-type {
    margin-bottom: 0;
}

.comBtmBox .imgBox .textBox p {
    margin-bottom: 1.8rem;
    font-size: 17px;
    line-height: 2.06;
}

.comBtmBox .imgBox .textBox dl {
    margin-bottom: 3.7rem;
    font-size: 18px;
    line-height: 1.85;
}

.comBtmBox .imgBox .textBox dt {
    float: left;
}

.comBtmBox .imgBox .textBox dd {
    padding-left: 3.5em;
}

.comBtmBox .imgBox .textBox .comBtn {
    margin-left: 0.8rem;
}

@media (min-width: 1025px) and (max-width: 1500px) {
    .comBtmBox {
        width: 93.13%;
    }
    /* .comBtmBox .imgBox .textBox h3 {
		font-size: 23px;
	} */
    .comBtmBox .imgBox .textBox .comBtn {
        width: 100%;
        max-width: 40.5rem;
    }
    /* .comBtmBox .imgBox .textBox .comBtn a {
		font-size: 14px;
	} */
    .comBtmBox .imgBox .textBox .comBtn a .img {
        width: 7rem;
        left: 0.7rem;
    }
}

@media all and (min-width: 1025px) {
    .comBtmBox .imgBox .photoBox a {
        background-color: #000;
    }
    .comBtmBox .imgBox .photoBox a img {
        transition: .4s;
    }
    .comBtmBox .imgBox .photoBox a:hover::after {
        opacity: 1;
    }
    .comBtmBox .imgBox .photoBox a:hover::before {
        transform: scale(1.1) translate(-50%, -50%);
    }
    .comBtmBox .imgBox .textBox .comBtn a:hover {
        color: #ccc;
    }
    .comBtmBox .imgBox .textBox {
        min-width: 410px;
    }
    .comBtmBox .imgBox .photoBox {
        max-width: calc(100% - 440px);
    }
    .comBtmBox .imgBox .photoBox a::before {
        max-width: 16.5rem;
        max-height: 16.5rem;
    }
}

@media all and (max-width: 1024px) {
    .comBtmBox {
        margin: 0 0 0;
        padding: 6rem 2.5rem 7.5rem;
        width: auto;
        background-image: url(img/common/sp_bg01.jpg);
    }
    .comBtmBox .imgBox {
        margin-bottom: 5rem;
        padding: 0;
        width: auto;
        transform: translateX(0);
        display: block;
    }
    .comBtmBox .imgBox .photoBox {
        width: auto;
    }
    .comBtmBox .imgBox .photoBox img {
        width: 100%;
    }
    .comBtmBox .imgBox .photoBox a {
        display: block;
        position: relative;
    }
    .comBtmBox .imgBox .photoBox a::before {
        width: 9rem;
        height: 9rem;
    }
    .comBtmBox .imgBox .textBox {
        margin-bottom: 3.3rem;
        width: auto;
        color: #fff;
    }
    .comBtmBox .imgBox .textBox h3 {
        margin-bottom: 2.9rem;
        font-size: 26px;
        text-align: center;
        letter-spacing: 0;
    }
    .comBtmBox .imgBox .textBox h3 span {
        margin-bottom: 0.5rem;
        padding-bottom: 0.3rem;
    }
    .comBtmBox .imgBox .textBox p {
        margin-bottom: 2.5rem;
        font-size: 16px;
        line-height: 2.19;
    }
    .comBtmBox .imgBox .textBox dl {
        margin-bottom: -0.5rem;
        font-size: 16px;
        line-height: 2;
    }
    .comBtmBox .imgBox .textBox dd {
        padding-left: 2.7em;
    }
    .comBtmBox .imgBox .textBox .comBtn {
        margin-left: 0.8rem;
    }
}

@media all and (max-width: 374px) {
    .comBtmBox .imgBox .textBox h3 {
        font-size: 21px;
    }
    .comBtmBox .imgBox .textBox dl {
        font-size: 14px;
    }
}


/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/

.comBtn {
    width: 40.5rem;
}

.comBtn.btn01 {
    margin: 0 auto;
    width: 38.7rem;
}

.comBtn a {
    padding: 2rem 4.2rem;
    display: block;
    color: #000;
    position: relative;
    font-size: 20px;
    text-align: center;
    border-radius: 45px;
    background: url(img/common/icon03.png) no-repeat right 3rem center / 1.1rem auto;
    background-color: #fff;
}

.comBtn.btn01 a {
    padding: 1.6rem 5rem;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    background-color: #222;
    background-size: 7px auto;
}

.comBtn a .img {
    width: 9.2rem;
    position: absolute;
    left: 1.3rem;
    top: -3rem;
}

@media all and (min-width: 1025px) {
    .comBtn a:hover {
        color: #fff;
        background-image: url(img/common/icon04.png);
        background-color: #222;
    }
    .comBtn.btn01 a:hover {
        background-color: #163996;
    }
}

@media all and (max-width: 1024px) {
    .comBtn {
        margin: 0 auto;
        width: auto;
        max-width: 35rem;
    }
    .comBtn.btn01 {
        margin: 0 auto;
        width: 100%;
        max-width: 32.5rem;
    }
    .comBtn a {
        padding: 1.2rem 5rem;
        font-size: 18px;
        background-size: 0.8rem auto;
    }
    .comBtn a .img {
        left: 0;
        top: -4rem;
    }
}

@media all and (max-width: 374px) {
    .comBtn a {
        font-size: 14px;
    }
}


/*------------------------------------------------------------
	comBtmLinkList
------------------------------------------------------------*/

.comBtmLinkList {
    margin-bottom: 9.3rem;
    display: flex;
    justify-content: space-between;
}

.comBtmLinkList li {
    padding: 5.2rem 2rem 8rem;
    width: calc((100% - 1px) / 2);
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    background-color: #163996;
}

.comBtmLinkList li .headLine01 {
    font-size: 18px;
}

.comBtmLinkList li p {
    margin-bottom: 3.3rem;
    font-size: 14px;
    line-height: 1.43;
}

.comBtmLinkList li .comBtn {
    margin: 0 auto;
    width: 26.3rem;
}

.comBtmLinkList li .comBtn a {
    padding: 1.1rem 5rem;
    font-size: 15px;
    background-size: 8px auto;
    background-position: right 2rem center;
}

@media all and (max-width: 1024px) {
    .comBtmLinkList {
        margin-bottom: 6rem;
        display: block;
    }
    .comBtmLinkList li {
        margin-bottom: 0.1rem;
        padding: 4.5rem 2rem 6.1rem;
        width: auto;
    }
    .comBtmLinkList li:last-of-type {
        margin-bottom: 0;
    }
}


/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/

.headLine01 {
    margin-bottom: 1.4rem;
    letter-spacing: 0.05em;
}

.headLine01 span {
    margin-bottom: 0.5rem;
    font-size: 34px;
    font-weight: 600;
    display: block;
}

@media all and (max-width: 1024px) {
    .headLine01 {
        margin-bottom: 1rem;
        font-size: 18px;
    }
    .headLine01 span {
        margin-bottom: 0;
        font-size: 34px;
    }
}


/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/

.headLine02 {
    margin-bottom: 2.2rem;
    font-size: 40px;
    font-weight: 400;
    line-height: 1.57;
    font-family: 'Noto Serif JP', serif;
}

@media all and (max-width: 1024px) {
    .headLine02 {
        margin-bottom: 1.5rem;
        font-size: 3rem;
        line-height: 1.53;
    }
}


/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/

.headLine03 {
    margin-bottom: 3rem;
    font-size: 30px;
    line-height: 1.5;
    letter-spacing: 0.02em;
}

.headLine03.head01 {
    margin-bottom: 1rem;
}

@media all and (max-width: 1024px) {
    .headLine03 {
        margin-bottom: 1.5rem;
        font-size: 24px;
        line-height: 1.67;
    }
    .headLine03.head01 {
        margin-bottom: 0.8rem;
    }
}


/*------------------------------------------------------------
	headLine04
------------------------------------------------------------*/

.headLine04 {
    margin-bottom: 9.7rem;
    font-size: 45px;
    font-weight: 400;
    line-height: 1.51;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
}

.headLine04 span {
    margin-top: 2.5rem;
    display: block;
    color: #8d8686;
    font-size: 18px;
    font-weight: bold;
    font-family: 'Noto Sans JP', sans-serif;
}

@media all and (max-width: 1024px) {
    .headLine04 {
        margin-bottom: 4rem;
        font-size: 26px;
    }
    .headLine04 span {
        margin-top: 2rem;
        font-size: 14px;
        line-height: 1.71;
    }
}


/*------------------------------------------------------------
	headLine05
------------------------------------------------------------*/

.headLine05 {
    margin-bottom: 10rem;
    font-size: 45px;
    font-weight: 400;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    line-height: 1.3;
}

.headLine05.head01 {
    font-size: 28px;
    font-weight: bold;
    font-family: 'Noto Sans JP', sans-serif;
}

.headLine05 span {
    margin-top: 1rem;
    display: block;
    color: #8d8686;
    font-size: 18px;
    font-weight: 700;
    font-family: 'Noto Sans JP', sans-serif;
}

@media all and (max-width: 1024px) {
    .headLine05 {
        margin-bottom: 3.3rem;
        font-size: 26px;
    }
    .headLine05.head01 {
        font-size: 20px;
    }
    .headLine05 span {
        margin-top: -0.6rem;
        font-size: 16px;
    }
}


/*------------------------------------------------------------
	index
------------------------------------------------------------*/

@media all and (max-width: 1024px) {}


/*------------------------------------------------------------
	comBtnLinkUl
------------------------------------------------------------*/

.comBtmLinkUl {
    width: 5.2rem;
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999;
}

.comBtmLinkUl li a {
    padding: 4.5rem 1.5rem;
    height: 16.5rem;
    display: block;
    line-height: 1.2;
    text-align: center;
    box-sizing: border-box;
    background-color: #fff;
    transition: .3s;
}

.comBtmLinkUl .list01 a {
    padding: 2.7rem 1.5rem;
    color: #fff;
    background-color: #2e2e2e;
}

.comBtmLinkUl .list02 a {
    padding: 3rem 1.8rem 5rem;
    color: #fff;
    word-break: break-all;
    background-color: #163996;
}

.comBtmLinkUl .list02 a span {
    padding-top: 2.5rem;
    display: inline-block;
    vertical-align: top;
    background: url(img/common/icon05.png) no-repeat top center / 1.3rem auto;
}

@media (min-width: 1025px) and (max-width: 1280px) {
    .comBtmLinkUl {
        width: 4.5rem;
    }
}

@media all and (min-width: 1025px) {
    .comBtmLinkUl li a:hover {
        color: #fff;
        background-color: #222;
    }
    .comBtmLinkUl .list01 a:hover {
        color: #222;
        background-color: #fff;
    }
    .comBtmLinkUl .list02 a:hover {
        color: #222;
        background-color: #fff;
    }
    .comBtmLinkUl .list02 a:hover span {
        background-image: url(img/common/icon06.png);
    }
}

@media all and (max-width: 1024px) {
    .comBtmLinkUl {
        width: 100%;
        top: auto;
        bottom: 0;
        transform: translateY(0);
        display: flex !important;
        opacity: 1 !important;
        justify-content: space-between;
    }
    .comBtmLinkUl li {
        width: 33.33%;
    }
    .comBtmLinkUl li a {
        padding: 1.4rem 1rem 1.3rem !important;
        height: auto;
        display: block;
        font-size: 14px;
        line-height: 1.2;
        text-align: center;
        box-sizing: border-box;
        background-color: #fff;
        transition: .3s;
    }
    .comBtmLinkUl .list02 a span {
        padding: 0 0 0 1.5rem;
        background-position: left center;
        background-size: 1rem auto;
    }
}


/*------------------------------------------------------------
	comLinkList
------------------------------------------------------------*/

.comLinkList li:not(:last-of-type) {
    margin-bottom: 1.1rem;
}

.comLinkList li {
    padding-left: 2rem;
    font-weight: 700;
    position: relative;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    display: block;
}

.comLinkList li a {
    position: relative;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    display: block;
}

.comLinkList.list01 li {
    padding-left: 1.8rem;
    color: #222;
    line-height: 1.75;
}

.comLinkList.list01 li a {
    color: #222;
}

.comLinkList li::before {
    width: 0.3rem;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #fff;
    content: '';
}

.comLinkList.list01 li::before {
    background-color: #163996;
}

@media all and (min-width: 1025px) {
    .comLinkList li a:hover {
        color: #ccc;
    }
}

@media all and (max-width: 1024px) {}


/*------------------------------------------------------------
	comBox01
------------------------------------------------------------*/

.comBox01 {
    margin-bottom: 8rem;
    display: flex;
    justify-content: space-between;
}

.comBox01 .lBox {
    width: 38.46%;
}

.comBox01 .lBox .tBox {
    margin-bottom: 5.9rem;
    padding-left: 5.2rem;
    border-left: 3px solid #163996;
}

.comBox01 .lBox .tBox .ttl {
    margin-bottom: 3.6rem;
    color: #163996;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.33;
    word-wrap: break-word;
}

.comBox01 .lBox .tBox p {
    color: #7e7e7e;
    font-size: 18px;
    font-weight: 600;
    line-height: 2;
}

.comBox01 .rBox {
    margin-top: -10px;
    width: 55.23%;
}

.comBox01 .rBox p {
    margin-bottom: 3rem;
    font-weight: bold;
    letter-spacing: 0.07em;
}

.comBox01 .rBox p a {
    color: #163996;
    text-decoration: underline;
}

.comBox01 .rBox .text02 {
    margin-bottom: 2.5rem;
    color: #163996;
    display: flex;
    font-size: 18px;
}

.comBox01 .rBox .text02 .txt01 {
    margin-right: 1.5rem;
}

.comBox01 .rBox .text02 .txt02 {
    color: #7e7e7e;
    font-weight: 900;
}

.comBox01 .rBox .comLinkList {
    margin-bottom: 1.5rem;
}

.comBox01 .rBox .comLinkList li {
    letter-spacing: 0.07em;
}

.comBox01 .rBox .comLinkList li a {
    letter-spacing: 0.07em;
}

.comBox01 .map {
    height: 31.5rem;
    margin-bottom: 3rem;
}

@media all and (min-width: 1025px) {
    .comBox01 .rBox p a:hover {
        color: #222;
    }
}

@media (min-width: 1025px) and (max-width: 1360px) {
    .comBox01 .lBox .tBox {
        padding-left: 3rem;
        min-width: 450px;
        box-sizing: border-box;
    }
    .comBox01 .rBox {
        max-width: calc(100% - 480px);
    }
}

@media all and (max-width: 1024px) {
    .comBox01 {
        margin-bottom: 5.3rem;
        display: block;
    }
    .comBox01 .lBox {
        margin-bottom: 3rem;
        width: auto;
    }
    .comBox01 .lBox .tBox {
        margin-bottom: 5.9rem;
        padding: 4rem 0 0;
        border-left: none;
        border-top: 3px solid #163996;
    }
    .comBox01 .lBox .tBox .ttl {
        margin-bottom: 2rem;
        font-size: 14px;
        white-space: inherit;
        text-align: center;
    }
    .comBox01 .lBox .tBox h2 {
        font-size: 2.6rem;
        text-align: center;
    }
    .comBox01 .lBox .tBox p {
        font-size: 16px;
    }
    .comBox01 .rBox {
        margin-top: 0;
        width: auto;
    }
    .comBox01 .rBox p {
        margin-bottom: 4.3rem;
        font-size: 16px;
        letter-spacing: 0.03em;
    }
    .comBox01 .rBox p a {
        color: #163996;
    }
    .comBox01 .rBox .text02 {
        margin-bottom: 2.5rem;
        color: #163996;
        display: flex;
        font-size: 18px;
    }
    .comBox01 .rBox .text02 .txt01 {
        margin-right: 1.5rem;
    }
    .comBox01 .rBox .text02 .txt02 {
        color: #7e7e7e;
        font-weight: 900;
    }
    .comBox01 .rBox .comLinkList {
        margin-bottom: 3.7rem;
    }
    .comBox01 .rBox .map {
        height: 37.3rem;
    }
    .comBox01 .rBox .comLinkList li a {
        letter-spacing: 0.03em;
    }
}

@media all and (max-width: 374px) {
    .comBox01 .lBox .tBox .ttl {
        font-size: 11px;
    }
}


/*------------------------------------------------------------
	comTable01
------------------------------------------------------------*/

.comTable01 {
    margin-bottom: 1.6rem;
    width: 100%;
    box-sizing: border-box;
    border-collapse: collapse;
}

.comTable01 th,
.comTable01 td {
    padding: 2.2rem 0 2.9rem;
    width: 80%;
    font-size: 16px;
    font-weight: 500;
    text-align: left;
    box-sizing: border-box;
    border-bottom: 1px solid #ccc;
}

.comTable01 th {
    width: 20%;
    color: #163996;
    font-weight: 700;
    text-align: center;
}

.comTable01 td a {
    color: #163996;
    text-decoration: underline;
}

.comTable01 tr:last-of-type th,
.comTable01 tr:last-of-type td {
    border-bottom: none;
}

@media all and (min-width: 1025px) {
    .comTable01 td a:hover {
        color: #ccc;
    }
}

@media all and (max-width: 1024px) {
    .comTable01 {
        margin-bottom: 3.7rem;
    }
    .comTable01 th,
    .comTable01 td {
        padding: 0.4rem 0 2rem;
        width: 100%;
        display: block;
    }
    .comTable01 td {
        margin-bottom: 1.3rem;
        font-size: 14px;
        line-height: 1.86;
    }
    .comTable01 th {
        padding: 0;
        width: 100%;
        color: #163996;
        font-weight: 700;
        text-align: left;
        border-bottom: none;
    }
    .comTable01 td a {
        color: #163996;
        text-decoration: underline;
    }
    .comTable01 tr:last-of-type td {
        padding-bottom: 0;
        margin-bottom: 0;
    }
}


/*------------------------------------------------------------
	comTable02
------------------------------------------------------------*/

.comTable02 {
    margin-bottom: 4rem;
    width: 100%;
    box-sizing: border-box;
    border-collapse: collapse;
}

.comTable02 th,
.comTable02 td {
    padding: 1.4rem 0;
    width: 23.8%;
    font-size: 18px;
    font-weight: bold;
    box-sizing: border-box;
}

.comTable02 th span {
    display: inline-block;
}

.comTable02 th .must {
    padding: 0 0.2rem 0.1rem;
    width: 5.3rem;
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    border-radius: 14px;
    background-color: #163996;
}

.comTable02 th .txt {
    margin-right: 0;
    width: 8rem;
}

.comTable02 td {
    width: 76.2%;
}

.mailForm {
    margin: 0 auto;
    width: 68.35%;
}

.mailForm input[type="text"],
.mailForm input[type="tel"],
.mailForm input[type="email"],
.mailForm input[type="submit"],
.mailForm textarea {
    padding: 0.5rem 2rem;
    width: 100%;
    height: 5.8rem;
    color: #222;
    font-size: 17px;
    border: none;
    border-radius: 5px;
    text-align: left;
    box-sizing: border-box;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    -webkit-appearance: none;
    appearance: none;
}

.mailForm input::-webkit-input-placeholder,
.mailForm textarea::-webkit-input-placeholder {
    color: #ccc;
}

.mailForm input:-moz-placeholder,
.mailForm textarea:-moz-placeholder {
    color: #ccc;
}

.mailForm input::-moz-placeholder,
.mailForm textarea:-moz-placeholder {
    color: #ccc;
}

.mailForm input:-ms-input-placeholder,
.mailForm textarea:-ms-input-placeholder {
    color: #ccc;
}

.mailForm textarea {
    padding-top: 2.5rem;
    height: 17.2rem;
    resize: vertical;
}

.mailForm .submitList li {
    margin-bottom: 3rem;
    text-align: center;
}

.mailForm .submitList li:last-of-type {
    margin-bottom: 0;
}

.mailForm .submitList input {
    width: 37.4rem;
    height: 7.6rem;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    border-radius: 38px;
    background: url(img/common/arrow02.png) no-repeat right 2.5rem center / 1.5rem auto;
    background-color: #222;
    cursor: pointer;
    transition: .4s;
}

@media all and (min-width: 1025px) {
    .mailForm .submitList input:hover {
        background-color: #163996;
    }
}

@media all and (max-width: 1024px) {
    .comTable02 {
        margin-bottom: 2.7rem;
    }
    .comTable02 th,
    .comTable02 td {
        padding: 0;
        width: auto;
        display: block;
        font-size: 16px;
    }
    .comTable02 th {
        margin-bottom: 1.2rem;
        text-align: center;
    }
    .comTable02 th .must {
        padding: 0.2rem 0.2rem 0.3rem;
        width: 4.6rem;
        font-size: 12px;
    }
    .comTable02 th .txt {
        margin-right: 0;
        width: 7rem;
    }
    .comTable02 td {
        margin-bottom: 1.2rem;
        width: auto;
    }
    .comTable02 tr:last-of-type td {
        margin-bottom: 0;
    }
    .mailForm {
        width: auto;
    }
    .mailForm input[type="text"],
    .mailForm input[type="tel"],
    .mailForm input[type="email"],
    .mailForm input[type="submit"],
    .mailForm textarea {
        padding: 0.5rem 2rem;
        font-size: 15px;
        border-radius: 5px;
        box-shadow: none;
    }
    .mailForm textarea {
        padding-top: 2.5rem;
        height: 14.1rem;
    }
    .mailForm .submitList input {
        width: 100%;
        max-width: 28.6rem;
        height: 5.8rem;
        font-size: 16px;
        border-radius: 35px;
    }
}


/*------------------------------------------------------------
	comPhoto
------------------------------------------------------------*/

.comPhoto {
    margin: 0 0 9.5rem auto;
    width: 83.85%;
}

.comPhoto.photo01 {
    margin: 0 0 11.7rem;
}

@media all and (max-width: 1024px) {
    .comPhoto {
        margin: 0 0 4.4rem auto;
        width: 100%;
    }
    .comPhoto img {
        width: 100%;
    }
    .comPhoto.photo01 {
        margin: 0 0 4.9rem;
    }
}


/*------------------------------------------------------------
	comImgBox
------------------------------------------------------------*/

.comImgBox {
    margin-bottom: 8.5rem;
    display: flex;
    justify-content: space-between;
}

.comImgBox:last-of-type {
    padding-bottom: 0;
    border-bottom: none;
}

.comImgBox .photoBox {
    width: 36.31%;
}

.comImgBox .photoBox p {
    margin-top: 2.1rem;
    padding-bottom: 7.5rem;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-align: center;
    background: url(img/common/bg02.png) no-repeat left bottom / 100% auto;
}

.comImgBox.imgBox01 .photoBox {
    width: 29.77%;
}

.comImgBox .textBox {
    margin-top: -0.9rem;
    width: 55.38%;
}

.comImgBox.imgBox01 .textBox {
    margin-bottom: -3.5rem;
}

.comImgBox.imgBox01 .textBox {
    width: 62.08%;
}

.comImgBox.imgBox01 .textBox h3 {
    font-size: 35px;
    line-height: 2.57;
}

.comImgBox .textBox p {
    margin-bottom: 3rem;
    font-weight: 500;
    letter-spacing: 0.08em;
}

.comImgBox .textBox p:last-of-type {
    margin-bottom: 0;
}

.comImgBox .textBox p a {
    color: #163996;
    text-decoration: underline;
}

@media all and (min-width: 1025px) {
    .comImgBox .textBox p a:hover {
        color: #ccc;
    }
}

@media all and (max-width: 1024px) {
    .comImgBox {
        margin-bottom: 6rem;
        display: block;
    }
    .comImgBox:last-of-type {
        padding-bottom: 0;
        border-bottom: none;
    }
    .comImgBox .photoBox {
        width: auto;
    }
    .comImgBox.imgBox01 .photoBox img {
        width: 100%;
    }
    .comImgBox .photoBox p {
        margin-top: 2rem;
        padding-bottom: 10rem;
        font-size: 1.6rem;
        line-height: 1.75;
        background-image: url(img/common/sp_bg02.png);
    }
    .comImgBox.imgBox01 .photoBox {
        width: auto;
    }
    .comImgBox .textBox {
        margin-top: 2.5rem;
        width: auto;
    }
    .comImgBox.imgBox01 .textBox {
        margin-top: 3.5rem;
        margin-bottom: 0;
    }
    .comImgBox.imgBox01 .textBox {
        width: auto;
    }
    .comImgBox .textBox h3 {
        line-height: 1.42;
    }
    .comImgBox.imgBox01 .textBox h3 {
        font-size: 24px;
        line-height: 1.42;
    }
    .comImgBox .textBox p {
        margin-bottom: 2.5rem;
        font-size: 16px;
        letter-spacing: 0;
    }
    .comImgBox.imgBox01 .textBox p {
        line-height: 2.1;
    }
}


/*------------------------------------------------------------
	comTextList01
------------------------------------------------------------*/

.comTextList01 {
    margin: -50px 0 7.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.comTextList01>li {
    margin-top: 50px;
    width: 46.15%;
}

.comTextList01>li .pho {
    margin-bottom: 2.4rem;
}

.comTextList01 li h3 {
    margin-bottom: 2.4rem;
    font-size: 28px;
    text-align: center;
}

@media (min-width: 1025px) and (max-width: 1400px) {
    .comTextList02 li {
        margin: 4rem 1.8rem 0;
    }
}

@media all and (max-width: 1024px) {
    .comTextList01 {
        margin: 0 0 4.6rem;
        display: block;
    }
    .comTextList01>li {
        margin: 0 0 4rem;
        width: auto;
    }
    .comTextList01 li h3 {
        font-size: 24px;
    }
    .comTextList01 .comLinkList.list01 li a {
        letter-spacing: 0.03em;
    }
}


/*------------------------------------------------------------
	comTextList02
------------------------------------------------------------*/

.comTextList02 {
    margin: -4rem -3.1rem 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.comTextList02 li {
    margin: 4rem 2.8rem 0;
    width: calc((100% - 11.2rem) / 2);
}

.comTextList02 li .pho {
    margin-bottom: 1.8rem;
}

.comTextList02 li .txtBox .ttl {
    margin-bottom: 1.2rem;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.67;
    text-align: center;
}

.comTextList02 li .txtBox .txt {
    color: #7e7e7e;
    font-size: 16px;
    line-height: 1.88;
}

@media (min-width: 1025px) and (max-width: 1420px) {
    .comTextList02 li {
        margin: 4rem 1.8rem 0;
    }
}

@media all and (max-width: 1024px) {
    .comTextList02 {
        margin: 0;
        display: block;
    }
    .comTextList02 li {
        margin: 0 0 4rem;
        width: auto;
        max-width: inherit;
    }
    .comTextList02 li .pho {
        margin-bottom: 1.8rem;
    }
    .comTextList02 li .pho img {
        width: 100%;
    }
    .comTextList02 li .txtBox .ttl {
        margin-bottom: 1.2rem;
        font-size: 18px;
        font-weight: 700;
        line-height: 1.67;
        text-align: center;
    }
    .comTextList02 li .txtBox .txt {
        color: #7e7e7e;
        font-size: 16px;
        line-height: 1.88;
    }
}


/*------------------------------------------------------------
	comTextList03
------------------------------------------------------------*/

.comTextList03 {
    margin: -2.9rem 0 11.1rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.comTextList03 li {
    margin-top: 2.9rem;
    padding: 2rem 2rem 2.8rem;
    width: 49%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    text-align: center;
    background-color: #f7f7f7;
}

.comTextList03 li h3 {
    margin-bottom: -0.2rem;
    font-size: 24px;
    line-height: 2;
}

.comTextList03 li p {
    font-size: 18px;
}

@media all and (max-width: 1024px) {
    .comTextList03 {
        margin: 0 0 6.6rem;
        display: block;
    }
    .comTextList03 li {
        margin: 0 0 2.5rem;
        padding: 2.9rem 1rem 3.5rem;
        width: auto;
    }
    .comTextList03 li:last-of-type {
        margin-bottom: 0;
    }
    .comTextList03 li h3 {
        margin-bottom: 0.7rem;
        font-size: 20px;
        line-height: 1.7;
    }
    .comTextList03 li p {
        font-size: 16px;
        line-height: 1.75;
    }
}


/*------------------------------------------------------------
	comTextList04
------------------------------------------------------------*/

.comTextList04 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.comTextList04>li {
    width: 46.15%;
    box-sizing: border-box;
    background-color: #f7f7f7;
}

.comTextList04>li>a {
    padding: 0 7.6rem 5.2rem;
    display: block;
    height: 100%;
    position: relative;
}

T .service-abstract {
    height: 100%;
    width: 100%;
    position: relative;
}

.comTextList04 li .ttl {
    margin: 0 -7.6rem 4rem;
    padding: 5rem 2rem;
    color: #fff;
    font-size: 24px;
    text-align: center;
    background: url(img/common/bg03.png) no-repeat center center / cover;
}

.comTextList04 li h3 {
    margin-bottom: 1.2rem;
    text-align: center;
}

.comTextList04 .list01 h3 {
    margin-bottom: 2.5rem;
}

.comTextList04 li .text {
    margin-bottom: 3rem;
}

.comTextList04 .list01 .text:last-of-type {
    margin-bottom: 6rem;
}

.comTextList04 li dl {
    margin-bottom: 3.6rem;
    font-weight: 700;
}

.comTextList04 li dt {
    padding: 0.3rem;
    width: 11.1rem;
    font-size: 16px;
    float: left;
    box-sizing: border-box;
    text-align: center;
    background-color: #efefef;
}

.comTextList04 li dd {
    padding: 0.3rem 0 1rem 13rem;
}

.comTextList04 li dd:last-of-type {
    padding-bottom: 0;
}

.comTextList04 li .comBtn {
    margin: 0 auto;
    bottom: 10%;
    width: 100%;
    max-width: 41rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.comTextList04 li .comBtn a {
    padding: 1.6rem 5rem;
    font-size: 16px;
    background-image: url(img/common/arrow01.png);
    background-size: 0.7rem auto;
}

.comTextList04 li .comBtn span {
    padding: 1.6rem 5rem;
    font-size: 16px;
    font-weight: bold;
    display: block;
    color: #000;
    position: relative;
    text-align: center;
    border-radius: 45px;
    background: url(img/common/arrow01.png) no-repeat right 3rem center / 0.7rem auto;
    background-color: #fff;
    transition: .3s;
}

@media (min-width: 1025px) and (max-width: 1360px) {
    .comTextList04>li {
        padding: 0 6rem 5.2rem;
    }
    .comTextList04 li .ttl {
        margin: 0 -6rem 1.7rem;
    }
}

@media all and (min-width: 1025px) {
    .comTextList04 li .comBtn a:hover {
        background-image: url(img/common/icon04.png);
    }
    .comTextList04>li a:hover .comBtn span {
        color: #fff;
        background-image: url(img/common/icon04.png);
        background-color: #222;
    }
}

@media all and (max-width: 1024px) {
    .comTextList04 {
        display: block;
    }
    .comTextList04>li {
        margin-bottom: 3.2rem;
        width: auto;
    }
    .comTextList04>li>a {
        padding: 0 2.2rem 3.9rem;
    }
    .comTextList04>li:last-of-type {
        margin-bottom: 0;
    }
    .comTextList04 li .ttl {
        margin: 0 -2.2rem 2.8rem;
        padding: 2.2rem 2rem;
        font-size: 18px;
        font-weight: 500;
    }
    .comTextList04 .list01 .ttl {
        margin-bottom: 2.3rem;
    }
    .comTextList04 li h3 {
        margin-bottom: 2rem;
        font-size: 20px;
    }
    .comTextList04 .list01 h3 {
        margin-bottom: 2rem;
    }
    .comTextList04 li .text {
        margin-bottom: 2.5rem;
        font-size: 14px;
        line-height: 2;
    }
    .comTextList04 .list01 .text:last-of-type {
        margin-bottom: 3.5rem;
    }
    .comTextList04 li dl {
        margin-bottom: 3rem;
    }
    .comTextList04 li dt {
        padding: 0.4rem;
        width: 8.9rem;
        font-size: 1.4rem;
    }
    .comTextList04 li dd {
        padding: 0.3rem 0 1.2rem 10rem;
        font-size: 14px;
    }
    .comTextList04 li dd:last-of-type {
        padding-bottom: 0;
    }
    .comTextList04 li .comBtn {
        width: 100%;
        max-width: 30rem;
    }
    .comTextList04 li .comBtn a {
        padding: 1.2rem 4rem;
        font-size: 16px;
        background-image: url(img/common/arrow01.png);
        background-size: 0.7rem auto;
    }
    .comTextList04 li .comBtn span {
        padding: 1.2rem 4rem;
        font-size: 16px;
        background-image: url(img/common/arrow01.png);
        background-size: 0.7rem auto;
    }
}

@media all and (max-width: 374px) {
    .comTextList04 li dd {
        font-size: 12px;
    }
    .comTextList04 li .comBtn a {
        font-size: 11px;
    }
    .comTextList04 li .comBtn span {
        font-size: 11px;
    }
}


/*------------------------------------------------------------
	comTextList05
------------------------------------------------------------*/

.comTextList05 li {
    margin-bottom: 2.3rem;
    padding: 0 1.8rem 2.6rem;
    display: flex;
    font-size: 18px;
    font-weight: 700;
    border-bottom: 1px solid #ccc;
}

.comTextList05 li:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.comTextList05 li .txt span {
    color: #EA0010;
}

.comTextList05 li .num {
    margin-right: 2.8rem;
    width: 3.2rem;
}

.comTextList05 li .txt {
    max-width: calc(100% - 6rem);
}

@media all and (max-width: 1024px) {
    .comTextList05 li {
        margin-bottom: 1.5rem;
        padding: 0 0 2rem;
        font-size: 16px;
        line-height: 1.63;
        align-items: center;
    }
    .comTextList05 li .num {
        margin-right: 1.8rem;
        width: 3.2rem;
    }
}

@media all and (max-width: 374px) {
    .comTextList05 li {
        font-size: 14px;
    }
}


/*------------------------------------------------------------
	comPhotoList
------------------------------------------------------------*/

.comPhotoList {
    margin: -3rem -2.9rem 0;
    display: flex;
    flex-wrap: wrap;
}

.comPhotoList li {
    margin: 3rem 2.7rem 0;
    width: calc((100% - 10.8rem) / 2);
}

@media (min-width: 1025px) and (max-width: 1400px) {
    .comPhotoList li {
        margin: 3rem 1.7rem 0;
    }
}

@media all and (max-width: 1024px) {
    .comPhotoList {
        margin: 0;
        display: block;
    }
    .comPhotoList li {
        margin: 0 0 3rem;
        width: auto;
        max-width: inherit;
    }
    .comPhotoList li img {
        width: 100%;
    }
    .comPhotoList li:last-of-type {
        margin-bottom: 0;
    }
}


/*------------------------------------------------------------
	comPhotoUl
------------------------------------------------------------*/

.comPhotoUl {
    margin: -40px auto 33px;
    max-width: 1150px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.comPhotoUl::after {
    width: calc((100% - 108px) / 3);
    content: '';
}

.comPhotoUl li {
    margin-top: 40px;
    padding: 33px 35px 29px 28px;
    width: calc((100% - 108px) / 3);
    box-sizing: border-box;
    background-color: #fff;
}

.comPhotoUl li.list01 {
    border: 1px solid #ccc;
}

.comPhotoUl li .pho {
    margin-bottom: 22px;
    position: relative;
}

.comPhotoUl li.list01 .pho {
    margin-bottom: 12px;
}

.comPhotoUl li .pho span {
    height: 54px;
    display: block;
    position: absolute;
    left: 14px;
    top: -10px;
}

.comPhotoUl li .pho span img {
    height: 100%;
}

.comPhotoUl li .pho>img {
    width: 100%;
}

.comPhotoUl li p {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.89;
    text-align: center;
}

.comPhotoUl li p span {
    color: #EA0010;
}

.comPhotoUl li.list01 p {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    text-align: left;
}

.comPhotoUl li.list01 .ttl,
.comPhotoUl li .ttl {
    margin-bottom: 6px;
    font-size: 2rem;
    line-height: 1.7;
    font-weight: bold;
    text-align: center;
}

@media all and (max-width: 1024px) {
    .comPhotoUl {
        margin-top: 0;
        max-width: inherit;
        display: block;
    }
    .comPhotoUl::after {
        display: none;
    }
    .comPhotoUl li {
        margin: 0 0 30px;
        padding: 25px 15px;
        width: auto;
    }
    .comPhotoUl li:last-of-type {
        margin-bottom: 0;
    }
    .comPhotoUl li .pho span {
        height: 45px;
    }
    .comPhotoUl li p {
        font-size: 1.6rem;
    }
}


/*------------------------------------------------------------
	comAmazing
------------------------------------------------------------*/

.comAmazing {
    margin: auto;
    padding: 13.2rem 2rem 13.8rem 8.5rem;
    width: 91.72%;
    box-sizing: border-box;
    background-color: #f7f7f7;
}

.comAmazing h2 {
    margin-bottom: 30px;
    font-size: 4.2rem;
    font-weight: 400;
    line-height: 1.9;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
}

.comAmazing h2 span {
    margin-top: 15px;
    display: block;
    color: #7e7e7e;
    font-size: 2rem;
    font-weight: 700;
    line-height: 2;
    font-family: 'Noto Sans JP', sans-serif;
}

.comAmazing .content {
    max-width: 1150px;
}

.comAmazing .comTextList03 {
    margin: -25px 0 0;
}

.comAmazing .comTextList03 li {
    margin-top: 25px;
    padding: 2.4rem 2rem;
    width: calc((100% - 14px) / 2);
    background-color: #fff;
}

@media all and (max-width: 1024px) {
    .comAmazing {
        padding: 9.3rem 0 8rem;
        width: auto;
    }
    .comAmazing h2 {
        font-size: 3rem;
        line-height: 1.5;
    }
    .comAmazing h2 span {
        font-size: 1.5rem;
    }
    .comAmazing .content {
        max-width: inherit;
    }
    .comAmazing .comTextList03 {
        margin-top: 0;
    }
    .comAmazing .comTextList03 li {
        margin: 0 0 2.5rem;
        width: auto;
    }
}


/*------------------------------------------------------------
	comTxtList01
------------------------------------------------------------*/

.comTxtList01 {
    margin: -1rem -0.3rem 2.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.comTxtList01 li {
    margin: 1rem 0.3rem 0;
    padding: 0.2rem 1.5rem 0.3rem;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    border-radius: 16px;
    box-sizing: border-box;
    background-color: #163996;
}

.comTxtList01 li.list01 {
    background-color: #033dd6;
}

.comTxtList01 li.list02 {
    background-color: #4e7fff;
}

@media all and (max-width: 1024px) {
    .comTxtList01 {
        margin: -1rem -0.3rem 1.4rem;
    }
    .comTxtList01 li {
        margin: 1rem 0.3rem 0;
        padding: 0.2rem 1.3rem;
        font-size: 11px;
    }
}

@media all and (max-width: 374px) {
    .comTxtList01 li {
        padding: 0.2rem 0.5rem;
        font-size: 10px;
    }
}


/*------------------------------------------------------------
	conts
------------------------------------------------------------*/

#conts {
    width: 57.38%;
}

@media all and (max-width: 1024px) {
    #conts {
        margin-bottom: 8.2rem;
        width: auto;
    }
}


/*------------------------------------------------------------
	sideBar
------------------------------------------------------------*/

#sideBar {
    width: 32%;
}

#sideBar .sTitle {
    margin-bottom: 3.4rem;
    padding: 1.8rem 2.8rem;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    background: #F7F7F7;
}

#sideBar ul:not(:last-of-type) {
    margin-bottom: 5rem;
}

#sideBar li:not(:last-child) {
    margin-bottom: 1.8rem;
}

#sideBar li a {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

#sideBar li .phoBox {
    width: 13.9rem;
    overflow: hidden;
    background: #000;
}

#sideBar li .phoBox span {
    padding-bottom: 66.9%;
    display: block;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

#sideBar li .txtBox {
    margin-top: 0.3rem;
    width: calc(100% - 15.2rem);
}

#sideBar li .txtBox p {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.55;
}

#sideBar li .txtBox .ttl {
    margin-bottom: 0.2rem;
    text-align: justify;
    text-justify: inter-ideograph;
}

#sideBar li .txtBox p span {
    color: #163996;
    font-size: 15px;
    line-height: 1;
}

#sideBar li .txtBox p .slug {
    margin-left: 1.2rem;
    color: #CCC;
}

@media all and (min-width: 1025px) {
    #sideBar li .phoBox span {
        transition: .3s;
    }
    #sideBar li a:hover .phoBox span {
        transform: scale(1.1);
        opacity: 0.7;
    }
}

@media all and (max-width: 1024px) {
    #sideBar {
        width: auto;
    }
    #sideBar .sTitle {
        margin-bottom: 3.5rem;
        padding: 1.7rem 2.7rem 1.9rem;
        font-size: 16px;
        line-height: 1.625;
    }
    #sideBar ul:not(:last-of-type) {
        margin-bottom: 6.2rem;
    }
    #sideBar li:not(:last-child) {
        margin-bottom: 2.8rem;
    }
    #sideBar li .phoBox {
        width: 12.5rem;
    }
    #sideBar li .phoBox span {
        padding-bottom: 67.2%;
    }
    #sideBar li .txtBox {
        margin-top: -0.2rem;
        width: calc(100% - 14.2rem);
    }
    #sideBar li .txtBox p {
        font-size: 1.8rem;
        line-height: 1.72;
    }
    #sideBar li .txtBox .ttl {
        margin-bottom: 0;
    }
    #sideBar li .txtBox p span {
        font-size: 14px;
    }
}


/*------------------------------------------------------------
	slugBox
------------------------------------------------------------*/

.slugBox {
    margin: 0.6rem 0 4.1rem;
}

.slugBox .headLine03 {
    margin-bottom: 1.7rem;
}

.slugBox p {
    margin: 0 !important;
    color: #163996;
    font-size: 20px;
    font-weight: 700;
}

.slugBox p .slug {
    margin-left: 1.5rem;
    color: #CCC;
}

@media all and (max-width: 1024px) {
    .slugBox {
        margin: 0 0 5.2rem;
        padding-top: 0.4rem;
    }
    .slugBox .headLine03 {
        margin-bottom: 0.6rem;
        font-size: 20px;
        line-height: 1.75;
    }
    .slugBox p {
        font-size: 16px;
        line-height: 1.5;
    }
    .slugBox p .slug {
        margin-left: 1.2rem;
    }
}


/*------------------------------------------------------------
	ctrCenter
------------------------------------------------------------*/

.ctrCenter {
    text-align: center;
}


/*------------------------------------------------------------
	column_single
------------------------------------------------------------*/

#column_single {
    margin-bottom: 20rem;
}

#column_single #conts {
    margin-top: -30px;
}

#column_single #conts .headLine03 {
    margin-bottom: 1rem;
}

#column_single #conts .photo {
    margin-bottom: 4.3rem;
}

#column_single #conts h2 {
    margin-bottom: 3rem;
    font-size: 3.6rem;
    line-height: 1;
}

#column_single #conts h3 {
    margin-bottom: 3rem;
    padding: 1.8rem 2.8rem;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    background: #F7F7F7;
}

#column_single #conts p {
    margin-bottom: 3rem;
}

@media all and (max-width: 1024px) {
    #column_single {
        margin-bottom: 9.2rem;
    }
    #column_single .content {
        margin: 0 2.5rem;
        padding-bottom: 10rem;
        display: block;
        position: relative;
    }
    #column_single #conts .photo {
        margin-bottom: 3.2rem;
    }
    #column_single #conts h2 {
        margin-bottom: 1.5rem;
        font-size: 2.7rem;
    }
    #column_single #conts h3 {
        margin-bottom: 1rem;
        padding: 2rem 2.2rem 1.9rem;
        font-size: 16px;
        line-height: 1.625;
    }
    #column_single #conts p {
        margin-bottom: 2.5rem;
        font-size: 16px;
        line-height: 2;
        text-align: justify;
        text-justify: inter-ideograph;
    }
}


/*------------------------------------------------------------
	pageList
------------------------------------------------------------*/

.pageList {
    position: relative;
    display: flex;
    justify-content: center;
}

.pageList li {
    line-height: 2.949rem;
}

.pageList::before {
    width: 1px;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 0;
    background-color: #ccc;
    content: '';
}

.pageList.noline::before {
    display: none;
}


/* .pageList li:first-child {
	border-right: 1px solid #CCC;
} */

.pageList li a {
    display: block;
    padding: 0 3.44rem;
    font-size: 19px;
    line-height: 2.949rem;
}

@media all and (min-width: 1025px) {
    .pageList li a:hover {
        color: #CCC;
    }
}

@media all and (max-width: 1024px) {
    .pageList {
        width: 100%;
        position: absolute;
        left: 0;
        bottom: 0;
    }
    .pageList li {
        line-height: 2.377rem;
    }
    .pageList li a {
        padding: 0 2.9rem 0.2rem;
        font-size: 15px;
        line-height: 2.1rem;
    }
}


/*------------------------------------------------------------
	comSeminarUl
------------------------------------------------------------*/

.comSeminarUl {
    margin: -5rem 0 9rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
}

.comSeminarUl::after {
    width: calc((100% - 100px) / 3);
    display: block;
    content: "";
}

.comSeminarUl li {
    margin-top: 5rem;
    width: calc((100% - 100px) / 3);
    position: relative;
    background: #F7F7F7;
}

.comSeminarUl li a {
    display: block;
}

.comSeminarUl li .comLink {
    position: absolute;
    width: 100%;
    max-width: 35.4rem;
    left: 50%;
    bottom: 3rem;
    transform: translateX(-50%);
}

.comSeminarUl li .phoBox {
    overflow: hidden;
    position: relative;
}

.comSeminarUl li .phoBox span {
    padding-bottom: 47.75%;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    transition: .3s;
}

.comSeminarUl li .phoBox .comSlugUl {
    position: absolute;
    left: 0;
    top: 0;
}

.comSeminarUl li .txtBox {
    padding: 1.7rem 2.3rem 8.2rem;
}

.comSeminarUl li .txtBox h2 {
    margin-bottom: 1.6rem;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.55;
    text-align: justify;
    text-justify: inter-ideograph;
    transition: .4s;
}

.comSeminarUl li .txtBox dl {
    margin-bottom: 1.9rem;
}

.comSeminarUl li .txtBox dt {
    margin-bottom: 1.2rem;
    padding: 0.3rem 0.3rem 0.6rem;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    background: #FFF;
}

.comSeminarUl li .txtBox dd ul {
    margin: 0 1.5rem;
}

.comSeminarUl li .txtBox dd li {
    margin: 0;
    padding-left: 1em;
    width: auto;
    font-size: 14px;
    line-height: 1.79;
    text-indent: -1em;
    background: none;
}

.comSeminarUl li .txtBox .time {
    margin-bottom: 1rem;
    text-align: center;
}

.comSeminarUl li .txtBox .time span {
    padding: 0.1rem 0 0.1rem 2rem;
    color: #163996;
    display: inline-block;
    font-size: 15px;
    font-weight: 700;
    background: url(img/common/icon08.png) no-repeat left top 0.9rem / 1.5rem 1.5rem;
}

.comSeminarUl li .txtBox .comLink {
    margin: 0 auto !important;
}

@media all and (min-width: 1025px) {
    .comSeminarUl li a:hover .phoBox span {
        transform: scale(1.1);
    }
    .comSeminarUl li a:hover h2 {
        color: #ccc;
    }
}

@media all and (max-width: 1024px) {
    .comSeminarUl {
        margin: 0 0 7rem;
        padding-top: 0.6rem;
        display: block;
    }
    .comSeminarUl::after {
        display: none;
    }
    .comSeminarUl li {
        margin: 0 0 2.7rem;
        width: auto;
        background: none;
    }
    .comSeminarUl li .comLink {
        margin: 0 auto;
        width: 100%;
        max-width: 29rem;
    }
    .comSeminarUl li .txtBox {
        padding: 1.4rem 2.3rem 8.2rem;
    }
    .comSeminarUl li .txtBox h2 {
        margin-bottom: 2.3rem;
        font-size: 18px;
        line-height: 1.72;
    }
    .comSeminarUl li .txtBox dl {
        margin-bottom: 1.3rem;
    }
    .comSeminarUl li .txtBox dt {
        margin-bottom: 1.2rem;
        padding: 0.3rem 0.3rem 0.6rem;
        font-size: 15px;
        background: #F7F7F7;
    }
    .comSeminarUl li .txtBox dd ul {
        margin: 0;
    }
    .comSeminarUl li .txtBox dd li {
        margin: 0;
        padding-left: 1em;
        width: auto;
        font-size: 14px;
        line-height: 1.79;
        text-indent: -1em;
        background: none;
    }
    .comSeminarUl li .txtBox .time {
        margin-bottom: 1.6rem;
    }
}

@media all and (max-width: 350px) {
    .comSeminarUl li .txtBox .btn a {
        padding: 1.5rem 2rem;
        font-size: 14px;
    }
    .comSeminarUl li .txtBox .btn a i {
        right: 1.5rem;
    }
    .comSeminarUl li .comLink {
        max-width: 27rem;
    }
}


/*------------------------------------------------------------
	comSlugUl
------------------------------------------------------------*/

.comSlugUl {
    display: flex;
}

.comSlugUl li {
    margin: 0;
    padding: 0 2rem 0.2rem;
    width: auto;
    color: #FFF;
    font-size: 15px;
    font-weight: 700;
    background: #BC0000;
}

.comSlugUl li:nth-child(2) {
    background: #163996;
}

@media all and (max-width: 1024px) {
    .comSlugUl li {
        padding: 0.1rem 2rem;
    }
}


/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/

.comLink {
    margin: 0 auto;
    width: 35.4rem;
}

.comLink a {
    padding: 1.5rem 4rem;
    display: block;
    position: relative;
    color: #FFF;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.47;
    text-align: center;
    border-radius: 44px;
    background: #163996;
}

.comLink i {
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    transition: .3s;
}

.comLink a:hover {
    background-color: #222;
}

.comLink.fsz01 a {
    font-size: 18px;
}

.comLink.cor01 {
    width: 37.4rem;
}

.comLink.cor01 a {
    padding: 2.2rem 2.5rem 2.5rem;
    font-size: 18px;
    background: #222;
    border: 1px solid #222;
}

.comLink.cor01 i {
    right: 2.7rem;
}

.comLink.cor01 a:hover {
    color: #222;
    background-color: #fff;
}

@media all and (max-width: 1024px) {
    .comLink {
        margin: 0 auto;
        max-width: 350px;
        width: auto;
    }
    .comLink a:hover {
        background-color: #163996;
    }
    .comLink.fsz01 a {
        font-size: 15px;
    }
    .comLink.cor01 {
        margin: 0 auto;
        width: 87%;
    }
    .comLink.cor01 a {
        padding: 1.9rem 2.5rem 2rem;
        font-size: 16px;
    }
    .comLink.cor01 a i {
        right: 2.2rem !important;
    }
}


/*------------------------------------------------------------
	seminar_single
------------------------------------------------------------*/

#seminar_single {
    margin-top: -0.9rem;
}

#seminar_single .textSec {
    margin-bottom: 9.7rem;
}

#seminar_single .lBox {
    width: 36.92%;
}

#seminar_single .lBox .comLink {
    width: 100%;
    max-width: 35.4rem;
}

#seminar_single .lBox .photo {
    margin-bottom: 4.6rem;
}

#seminar_single .lBox .comLink.fsz01 a {
    padding: 1.3rem 4rem;
}

#seminar_single .rBox {
    width: 57.15%;
}

#seminar_single .rBox .comSlugUl {
    margin-bottom: 3rem;
}

#seminar_single .rBox .headLine03 {
    line-height: 1.8;
}

#seminar_single .rBox .time {
    margin-bottom: 3.6rem;
}

#seminar_single .rBox .time span {
    padding-left: 3rem;
    color: #163996;
    font-size: 20px;
    font-weight: 700;
    background: url(img/common/icon08.png) no-repeat left center / 1.5rem 1.5rem;
}

#seminar_single .rBox dl {
    margin-left: 0.8rem;
}

#seminar_single .rBox dt {
    margin-bottom: 3.4rem;
    padding: 1.2rem 3rem 1.4rem;
    font-size: 18px;
    font-weight: 700;
    background: #F7F7F7;
}

#seminar_single .rBox dd {
    margin-left: 2.8rem;
}

#seminar_single .rBox dd:not(:last-of-type) {
    margin-bottom: 5rem;
}

#seminar_single .rBox dd li {
    line-height: 1.8125;
}

#seminar_single .content>.comLink {
    margin-bottom: 16.9rem;
}

@media all and (max-width: 1024px) {
    #seminar_single {
        margin-top: 0;
        padding-top: 0.6rem;
    }
    #seminar_single .content {
        margin: 0 2.5rem;
    }
    #seminar_single .textSec {
        margin-bottom: 5.1rem;
        display: block;
    }
    #seminar_single .lBox {
        width: auto;
    }
    #seminar_single .lBox .photo {
        margin-bottom: 4rem;
    }
    #seminar_single .lBox .comLink {
        max-width: 29rem;
    }
    #seminar_single .rBox {
        width: auto;
    }
    #seminar_single .rBox .comSlugUl {
        margin-bottom: 1.9rem;
    }
    #seminar_single .rBox .headLine03 {
        margin-bottom: 1.1rem;
        font-size: 20px;
        line-height: 1.75;
    }
    #seminar_single .rBox .time {
        margin-bottom: 1.5rem;
        text-align: center;
    }
    #seminar_single .rBox .time span {
        padding-left: 2rem;
        font-size: 15px;
        background-position: left top 0.4rem;
    }
    #seminar_single .rBox .comLink {
        margin-bottom: 4rem;
        width: 86%;
    }
    #seminar_single .rBox dl {
        margin-left: 0;
        font-size: 16px;
    }
    #seminar_single .rBox dt {
        margin-bottom: 2.5rem;
        padding: 1.3rem 2.2rem 1.7rem;
        font-size: 16px;
    }
    #seminar_single .rBox dd {
        margin-left: 0;
    }
    #seminar_single .rBox dd:not(:last-of-type) {
        margin-bottom: 4.8rem;
    }
    #seminar_single .rBox dd li {
        font-size: 16px;
        line-height: 2;
    }
    #seminar_single .comLink {
        margin-bottom: 0;
    }
    #seminar_single .content>.comLink {
        margin-bottom: 9.4rem;
    }
    #seminar_single .link {
        text-align: center;
    }
    #seminar_single .link a {
        font-size: 16px;
        font-weight: 700;
    }
    #seminar_single .link a i {
        margin-left: 2rem;
        transition: .3s;
    }
}


/*------------------------------------------------------------
	otherSingleBox
------------------------------------------------------------*/

.otherSingleBox {
    overflow: hidden;
}

.otherSingleBox .content {
    padding: 3.7rem 20px;
    position: relative;
}

.otherSingleBox .content::before {
    width: 9999px;
    height: 2px;
    position: absolute;
    left: 0;
    top: 0;
    background: #CCC;
    content: "";
}

.otherSingleBox .titleBox {
    margin-bottom: 9.9rem;
    display: flex;
    justify-content: space-between;
}

.otherSingleBox .titleBox .headLine03 {
    line-height: 1.8;
}

.otherSingleBox .titleBox .link {
    margin-top: 1.1rem;
}

.otherSingleBox .titleBox .link a {
    font-size: 18px;
    font-weight: 700;
}

.otherSingleBox .titleBox .link a i {
    margin-left: 0.7rem;
    transition: .3s;
}

.otherSingleBox .titleBox .link a:hover i {
    transform: translateX(1rem);
}

@media (min-width: 1025px) and (max-width: 1420px) {
    .otherSingleBox .content {
        padding: 3.7rem 0;
    }
    .otherSingleBox .titleBox {
        padding-right: 10px;
    }
}

@media all and (max-width: 1024px) {
    .otherSingleBox .content {
        padding: 3.7rem 0;
        position: relative;
    }
    .otherSingleBox .content::before {
        width: 100%;
    }
    .otherSingleBox .titleBox {
        margin-bottom: 5rem;
        display: block;
    }
    .otherSingleBox .titleBox .headLine03 {
        font-size: 18px;
        text-align: center;
    }
    .otherSingleBox .comSeminarUl {
        margin-bottom: 3rem;
    }
}


/*------------------------------------------------------------
	index
------------------------------------------------------------*/

@media all and (max-width: 1024px) {}


/*------------------------------------------------------------
	page
------------------------------------------------------------*/

#page .service {
    margin-bottom: 11.7rem;
}

#page .service hr {
    margin-bottom: 10.9rem;
    border-collapse: #ccc;
}

#page .service .imgBox01 {
    margin-bottom: 4.5rem;
    padding-bottom: 0;
    border-bottom: none;
}

#page .pageBox {
    margin-bottom: 6.3rem;
}

#page .pageBox .subBox {
    width: 47.69%;
}

#page .education {
    margin-bottom: 15.7rem;
    padding-top: 5rem;
    position: relative;
}

#page .education::before {
    width: 83.86%;
    height: 1px;
    position: absolute;
    right: 0;
    top: 0;
    background-color: #ccc;
    content: '';
}

#page .sec01 {
    margin-bottom: 14.2rem;
    padding: 12rem 15.1rem 5rem 2rem;
    width: 91.72%;
    box-sizing: border-box;
    background-color: #f7f7f7;
}

#page .sec01 .content {
    margin: 0 0 0 auto;
    max-width: 130rem;
}

#page .sec01 .lBox {
    margin-top: -1.2rem;
    width: 38.85%;
}

#page .sec01 .lBox p {
    color: #7e7e7e;
    font-size: 20px;
    font-weight: 700;
    line-height: 2;
}

#page .sec01 .comTextList05 {
    width: 55.23%;
}

#page .contact {
    margin-bottom: 17rem;
    padding: 7.2rem 0 8.3rem;
    width: 85%;
    max-width: 1270px;
    box-sizing: border-box;
    background-color: #f7f7f7;
}

#page .contact h3 {
    margin-bottom: 6.1rem;
}

@media all and (max-width: 1024px) {
    #page .service {
        margin-bottom: 11.7rem;
    }
    #page .service hr {
        margin-bottom: 6rem;
    }
    #page .content {
        margin: 1rem auto;
        max-width: 85%;
    }
    #page .service {
        margin-bottom: 8rem;
    }
    #page .service .imgBox01 {
        margin-bottom: 5.9rem;
    }
    #page .service p {
        font-size: 1.6rem;
        font-weight: 500 !important;
        letter-spacing: 0.03em;
    }
    #page .pageBox {
        margin-bottom: 5.9rem;
    }
    #page .pageBox .subBox {
        margin-bottom: 8.5rem;
        width: auto;
    }
    #page .pageBox .comTextList02 .pho {
        margin: 0 auto;
        width: 170px;
    }
    #page .pageBox .subBox:last-of-type {
        margin-bottom: 0;
    }
    #page .education {
        margin-bottom: 7.6rem;
        padding-top: 5rem;
    }
    #page .education::before {
        width: calc(100% - 2.5rem);
    }
    #page .education .headLine05 {
        font-size: 26px;
        font-size: 2.6rem;
    }
    #page .education .headLine05 span {
        margin-top: 1.5rem;
    }
    #page .sec01 {
        margin-bottom: 7rem;
        padding: 9.3rem 2.5rem 10rem;
        width: auto;
    }
    #page .sec01 h2 {
        line-height: 1.6;
        font-size: 2.8rem;
    }
    #page .sec01 .pageBox {
        margin-bottom: 0;
    }
    #page .sec01 .content {
        margin: 0 0 0 auto;
        width: auto;
        max-width: inherit;
    }
    #page .sec01 .lBox {
        margin: 0 0 5.7rem;
        width: auto;
    }
    #page .sec01 .lBox p {
        font-size: 16px;
        line-height: 2.13;
    }
    #page .sec01 .comTextList05 {
        width: auto;
    }
    #page .contact {
        margin: 0 0 5.8rem;
        padding: 5rem 2.5rem 5.9rem;
        width: auto;
    }
    #page .contact h3 {
        margin-bottom: 2.5rem;
    }
    #page .contact h3 span {
        margin-top: 0.8rem;
        font-size: 14px;
    }
}


/*------------------------------------------------------------
	recruit
------------------------------------------------------------*/

#recruit {
    margin-bottom: 15rem;
}

#recruit .mv {
    padding: 23.5rem 0 2rem;
    height: 143.5rem;
    color: #FFF;
    text-align: center;
    background: url(img/recruit/bg01.jpg) no-repeat center center / cover;
    box-sizing: border-box;
}

#recruit .mv h1 {
    margin-bottom: 5.3rem;
    font-size: 60px;
    font-weight: 400;
    line-height: 1.67;
    font-family: 'Noto Serif JP', serif;
}

#recruit .mv h1 .en {
    margin-top: 4.2rem;
    display: block;
    font-size: 30px;
    font-weight: 900;
    font-family: 'Noto Sans JP', sans-serif;
}

#recruit .mv p {
    font-size: 20px;
    font-weight: 500;
    line-height: 2.2;
}

#recruit .mv p:not(:last-child) {
    margin-bottom: 4.5rem;
}

#recruit .people {
    margin: -0.1rem 0 12.2rem;
    padding: 14rem 0 19rem;
    background: url(img/recruit/bg02.jpg) no-repeat center center / cover;
}

#recruit .people h2 {
    margin-bottom: 6.4rem;
    color: #FFF;
    font-size: 45px;
    font-weight: 300;
    line-height: 1.78;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
}

#recruit .people ul {
    margin-top: -2rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
}

#recruit .people ul::after {
    width: calc((100% - 4.2rem) / 3);
    display: block;
    content: "";
}

#recruit .people li {
    margin-top: 2rem;
    width: calc((100% - 4.2rem) / 3);
    position: relative;
}

#recruit .people li a {
    display: block;
    overflow: hidden;
}

#recruit .people li .pho {
    background-color: #000;
    height: 100%;
}

#recruit .people li .txtBox {
    padding: 3.3rem 4.2rem 4.7rem;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    color: #FFF;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
}

#recruit .people li .txtBox .name {
    display: block;
    font-size: 49px;
    font-weight: 900;
    line-height: 1.5;
}

#recruit .people li .txtBox .name span {
    margin-top: 1.8rem;
    display: block;
    font-size: 18px;
    font-weight: 700;
}

#recruit .people li .txtBox .txt {
    font-size: 28px;
    line-height: 1.5625;
    font-family: 'Noto Serif JP', serif;
}

#recruit .linkList {
    margin-bottom: 8.4rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
}

#recruit .linkList::after {
    width: calc((100% - 4.2rem) / 3);
    display: block;
    content: "";
}

#recruit .linkList li {
    width: calc((100% - 4.2rem) / 3);
    position: relative;
}

#recruit .linkList li a {
    display: block;
    overflow: hidden;
}

#recruit .linkList li a {
    display: block;
    background-color: #000;
}

#recruit .linkList li a img {
    width: 100%;
}

#recruit .linkList li p {
    margin-top: -0.3rem;
    width: 100%;
    position: absolute;
    left: 0;
    top: 50%;
    color: #FFF;
    font-size: 49px;
    font-weight: 900;
    line-height: 1.5;
    text-align: center;
    transform: translateY(-50%);
}

#recruit .linkList li p span {
    display: block;
    font-size: 18px;
    font-weight: 700;
}

#recruit .btn {
    position: relative;
    overflow: hidden;
}

#recruit .btn .txtBox {
    width: 100%;
    position: absolute;
    left: 0;
    top: 50%;
    text-align: center;
    transform: translateY(-50%);
}

#recruit .btn .txtBox p {
    margin-bottom: 6rem;
    color: #FFF;
    font-size: 83px;
    font-weight: 900;
    line-height: 1;
}

#recruit .btn .txtBox .comBtn {
    margin: 0 auto;
    width: 33.8rem;
}

#recruit .btn .txtBox .comBtn a {
    padding: 1.5rem 4rem;
    font-size: 17px;
    background: #fff url(img/common/icon09.png) no-repeat right 25px center / 7px auto;
}

@media (min-width: 1025px) and (max-width: 1250px) {
    #recruit .people li .txtBox .name {
        font-size: 4rem;
    }
    #recruit .people li .txtBox .name span {
        margin-top: 1rem;
        font-size: 1.6rem;
    }
    #recruit .people li .txtBox .txt {
        font-size: 2rem;
    }
}

@media all and (min-width: 1025px) {
    #recruit .people li a img {
        transition: .3s;
    }
    #recruit .people li a:hover img {
        transform: scale(1.1);
        opacity: 0.7;
    }
    #recruit .linkList li a img {
        transition: .3s;
    }
    #recruit .linkList li a:hover img {
        transform: scale(1.1);
        opacity: 0.7;
    }
    #recruit .btn img {
        transition: .3s;
    }
    #recruit .btn:hover img {
        transform: scale(1.1);
    }
    #recruit .btn .txtBox .comBtn a:hover {
        color: #ccc;
        background: #222 url(img/common/icon10.png) no-repeat right 25px center / 7px auto;
    }
}

@media all and (max-width: 1024px) {
    #recruit {
        margin-bottom: 5rem;
    }
    #recruit .mv {
        padding: 11rem 2.5rem 10rem;
        height: inherit;
        background-image: url(img/recruit/sp_bg01.jpg);
    }
    #recruit .mv h1 {
        margin: 0 -1rem 4.5rem;
        font-size: 28px;
        line-height: 1.8;
    }
    #recruit .mv h1 .en {
        margin-top: 1rem;
        font-size: 23px;
    }
    #recruit .mv p {
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 1.9375;
        font-weight: 400;
        text-align: left;
    }
    #recruit .mv p:not(:last-child) {
        margin-bottom: 3.4rem;
    }
    #recruit .people {
        margin: -0.1rem 0 5.4rem;
        padding: 6rem 0 10rem;
        background: url(img/recruit/bg02.jpg) no-repeat center center / cover;
    }
    #recruit .people h2 {
        margin-bottom: 5.7rem;
        font-size: 28px;
    }
    #recruit .people ul {
        margin: -1.3rem auto 0;
        width: 77%;
        min-height: 26.8rem;
        display: block;
    }
    #recruit .people ul::after {
        display: none;
    }
    #recruit .people li {
        margin-top: 1.3rem;
        width: auto;
    }
    #recruit .people li a {
        display: block;
        overflow: hidden;
    }
    #recruit .people li .txtBox {
        padding: 2.5rem 2.6rem 3.1rem;
    }
    #recruit .people li .txtBox .name {
        font-size: 31px;
    }
    #recruit .people li .txtBox .name span {
        margin-top: 0.8rem;
        font-size: 11px;
    }
    #recruit .people li .txtBox .txt {
        font-size: 20px;
        line-height: 1.55;
    }
    #recruit .linkList {
        margin: 0 0.5rem 8.4rem;
        display: block;
    }
    #recruit .linkList::after {
        display: none;
    }
    #recruit .linkList li {
        width: auto;
    }
    #recruit .linkList li:not(:last-child) {
        margin-bottom: 1.7rem;
    }
    #recruit .linkList li p {
        margin-top: -0.3rem;
        font-size: 39px;
    }
    #recruit .linkList li p span {
        font-size: 14px;
    }
    #recruit .btn {
        margin: 0 -2rem;
    }
    #recruit .btn img {
        width: 100%;
    }
    #recruit .btn .txtBox p {
        margin-bottom: 2.5rem;
        font-size: 60px;
    }
    #recruit .btn .txtBox .comBtn {
        margin: 0 auto;
        width: 72%;
        max-width: 350px;
    }
}

@media all and (max-width: 389px) {
    #recruit .people li .txtBox .txt {
        font-size: 5.1vw;
    }
}


/*------------------------------------------------------------
	index
------------------------------------------------------------*/

#index .mainVisual {
    position: relative;
    height: 100vh;
}

#index .mainVisual .movie {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    overflow: hidden;
}

#index .mainVisual .movie video {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center;
}

#index .mainVisual .inner {
    height: 100%;
    display: flex;
    justify-content: space-between;
    color: #fff;
}

#index .mainVisual .textBox01 {
    width: 63.54%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: left;
    background-color: rgba(34, 34, 34, 0.4);
}

#index .mainVisual .textBox01 .subBox {
    margin-top: -4.2rem;
}

#index .mainVisual .textBox01 h1 {
    margin-bottom: 2.8rem;
    font-size: 100px;
    font-weight: 400;
    line-height: 1.4;
    font-family: 'Noto Serif JP', serif;
}

#index .mainVisual .textBox01 p {
    font-size: 18px;
    line-height: 2.28;
}

#index .mainVisual .textBox02 {
    /* padding: 19.8rem 17rem 3rem 11.6rem; */
    width: 36.46%;
    /* display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center; */
    box-sizing: border-box;
    background-color: rgba(22, 57, 150, 0.85);
    overflow: hidden;
}

#index .mainVisual .textBox02 .innerBox {
    width: 100%;
    height: 100%;
    min-height: fit-content;
    display: table;
    table-layout: fixed;
    text-align: left;
}

#index .mainVisual .textBox02 .subBox {
    /*	padding: 4rem 7.4% 4rem 0;*/
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    box-sizing: border-box;
}

#index .mainVisual .textBox02 .subBox .subInner {
    margin: 0 auto;
    padding: 6.2rem 0;
    width: 58.29%;
    box-sizing: border-box;
}

#index .mainVisual .textBox02 h2 {
    margin-bottom: 2.8rem;
    font-size: 32px;
    line-height: 1.44;
}

#index .mainVisual .textBox02 h2 span {
    margin-bottom: 0.3rem;
    padding-bottom: 1.2rem;
    display: inline-block;
    vertical-align: top;
    border-bottom: 2px solid #fff;
    /* font-size: 70%; */
}

#index .mainVisual .textBox02 h2 span:last-of-type {
    margin-bottom: 0;
}

#index .mainVisual .textBox02 .text {
    margin-bottom: 2.3rem;
    line-height: 2.19;
}

#index .mainVisual .textBox02 .photo {
    /*margin-bottom: 2.8rem;*/
    width: 100%;
    max-width: 40.8rem;
}

#index .mainVisual .textBox02 .photo a {
    display: block;
    position: relative;
}

#index .mainVisual .textBox02 .photo img {
    width: 100%;
	transition:.5s;
}
#index .mainVisual .textBox02 .photo img:hover{
    scale:1.1;
	cursor:pointer;
}

#index .mainVisual .textBox02 .photo a::before {
    width: 11rem;
    height: 11rem;
    position: absolute;
    left: calc(50% - 5.5rem);
    top: calc(50% - 5.5rem);
    /* background: url(img/common/icon02.png) no-repeat center center / cover; */
    content: '';
    transition: .4s;
    z-index: 2;
}

#index .mainVisual .textBox02 .comBtn {
    margin: 15px auto;
    width: 100%;
    max-width: 33.8rem;
    margin-bottom: 2.8rem;
}

#index .mainVisual .textBox02 .comBtn a {
    padding: 1.3rem 5rem;
    font-size: 18px;
    animation: poyopoyo 3s ease-out infinite;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}

#index .mainVisual .textBox02 .comBtn a .img {
    left: -1rem;
    top: -3.7rem;
}

#main .takashi {
    height: 64.2rem;
    background: url(img/index/bg01.png) no-repeat center center / cover;
    background-color: rgba(255, 255, 255, 0.3);
}

#main .takashi a {
    display: block;
    position: relative;
    height: 100%;
}

#main .takashi a::before {
    width: 11.46vw;
    height: 11.46vw;
    position: absolute;
    left: calc(50% - 5.73vw);
    top: calc(50% - 5.73vw);
    background: url(img/common/icon02.png) no-repeat center center / cover;
    content: '';
    transition: .4s;
}

#main .takashi .textBox {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#main .takashi .textBox .lBox {
    padding-left: 5rem;
    width: 30rem;
    box-sizing: border-box;
}

#main .takashi .textBox .lBox h3 {
    color: #163996;
    font-size: 44px;
    font-weight: 900;
    line-height: 1.23;
}

#main .takashi .textBox .lBox h3 span {
    margin-bottom: 1.2rem;
    color: #222;
    font-size: 18px;
    font-weight: 700;
    line-height: 2;
    display: block;
}

#main .takashi .textBox h2 {
    margin-right: -8rem;
    width: 42.69%;
    color: #fff;
    font-size: 35px;
    font-weight: 900;
}

#main .takashi .textBox h2 span {
    margin-bottom: 2.5rem;
    padding: 0 1rem;
    display: inline-block;
    vertical-align: top;
    line-height: 1.8;
    letter-spacing: 0;
    background-color: #163996;
}

#index .h2Ttl {
    margin-bottom: 74px;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
}

#index .h2Ttl .en {
    margin-bottom: -6px;
    display: block;
    font-size: 34px;
    font-weight: 900;
}

#index .service {
    position: relative;
}

#index .service .textBox {
    padding: 18.7rem 0 22rem 0;
    min-height: 141rem;
    color: #fff;
    box-sizing: border-box;
    background: url(img/index/service_bg01.jpg) no-repeat center center / cover;
}

#index .service .content {
    width: 85%;
    max-width: 137.5rem;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
}

#index .service .content .subBox {
    margin-left: 6.4%;
}

#index .service .textBox h2 {
    margin-bottom: 4.8rem;
    font-size: 32px;
    line-height: 1.94;
}

#index .service .textBox .subBox p {
    margin-bottom: 3.5rem;
    font-size: 18px;
    line-height: 1.95;
}

#index .service .textBox .subBox p:last-of-type {
    margin-bottom: 0;
}

#index .service .serBox {
    margin-top: -26.1rem;
    padding: 4.4rem 4.5rem 4.8rem;
    width: 40.29%;
    min-width: 34rem;
    box-sizing: border-box;
    background-color: #fff;
}

#index .service .serBox h3 {
    margin-bottom: -1.2rem;
    color: #163996;
    font-size: 42px;
    font-weight: 900;
    text-align: center;
}

#index .service .serBox .title {
    margin-bottom: 4.5rem !important;
    color: #222;
    text-align: center;
}

#index .service .serBox .title span {
    padding: 1.7rem 5rem 2.3rem;
    display: inline-block;
    font-size: 18px;
    line-height: 1.89;
    vertical-align: top;
    background: url(img/index/ttl_img01.png) no-repeat left center / 3.2rem auto, url(img/index/ttl_img02.png) no-repeat right center / 3.2rem auto;
}

#index .clients {
    margin-top: -21rem;
    margin-bottom: 12.4rem;
    padding: 9.7rem 0 16rem;
    position: relative;
}

#index .clients::after {
    width: 93.13%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background: url("img/index/clients_bg.jpg") no-repeat center / cover;
    content: '';
}

#index .clients .comLink01 {
    top: 3rem;
}

#index .clients .comLink01 a {
    color: #fff;
    font-weight: 700;
    background-image: url("img/common/icon10.png");
}

#index .clients .content {
    position: relative;
    z-index: 1;
    text-align: -webkit-center;
}

#index .clients .h2Ttl {
    margin-bottom: 7rem;
    color: #FFF;
}

#index .clients .clientsList {
    margin: 0;
    width: 128rem;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#index .clients .clientsList li {
    margin-top: 2.9rem;
    width: 18.125%;
}

#index .clients .clientsList li {
    display: block;
    margin-right: 2.34%;
}

#index .clients .clientsList li:not(:nth-of-type(5n)) {
    margin-right: 2.34%;
}

#index .seminar {
    padding: 9rem 0 4.8rem;
    position: relative;
}

#index .seminar::after {
    width: 93.02%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #F7F7F7;
    content: '';
}

#index .seminar .comLink01 {
    top: 3rem;
}

#index .seminar .content {
    position: relative;
    z-index: 1;
}

#index .seminar .h2Ttl {
    margin-bottom: 5.7rem;
}

#index .seminar .comSeminarUl>li {
    background-color: #FFF;
}

#index .seminar .comSeminarUl>li .photo {
    overflow: hidden;
}

#index .seminar .comSeminarUl>li .photo span {
    transition: background-size 1s linear;
}

#index .seminar .comSeminarUl li .txtBox dt {
    background-color: #F7F7F7;
}

#index .column {
    padding: 10.4rem 0 14.1rem;
}

#index .column .content {
    position: relative;
}

#index .column .columnList {
    margin: -5.2rem 0.5rem 0 1rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#index .column .columnList li {
    margin-top: 5.2rem;
    width: calc((100% - 6.5rem) / 2);
}

#index .column .columnList li a {
    display: flex;
    justify-content: space-between;
}

#index .column .columnList li .photoBox {
    width: 39.18%;
    height: 8.33vw;
    overflow: hidden;
}

#index .column .columnList li .photoBox img {
    transition: .4s;
}

#index .column .columnList li .photoBox .img {
    height: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    transition: .4s;
}

#index .column .columnList li .textBox {
    padding: 0.3rem 0 0 2.7rem;
    width: 60.82%;
    box-sizing: border-box;
}

#index .column .columnList li .textBox .ttl p {
    margin-bottom: 0.5rem;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.55;
    transition: .4s;
}

#index .column .columnList li .textBox .time {
    margin-bottom: 0.6rem;
    color: #163996;
    font-size: 16px;
}

#index .column .columnList li .textBox .tag {
    margin-left: 1rem;
    color: #CCCCCC;
}

#index .column .columnList li .textBox p {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.78;
}

@media (min-width: 1025px) {
    #index .mainVisual .textBox02 {
        min-width: 500px;
    }
    #index .mainVisual .textBox02 .subBox .subInner {
        min-width: 410px;
    }
    #index .takashi {
        height: 33.44vw;
        max-height: 64.2rem;
    }
    #index .takashi .textBox h2 {
        min-width: 510px;
    }
    #index .column .columnList li .photoBox {
        max-height: 16rem;
    }
}

@media (min-width: 1025px) and (max-width: 1200px) {
    #index .mainVisual .textBox01 {
        padding-left: 50px;
    }
    #index .mainVisual .textBox01 h1 {
        font-size: 7.9rem;
    }
}

@media (min-width: 1025px) and (max-width: 1270px) {
    #index .service .content .subBox {
        margin-left: 0;
    }
}

@media (min-width: 1279px) and (max-width: 1480px) {
    #main .takashi .textBox h2 {
        margin-right: -25px;
    }
}

@media (min-width: 1025px) and (max-width: 1300px) {
    #main .takashi .textBox h2 {
        margin-right: 0;
        min-width: inherit;
        font-size: 3rem;
    }
    #index .service .textBox h2 {
        font-size: 2.6rem;
    }
}

@media (min-width: 1025px) and (max-width: 1220px) {
    #main .takashi .textBox h2 {
        font-size: 2.4rem;
    }
}

@media (min-width: 1025px) and (max-width: 1300px) {
    #index .mainVisual .textBox02 .comBtn a .img {
        width: 7rem;
    }
}


/* @media (min-width: 1025px) and (max-width: 1300px) {
	#index .mainVisual .textBox02 h2 {
		font-size: 24px;
	}
	#index .mainVisual .textBox02 .comDl {
		font-size: 14px;
	}
	#index .mainVisual .textBox02 .comBtn a {
		font-size: 12px;
	}
	#index .mainVisual .textBox02 .comBtn a .img {
		width: 7rem;
	}
	#index .service .textBox h2 {
		font-size: 22px;
	}
	#index .service .textBox p {
		font-size: 16px;
	}
} */

@media (min-width: 1025px) and (max-width: 1560px) {
    #index .service .serBox {
        right: 6%;
    }
    /* #index .service .serBox .title span {
		font-size: 14px;
	}
	.comLinkUl01 li h4 {
		font-size: 17px;
	} */
    #index .clients .clientsList {
        margin: -2.9rem 0 0;
        justify-content: normal;
        padding-left: 16%;
        width: 100%;
        max-width: 1280px;
    }
    #index .clients .clientsList li {
        margin-right: 2.34%;
    }
}

@media all and (min-width: 1025px) {
    #index .mainVisual .textBox02 .photo a {
        /*background-color:#183786;*/
    }
    #index .mainVisual .textBox02 .photo a:hover::after {
        opacity: 1;
    }
    #index .mainVisual .textBox02 .photo a:hover::before {
        transform: scale(1.1);
    }
    #index .clients .clientsList li a:hover {
        opacity: 0.7;
    }
    #main .takashi a:hover::before {
        transform: scale(1.1);
    }
    #index .clients .comLink01 a:hover {
        color: #ccc;
    }
    #index .column .columnList a:hover .photoBox img {
        transform: scale(1.1);
    }
    #index .column .columnList li a:hover .photoBox .img {
        transform: scale(1.1);
    }
    #index .column .columnList li a:hover .ttl p {
        color: #555;
    }
    #index .seminar .comSeminarUl>li:nth-child(2) {
        transition-delay: .6s;
    }
    #index .seminar .comSeminarUl>li:nth-child(3) {
        transition-delay: .9s;
    }
    #index .column .columnList li:nth-child(2n) {
        transition-delay: .6s;
    }
}

@media all and (max-width: 1024px) {
    #index .mainVisual {
        position: relative;
        height: auto;
    }
    #index .mainVisual .movie {
        height: 68.7rem;
        display: none;
    }
    #index .mainVisual .inner {
        height: 100%;
        display: block;
    }
    #index .mainVisual .textBox01 {
        padding: 22.9rem 1.5rem 26.8rem;
        width: auto;
        height: auto;
        display: block;
        background: url(img/index/sp_main_bg01.jpg) no-repeat center center / cover;
    }
    #index .mainVisual .textBox01 .subBox {
        margin-top: 0;
    }
    #index .mainVisual .textBox01 h1 {
        margin-bottom: 1.3rem;
        font-size: 51px;
        letter-spacing: 0;
    }
    #index .mainVisual .textBox01 p {
        font-size: 14px;
    }
    #index .mainVisual .textBox02 {
        margin-top: -7vw;
        padding: 6.4rem 2.5rem 7.7rem;
        width: auto;
        height: auto;
        display: block;
        background-color: #163996;
    }
    #index .mainVisual .textBox02 .subBox {
        margin-right: 0;
        width: auto;
        display: block;
    }
    #index .mainVisual .textBox02 .innerBox {
        display: block;
    }
    #index .mainVisual .textBox02 .subBox .subInner {
        padding: 0;
        width: auto;
    }
    #index .mainVisual .textBox02 h2 {
        margin: 2.2rem 0;
        font-size: 26px;
        line-height: 1.42;
        text-align: center;
    }
    #index .mainVisual .textBox02 h2 span {
        padding-bottom: 0.5rem;
    }
    #index .mainVisual .textBox02 .text {
        margin-bottom: 2.3rem;
        font-size: 16px;
        line-height: 2.19;
        text-align: center;
    }
    #index .mainVisual .textBox02 .photo {
        width: 100%;
        max-width: inherit;
    }
    #index .mainVisual .textBox02 .photo a::before {
        width: 90px;
        height: 90px;
        left: calc(50% - 45px);
        top: calc(50% - 45px);
    }
    #index .mainVisual .textBox02 .comBtn {
        margin: 0 auto;
        width: 100%;
        max-width: 33.8rem;
    }
    #index .mainVisual .textBox02 .comBtn a {
        padding: 1.3rem 5rem;
        font-size: 18px;
    }
    #index .mainVisual .textBox02 .comBtn a .img {
        left: 0.5rem;
        top: -3.7rem;
    }
    #main .takashi {
        padding: 13.33vw 0;
        height: auto;
        background-image: url(img/index/sp_bg01.jpg);
    }
    #main .takashi a::before {
        width: 12rem;
        height: 12rem;
        left: calc(50% - 6rem);
        top: calc(50% - 6rem);
    }
    #main .takashi .textBox {
        display: block;
    }
    #main .takashi .textBox .lBox {
        margin: 0 0 19rem auto;
        padding-left: 0;
        width: 14.5rem;
    }
    #main .takashi .textBox .lBox h3 {
        font-size: 30px;
    }
    #main .takashi .textBox .lBox h3 span {
        margin-bottom: 1.2rem;
        font-size: 12px;
    }
    #main .takashi .textBox h2 {
        margin-right: 0;
        width: auto;
        color: #fff;
        font-size: 22px;
        line-height: 2.18;
    }
    #main .takashi .textBox h2 span {
        margin-bottom: 1rem;
        line-height: 1.7;
    }
    #main .takashi .textBox h2 span:last-of-type {
        margin-bottom: 0;
    }
    #index .service {
        position: relative;
    }
    #index .service .textBox {
        background-image: none;
        padding: 0;
    }
    #index .service .textBox .subBox {
        margin: 0;
        padding: 6.5rem 2.5rem 8rem;
        height: auto;
        background: url(img/index/sp_service_bg01.jpg) no-repeat center center / cover;
    }
    #index .service .content {
        margin: 0;
        width: auto;
        flex-direction: column;
    }
    #index .service .textBox h2 {
        margin-bottom: 2rem;
        font-size: 22px;
        line-height: 1.91;
    }
    #index .service .textBox .subBox p {
        margin-bottom: 2.8rem;
        font-size: 16px;
        line-height: 1.75;
    }
    #index .service .textBox .subBox p:last-of-type {
        margin-bottom: 0;
    }
    #index .service .serBox {
        margin-top: 0;
        padding: 6rem 2.5rem 9.4rem;
        width: auto;
        position: relative;
        right: 0;
        top: 0;
        box-sizing: border-box;
        background-color: #fff;
    }
    #index .service .serBox h3 {
        margin-bottom: 0.5rem;
        color: #163996;
        font-size: 34px;
        font-weight: 900;
        text-align: center;
    }
    #index .service .serBox .title {
        margin-bottom: 2.7rem !important;
    }
    #index .service .serBox .title span {
        padding: 1rem 3.3rem 3rem;
        display: inline-block;
        font-size: 16px;
        line-height: 1.81;
        background-size: 2.7rem auto, 2.7rem auto;
    }
    #index .h2Ttl {
        margin-bottom: 4.6rem;
    }
    #index .clients {
        margin-bottom: 0;
        margin-top: 0;
        padding: 5.2rem 0 6rem;
    }
    #index .clients::after {
        width: 100%;
    }
    #index .clients .h2Ttl {
        margin-bottom: 3.4rem;
    }
    #index .clients .clientsList {
        margin: -1.4rem 0.5rem 6.2rem;
        width: auto;
        justify-content: space-between;
    }
    #index .clients .clientsList::after {
        width: 30.59%;
        content: '';
    }
    #index .clients .clientsList li {
        margin-top: 1.4rem;
        width: 30.59%;
        margin-right: 0;
    }
    #index .clients .clientsList li:not(:nth-of-type(5n)) {
        margin-right: 0;
    }
    #index .seminar {
        padding: 4.8rem 0 6.6rem;
    }
    #index .seminar::after {
        width: 100%;
        background-color: #eee;
    }
    #index .seminar .h2Ttl {
        margin-bottom: 4.3rem;
    }
    #index .seminar .comSeminarUl {
        margin-bottom: 5.5rem;
    }
    #index .column {
        padding: 4.8rem 0 7.1rem;
    }
    #index .column .columnList {
        margin: 0 0.5rem 5.6rem;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    #index .column .columnList li {
        margin-top: 0;
        width: 100%;
    }
    #index .column .columnList li:not(:last-of-type) {
        margin-bottom: 3.5rem;
    }
    #index .column .columnList li a {
        display: block;
    }
    #index .column .columnList li .photoBox {
        margin: 0 2rem 0.9rem 0;
        max-width: 12.1rem;
        height: 8.1rem;
        width: 100%;
        float: left;
    }
    #index .column .columnList li .textBox {
        padding: 0;
        width: auto;
    }
    #index .column .columnList li .textBox .ttl {
        margin-bottom: 1rem;
    }
    #index .column .columnList li .textBox .ttl p {
        margin-bottom: 0;
        padding: 0.2rem 0 0;
        width: auto;
        font-size: 18px;
        line-height: 1.72;
    }
    #index .column .columnList li .textBox>p {
        clear: both;
    }
    #index .column .columnList li .textBox .time {
        margin-bottom: 0.7rem;
    }
}

@media all and (max-width: 389px) {
    #index .mainVisual .textBox02 h2 {
        font-size: 20px;
    }
    #index .mainVisual .textBox02 .comBtn a {
        font-size: 13px;
    }
    #main .takashi .textBox h2 {
        font-size: 18px;
    }
    #main .takashi .textBox h2 span {
        padding: 0 0.8rem;
    }
    .comLinkUl01 li .txt {
        font-size: 11px;
    }
    #index .service .textBox h2 {
        letter-spacing: -0.01em;
    }
}

@media all and (max-width: 374px) {
    #index .mainVisual .textBox01 h1 {
        font-size: 30px;
    }
    #main .takashi .textBox h2 {
        font-size: 17px;
    }
    #main .takashi .textBox h2 span {
        padding: 0 1rem;
    }
    #index .column .columnList li .textBox .ttl p {
        font-size: 1.7rem;
    }
}


/*------------------------------------------------------------
	comLink01
------------------------------------------------------------*/

.comLink01 {
    position: absolute;
    top: 4.6rem;
    right: -5rem;
}

.comLink01 a {
    padding-right: 2rem;
    color: #163996;
    font-size: 15px;
    font-weight: 900;
    background: url("img/common/icon09.png") no-repeat right center / 0.7rem;
}

@media (min-width: 1025px) and (max-width: 1919px) {
    .comLink01 {
        right: 60px;
    }
}

@media all and (min-width: 1025px) {
    .comLink01 a:hover {
        color: #ccc;
    }
}

@media all and (max-width: 1024px) {
    .comLink01 {
        margin: 0 auto;
        width: 14rem;
        position: static;
    }
    .comLink01 a {
        padding: 0 2rem;
        color: #163996;
        font-size: 15px;
        font-weight: 900;
        background: url("img/common/icon09.png") no-repeat right center / 0.7rem;
    }
}


/*------------------------------------------------------------
	comDl
------------------------------------------------------------*/

.comDl {
    margin-bottom: 4.1rem;
}

.comDl dt {
    float: left;
    line-height: 1.7;
    font-size: 17px;
}

.comDl dd {
    padding: 0 0 0 6rem;
}

@media all and (max-width: 1024px) {
    .comDl {
        margin-bottom: 5.3rem;
    }
    .comDl dd {
        padding-left: 4.7rem;
        font-size: 16px;
    }
}

@media (min-width: 1025px) and (max-width: 1919px) {
    html {
        font-size: 0.52vw;
    }
    body {
        font-size: 1.6rem;
    }
    #gNavi .hLinkList a {
        font-size: 1.8rem;
    }
    #gNavi .hLinkList .bgBox .ttl {
        font-size: 2rem;
    }
    #gNavi .hLinkList .bgBox .gLinkList a i {
        font-size: 1.5rem;
    }
    #gFooter .fNavi>li {
        font-size: 1.4rem;
    }
    #gFooter .fNavi .list01 span {
        font-size: 1rem;
    }
    #gFooter .copyright {
        font-size: 1.2rem;
    }
    .pageTitle .lead {
        font-size: 1.8vh;
    }
    .pageTitle .lead span {
        font-size: 0.8vw;
    }
    .pageTitle .lBox .title {
        font-size: 1.7rem;
    }
    .pageTitle .lBox p {
        font-size: 2rem;
    }
    .pageTitle .title {
        font-size: 3rem;
    }
    .pageTitle .linkList a {
        font-size: 1.8rem;
    }
    .comLinkUl li .ttl {
        font-size: 2rem;
    }
    .comLinkUl li .txt {
        font-size: 1.5rem;
    }
    .comLinkUl li p {
        font-size: 1.4rem;
    }
    .comLinkUl01 li .ttl {
        font-size: 2rem;
    }
    .comLinkUl01 li h4 {
        font-size: 2.4rem;
    }
    .wp-pagenavi a,
    .wp-pagenavi span {
        font-size: 1.9rem;
    }
    .comBtmBox .imgBox .textBox h3 {
        font-size: 3.2rem;
    }
    .comBtmBox .imgBox .textBox p {
        font-size: 1.7rem;
    }
    .comBtmBox .imgBox .textBox dl {
        font-size: 1.8rem;
    }
    .comBtn a {
        font-size: 2rem;
    }
    .comBtn.btn01 a {
        font-size: 1.6rem;
    }
    .comBtmLinkList li .headLine01 {
        font-size: 1.8rem;
    }
    .comBtmLinkList li p {
        font-size: 1.4rem;
    }
    .comBtmLinkList li .comBtn a {
        font-size: 1.5rem;
    }
    .headLine01 span {
        font-size: 3.4rem;
    }
    .headLine02 {
        font-size: 4.2rem;
    }
    .headLine03 {
        font-size: 3rem;
    }
    .headLine04 {
        font-size: 4.5rem;
    }
    .headLine04 span {
        font-size: 1.8rem;
    }
    .headLine05 {
        font-size: 4.5rem;
    }
    .headLine05.head01 {
        font-size: 2.8rem;
    }
    .headLine05 span {
        font-size: 1.8rem;
    }
    .comLinkList li {
        font-size: 2rem;
    }
    .comLinkList li a {
        font-size: 2rem;
    }
    .comBox01 .lBox .tBox .ttl {
        font-size: 1.8rem;
    }
    .comBox01 .lBox .tBox p {
        font-size: 1.8rem;
    }
    .comBox01 .rBox .text02 {
        font-size: 1.8rem;
    }
    .comTable01 th,
    .comTable01 td {
        font-size: 1.6rem;
    }
    .comTable02 th,
    .comTable02 td {
        font-size: 1.8rem;
    }
    .comTable02 th .must {
        font-size: 1.7rem;
    }
    .mailForm input[type="text"],
    .mailForm input[type="tel"],
    .mailForm input[type="email"],
    .mailForm input[type="submit"],
    .mailForm textarea {
        font-size: 1.7rem;
    }
    .mailForm .submitList input {
        font-size: 1.8rem;
    }
    .comImgBox .photoBox p {
        font-size: 1.8rem;
    }
    .comImgBox.imgBox01 .textBox h3 {
        font-size: 3.5rem;
    }
    .comTextList01 li h3 {
        font-size: 2.8rem;
    }
    .comTextList02 li .txtBox .ttl {
        font-size: 1.8rem;
    }
    .comTextList02 li .txtBox .txt {
        font-size: 1.6rem;
    }
    .comTextList03 li h3 {
        font-size: 2.4rem;
    }
    .comTextList03 li p {
        font-size: 1.8rem;
    }
    .comTextList04 li .ttl {
        margin-bottom: 17px;
        font-size: 24px;
    }
    .comTextList04 li h3 {
        font-size: 22px;
    }
    .comTextList04 li .text {
        font-size: 16px;
    }
    .comTextList04 li dl,
    .comTextList04 li dt {
        font-size: 16px;
    }
    .comTextList04 li .comBtn a {
        font-size: 16px;
    }
    .comTextList05 li {
        font-size: 1.8rem;
    }
    .comTxtList01 li {
        font-size: 12px;
    }
    #sideBar .sTitle {
        font-size: 1.8rem;
    }
    #sideBar li .txtBox p {
        font-size: 2rem;
    }
    #sideBar li .txtBox p span {
        font-size: 1.5rem;
    }
    .slugBox p {
        font-size: 2rem;
    }
    #column_single #conts h3 {
        font-size: 1.8rem;
    }
    .pageList li a {
        font-size: 1.9rem;
    }
    .comSeminarUl li .txtBox h2 {
        font-size: 2rem;
    }
    .comSeminarUl li .txtBox dt {
        font-size: 1.5rem;
    }
    .comSeminarUl li .txtBox dd li {
        font-size: 1.4rem;
    }
    .comSeminarUl li .txtBox .time span {
        font-size: 1.5rem;
    }
    .comSlugUl li {
        font-size: 1.5rem;
    }
    .comLink a {
        font-size: 1.5rem;
    }
    .comLink.fsz01 a {
        font-size: 1.8rem;
    }
    .comLink.cor01 a {
        font-size: 1.8rem;
    }
    #seminar_single .rBox .time span {
        font-size: 2rem;
    }
    #seminar_single .rBox dt {
        font-size: 1.8rem;
    }
    .otherSingleBox .titleBox .link a {
        font-size: 1.8rem;
    }
    #page .sec01 .lBox p {
        font-size: 2rem;
    }
    #recruit .mv h1 {
        font-size: 6rem;
    }
    #recruit .mv h1 .en {
        font-size: 3rem;
    }
    #recruit .mv p {
        font-size: 2rem;
    }
    #recruit .people h2 {
        font-size: 4.5rem;
    }
    #recruit .people li .txtBox .name {
        font-size: 4.9rem;
    }
    #recruit .people li .txtBox .name span {
        font-size: 1.8rem;
    }
    #recruit .people li .txtBox .txt {
        font-size: 2.8rem;
    }
    #recruit .linkList li p {
        font-size: 4.9rem;
    }
    #recruit .linkList li p span {
        font-size: 1.8rem;
    }
    #recruit .btn .txtBox p {
        font-size: 8.3rem;
    }
    #recruit .btn .txtBox .comBtn a {
        font-size: 1.7rem;
    }
    #index .mainVisual .textBox01 h1 {
        font-size: 10rem;
    }
    #index .mainVisual .textBox01 p {
        font-size: 1.8rem;
    }
    #index .mainVisual .textBox02 h2 {
        font-size: 2.5vh;
    }
    #index .mainVisual .textBox02 .comBtn a {
        font-size: 1.8rem;
    }
    #main .takashi .textBox .lBox h3 {
        font-size: 4.4rem;
    }
    #main .takashi .textBox .lBox h3 span {
        font-size: 1.8rem;
    }
    #main .takashi .textBox h2 {
        font-size: 3.5rem;
    }
    #index .h2Ttl {
        font-size: 1.6rem;
    }
    #index .h2Ttl .en {
        font-size: 3.4rem;
    }
    #index .service .textBox h2 {
        font-size: 3.2rem;
    }
    #index .service .textBox .subBox p {
        font-size: 1.8rem;
    }
    #index .service .serBox h3 {
        font-size: 4.2rem;
    }
    #index .service .serBox .title span {
        font-size: 1.8rem;
    }
    #index .column .columnList li .textBox .ttl p {
        font-size: 2rem;
    }
    #index .column .columnList li .textBox .time {
        font-size: 1.6rem;
    }
    #index .column .columnList li .textBox p {
        font-size: 1.4rem;
    }
    .comLink01 a {
        font-size: 1.5rem;
    }
    .comDl dt {
        font-size: 1.7rem;
    }
    #index .mainVisual .textBox02 .subBox .subInner {
        min-width: inherit;
    }
    #index .mainVisual .textBox02 {
        min-width: inherit;
    }
    .comBtmBox .imgBox .textBox {
        min-width: inherit;
    }
    #gHeader .hLinkUl li a {
        padding: 1.5rem 2rem 1.5rem 1rem;
    }
    .comLinkUl li .time {
        margin-right: 2rem;
    }
    #index .clients::after {
        width: 96.2%;
    }
    #index .mainVisual .textBox02 .subBox .subInner {
        width: 43rem;
    }
    #main .takashi .textBox .lBox {
        width: auto;
    }
    .comPhoto {
        width: 92.5%;
    }
    .comTextList04 li h3 {
        margin-bottom: 12px;
    }
    .comTxtList01 {
        margin-bottom: 25px;
    }
    .comTextList04 .list01 h3 {
        margin-bottom: 25px;
    }
    .pageTitle .photo {
        width: 56rem;
    }
    .pageTitle.page01 .inner .photo {
        margin-right: 6%;
    }
    #page .education::before {
        width: 92.5%;
    }
    .hr-line::before {
        width: 92.5% !important;
    }
    #page .sec01 {
        padding: 12rem 2rem 5rem;
    }
    #page .sec01 .content {
        margin: 0 auto;
    }
}

@media (min-width: 1650px) and (max-width: 1919px) {
    #page .sec01 .content {
        margin: 0 0 0 auto;
    }
    #page .sec01 {
        padding: 12rem 20rem 5rem 2rem;
    }
}

@media (min-width: 1500px) and (max-width: 1919px) {
    #page .education::before {
        width: calc(100% - ((100% - 1300px) / 2));
    }
    .hr-line::before {
        width: calc(100% - ((100% - 1300px) / 2)) !important;
    }
}

body {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

.textStyle {
    opacity: 0;
}

.textStyle>span {
    position: relative;
    left: 0;
    top: 0;
    opacity: 0;
}

.fadein {
    opacity: 0;
    transition: all 1s;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    -ms-transition: all 1s;
    -o-transition: all 1s;
    transition-delay: .3s;
}

.fadein.top {
    transform: translateY(50px);
    -webkit-transform: translateY(50px);
    -moz-transform: translateY(50px);
    -ms-transform: translateY(50px);
    -o-transform: translateY(50px);
}

.fadein.scrollin {
    opacity: 1;
}

.fadein.top.scrollin {
    transform: translateY(0);
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
}

.fadein.left {
    transform: matrix(1, 0, 0, 1, -25, 0);
    -webkit-transform: matrix(1, 0, 0, 1, -25, 0);
    -moz-transform: matrix(1, 0, 0, 1, -25, 0);
    -ms-transform: matrix(1, 0, 0, 1, -25, 0);
    -o-transform: matrix(1, 0, 0, 1, -25, 0);
}

.fadein.left.scrollin {
    transform: matrix(1, 0, 0, 1, 0, 0);
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
    -moz-transform: matrix(1, 0, 0, 1, 0, 0);
    -ms-transform: matrix(1, 0, 0, 1, 0, 0);
    -o-transform: matrix(1, 0, 0, 1, 0, 0);
}

.fadein.right {
    transform: matrix(1, 0, 0, 1, 25, 0);
    -webkit-transform: matrix(1, 0, 0, 1, 25, 0);
    -moz-transform: matrix(1, 0, 0, 1, 25, 0);
    -ms-transform: matrix(1, 0, 0, 1, 25, 0);
    -o-transform: matrix(1, 0, 0, 1, 25, 0);
}

.fadein.right.scrollin {
    transform: matrix(1, 0, 0, 1, 0, 0);
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
    -moz-transform: matrix(1, 0, 0, 1, 0, 0);
    -ms-transform: matrix(1, 0, 0, 1, 0, 0);
    -o-transform: matrix(1, 0, 0, 1, 0, 0);
}

.fadein.scale {
    transform: scale(0.8);
    -webkit-transform: scale(0.8);
    -moz-transform: scale(0.8);
    -ms-transform: scale(0.8);
    -o-transform: scale(0.8);
}

.fadein.scale.scrollin {
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
}


/*------------------------------------------------------------
	以下追加
------------------------------------------------------------*/


/*head*/

.mission .pageTitle .photo {
    background-image: url("img/head_mission_photo01.png");
}

.about .pageTitle .photo {
    background-image: url("img/head_about_photo01.png");
}

.services .pageTitle .photo {
    background-image: url("img/head_services_photo01.png");
}

.business-skill .pageTitle .photo {
    background-image: url("img/head_business-skill_photo01.png");
}

.bsouyou .pageTitle .photo {
    background-image: url("img/head_business-skill_photo01.png");
}

.eigyoukyouka .pageTitle .photo {
    background-image: url("img/syasin.png");
}

.ceo .pageTitle .photo {
    background-image: url("img/head_ceo_photo01.png");
}

.contact .pageTitle .photo {
    background-image: url("img/head_magazine_photo01.png");
}

.download .pageTitle .photo {
    background-image: url("img/head_download_photo01.png");
}

.magazine .pageTitle .photo {
    background-image: url("img/head_contact_photo01.png");
}

.management-skill .pageTitle .photo {
    background-image: url("img/head_management-skill_photo01.png");
}

.tandokumanagement .pageTitle .photo {
    background-image: url("img/head_management-skill_photo01.png");
}

.pdca .pageTitle .photo {
    background-image: url("img/head_pdca-consulting_photo01.png");
}

.messeage_01 .pageTitle .photo {
    background-image: url("img/head_messeage_01_photo01.png");
}

.messeage_02 .pageTitle .photo {
    background-image: url("img/head_messeage_02_photo01.png");
}

.messeage_03 .pageTitle .photo {
    background-image: url("img/head_messeage_03_photo01.png");
}

.messeage_04 .pageTitle .photo {
    background-image: url("img/head_messeage_04_photo01.png");
}

.messeage_05 .pageTitle .photo {
    background-image: url("img/head_messeage_05_photo01.png");
}

.messeage_06 .pageTitle .photo {
    background-image: url("img/head_messeage_06_photo01.png");
}

.messeage_07 .pageTitle .photo {
    background-image: url("img/head_messeage_07_photo01.png");
}

.messeage_08 .pageTitle .photo {
    background-image: url("img/head_messeage_08_photo01.png");
}

.messeage_09 .pageTitle .photo {
    background-image: url("img/head_messeage_09_photo01.png");
}

.messeage_10 .pageTitle .photo {
    background-image: url("img/head_messeage_10_photo01.png");
}

.messeage_11 .pageTitle .photo {
    background-image: url("img/head_messeage_11_photo01.png");
}

.muryou-manegement .pageTitle .photo {
    background-image: url("img/DSC_0608.JPG");
}

.text01 {
    margin-bottom: 1.2rem;
    font-weight: normal !important;
    letter-spacing: 0.07em;
}

.profdd dt {
    float: left;
    font-weight: bold;
}

.profdd dd {
    margin-left: 80px;
    color: #7E7E7E;
    font-weight: bold;
}

.hr-line {
    margin-top: 81px;
    padding-top: 6rem;
    position: relative;
}

.hr-line::before {
    width: 83.86%;
    height: 1px;
    position: absolute;
    right: 0;
    top: 0;
    background-color: #ccc;
    content: '';
}

@media (max-width: 1024px) {
    .hr-line::before {
        width: calc(100% - 2.5rem);
        height: 1px;
        position: absolute;
        right: 0;
        top: 0;
        background-color: #ccc;
        content: '';
    }
}

.content {
    position: relative;
}

.bgnone {
    background: none !important;
}

.centerimg {
    margin: auto;
    display: block;
}

.mb06 {
    margin-bottom: 6rem !important;
}

.blnone {
    border-left: none !important;
    margin-top: -30px;
}

.glaytxt {
    color: #7e7e7e;
}

.comLinkList {
    margin-bottom: 2rem
}

.map {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
}

.map iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

.privacy .pageTitle {
    background-image: url("img/privacy_bg.png");
}

.services .pageTitle {
    background-image: url("img/services_bg.png");
}

.pdca .pageTitle {
    background-image: url("img/pdca_bg.png");
}

.mission .pageTitle {
    background-image: url("img/mission_bg.png");
}

.management-skill .pageTitle {
    background-image: url("img/management-skill_bg.png");
}

.magazine .pageTitle {
    background-image: url("img/contact_bg.png");
}

.download .pageTitle {
    background-image: url("img/download_bg.png");
}

.contact .pageTitle {
    background-image: url("img/magazine_bg.png");
}

.business-skill .pageTitle {
    background-image: url("img/business-skill_bg.png");
}

.about .pageTitle {
    background-image: url("img/about_bg.png");
}

.ceo .pageTitle {
    background-image: url("img/member_bg.png");
}

.messeage_01 .pageTitle {
    background-image: url("img/member_bg.png");
}

.messeage_02 .pageTitle {
    background-image: url("img/member_bg.png");
}

.messeage_03 .pageTitle {
    background-image: url("img/member_bg.png");
}

.messeage_04 .pageTitle {
    background-image: url("img/member_bg.png");
}

.messeage_05 .pageTitle {
    background-image: url("img/member_bg.png");
}

.messeage_06 .pageTitle {
    background-image: url("img/member_bg.png");
}

.messeage_07 .pageTitle {
    background-image: url("img/member_bg.png");
}

.messeage_08 .pageTitle {
    background-image: url("img/member_bg.png");
}

.messeage_09 .pageTitle {
    background-image: url("img/member_bg.png");
}

.messeage_10 .pageTitle {
    background-image: url("img/member_bg.png");
}

.messeage_11 .pageTitle {
    background-image: url("img/member_bg.png");
}

.comBox01 {
    flex-wrap: wrap;
}

.mt01 {
    margin-top: 1rem !important
}

.mt02 {
    margin-top: 2rem !important
}

.mt03 {
    margin-top: 3rem !important
}

.mt04 {
    margin-top: 4rem !important;
}

.mt05 {
    margin-top: 5rem !important
}

.mb01 {
    margin-top: 1rem !important
}

.mb02 {
    margin-top: 2rem !important
}

.mb03 {
    margin-top: 3rem !important
}

.mb04 {
    margin-top: 4rem !important
}

.mb05 {
    margin-top: 5rem !important
}


/*フォーム下文言追加用*/

.business-skill .contact {
    margin-bottom: 0 !important;
}

.management-skill .contact {
    margin-bottom: 0 !important;
}

.pdca .contact {
    margin-bottom: 0 !important;
}

.contact-bottom-text {
    margin: 1rem 2.5rem 17rem;
    text-align: center;
}

.nonelink {
    pointer-events: none;
    cursor: default;
}

.pageTitle .lBox .lead {
    line-height: 1.5;
}

.flex-works-num {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    height: 100%;
    justify-content: space-between;
}

.flex-works-num div {
    width: 32%;
    margin-bottom: 2rem;
}

.works .mv {
    background: url(img/recruit/bg002.png) no-repeat center center / cover !important;
}

@media (max-width: 1024px) {
    .works .mv {
        background-image: url(img/recruit/bg002.png) !important;
    }
    .ceo .pageTitle {
        margin-bottom: 13rem !important;
    }
}

.office .mv {
    background: url(img/recruit/bg003.png) no-repeat center center / cover !important;
}

@media (max-width: 1024px) {
    .office .mv {
        background-image: url(img/recruit/bg003.png) !important;
    }
}

.tac {
    text-align: center;
}

.pt10 {
    padding-top: 10rem;
}

.follow-up .pageTitle {
    background-image: url("img/follow-upbg.png");
}

.follow-up .pageTitle .photo {
    background-image: url("img/follow-upmv.png");
}

.fadein.dely02 {
    transition-delay: .5s;
}

.fadein.dely03 {
    transition-delay: .7s;
}

.text01 {
    margin-bottom: 1.2rem;
    font-weight: normal !important;
    letter-spacing: 0.07em;
}

.profdd dt {
    float: left;
    font-weight: bold;
}

.profdd dd {
    margin-left: 80px;
    color: #7E7E7E;
    font-weight: bold;
}

.hr-line {
    padding-top: 4rem;
}

.hr-line::before {
    width: 83.86%;
    height: 1px;
    position: absolute;
    right: 0;
    top: 0;
    background-color: #ccc;
    content: '';
}

@media (max-width: 1024px) {
    .hr-line::before {
        width: calc(100% - 2.5rem);
        height: 1px;
        position: absolute;
        right: 0;
        top: 0;
        background-color: #ccc;
        content: '';
    }
}

.content {
    position: relative;
}

.tc {
    text-align: center !important;
}

.mt {
    margin-top: 2em !important;
}

.mb {
    margin-bottom: 2em !important;
}

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}


/*------------------------------------------------------------
	comDownloadfileUl
------------------------------------------------------------*/

.comDownloadfileUl {
    margin: -5rem 0 9rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
}

.comDownloadfileUl::after {
    width: calc((100% - 100px) / 3);
    display: block;
    content: "";
}

.comDownloadfileUl>li {
    margin-top: 5rem;
    width: calc((100% - 100px) / 3);
    position: relative;
    background: #F7F7F7;
}

.comDownloadfileUl>li a {
    display: block;
}

.comDownloadfileUl>li .comLink {
    position: absolute;
    width: 100%;
    max-width: 35.4rem;
    left: 50%;
    bottom: 3rem;
    transform: translateX(-50%);
}

.comDownloadfileUl>li .phoBox {
    overflow: hidden;
    position: relative;
}

.comDownloadfileUl>li .phoBox span {
    padding-bottom: 47.75%;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    transition: .3s;
}

.comDownloadfileUl>li .phoBox .comSlugUl {
    position: absolute;
    left: 0;
    top: 0;
}

.comDownloadfileUl>li .txtBox {
    padding: 1.7rem 2.3rem 8.2rem;
}

.comDownloadfileUl>li .txtBox h2 {
    margin-bottom: 1.6rem;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.55;
    text-align: justify;
    text-justify: inter-ideograph;
    transition: .4s;
}

.comDownloadfileUl>li .txtBox dl {
    margin-bottom: 1.9rem;
}

.comDownloadfileUl>li .txtBox dt {
    margin-bottom: 1.2rem;
    padding: 0.3rem 0.3rem 0.6rem;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    background: #FFF;
}

.comDownloadfileUl>li .txtBox dd ul {
    margin: 0 1.5rem;
}

.comDownloadfileUl>li .txtBox dd li {
    margin: 0;
    padding-left: 1em;
    width: auto;
    font-size: 14px;
    line-height: 1.79;
    text-indent: -1em;
    background: none;
}

.comDownloadfileUl>li .txtBox .time {
    margin-bottom: 1rem;
    text-align: center;
}

.comDownloadfileUl>li .txtBox .time span {
    padding: 0.1rem 0 0.1rem 2rem;
    color: #163996;
    display: inline-block;
    font-size: 15px;
    font-weight: 700;
    background: url(img/common/icon08.png) no-repeat left top 0.9rem / 1.5rem 1.5rem;
}

.comDownloadfileUl>li .txtBox .comLink {
    margin: 0 auto !important;
}

@media all and (min-width: 1025px) {
    .comDownloadfileUl>li a:hover .phoBox span {
        transform: scale(1.1);
    }
    .comDownloadfileUl>li a:hover h2 {
        color: #ccc;
    }
}

@media all and (max-width: 1024px) {
    .comDownloadfileUl {
        margin: 0 0 7rem;
        padding-top: 0.6rem;
        display: block;
    }
    .comDownloadfileUl::after {
        display: none;
    }
    .comDownloadfileUl>li {
        margin: 0 0 2.7rem;
        width: auto;
        background: none;
    }
    .comDownloadfileUl>li .comLink {
        margin: 0 auto;
        width: 100%;
        max-width: 29rem;
    }
    .comDownloadfileUl>li .txtBox {
        padding: 1.4rem 2.3rem 8.2rem;
    }
    .comDownloadfileUl>li .txtBox h2 {
        margin-bottom: 2.3rem;
        font-size: 18px;
        line-height: 1.72;
    }
    .comDownloadfileUl>li .txtBox dl {
        margin-bottom: 1.3rem;
    }
    .comDownloadfileUl>li .txtBox dt {
        margin-bottom: 1.2rem;
        padding: 0.3rem 0.3rem 0.6rem;
        font-size: 15px;
        background: #F7F7F7;
    }
    .comDownloadfileUl>li .txtBox dd ul {
        margin: 0;
    }
    .comDownloadfileUl>li .txtBox dd li {
        margin: 0;
        padding-left: 1em;
        width: auto;
        font-size: 14px;
        line-height: 1.79;
        text-indent: -1em;
        background: none;
    }
    .comDownloadfileUl>li .txtBox .time {
        margin-bottom: 1.6rem;
    }
}

@media all and (max-width: 350px) {
    .comDownloadfileUl>li .txtBox .btn a {
        padding: 1.5rem 2rem;
        font-size: 14px;
    }
    .comDownloadfileUl>li .txtBox .btn a i {
        right: 1.5rem;
    }
    .comDownloadfileUl>li .comLink {
        max-width: 27rem;
    }
}


/*------------------------------------------------------------
	download_single
------------------------------------------------------------*/

#download_single {
    margin-top: -0.9rem;
}

#download_single .textSec {
    margin-bottom: 9.7rem;
}

#download_single .lBox {
    width: 36.92%;
}

#download_single .lBox .comLink {
    width: 100%;
    max-width: 35.4rem;
}

#download_single .lBox .photo {
    margin-bottom: 4.6rem;
}

#download_single .lBox .comLink.fsz01 a {
    padding: 1.3rem 4rem;
}

#download_single .rBox {
    width: 57.15%;
}

#download_single .rBox .comSlugUl {
    margin-bottom: 3rem;
}

#download_single .rBox .headLine03 {
    line-height: 1.8;
}

#download_single .rBox dl {
    margin-left: 0.8rem;
}

#download_single .rBox dt {
    margin-bottom: 3.4rem;
    padding: 1.2rem 3rem 1.4rem;
    font-size: 18px;
    font-weight: 700;
    background: #F7F7F7;
}

#download_single .rBox dd {
    margin-left: 2.8rem;
}

#download_single .rBox dd:not(:last-of-type) {
    margin-bottom: 5rem;
}

#download_single .rBox dd li {
    line-height: 1.8125;
}

#download_single .content>.comLink {
    margin-bottom: 16.9rem;
}

@media all and (max-width: 1024px) {
    #download_single {
        margin-top: 0;
        padding-top: 0.6rem;
    }
    #download_single .content {
        margin: 0 2.5rem;
    }
    #download_single .textSec {
        margin-bottom: 5.1rem;
        display: block;
    }
    #download_single .lBox {
        width: auto;
    }
    #download_single .lBox .photo {
        margin-bottom: 4rem;
    }
    #download_single .lBox .comLink {
        max-width: 29rem;
    }
    #download_single .rBox {
        width: auto;
    }
    #download_single .rBox .comSlugUl {
        margin-bottom: 1.9rem;
    }
    #download_single .rBox .headLine03 {
        margin-bottom: 1.1rem;
        font-size: 20px;
        line-height: 1.75;
    }
    #download_single .rBox .comLink {
        margin-bottom: 4rem;
        width: 86%;
    }
    #download_single .rBox dl {
        margin-left: 0;
        font-size: 16px;
    }
    #download_single .rBox dt {
        margin-bottom: 2.5rem;
        padding: 1.3rem 2.2rem 1.7rem;
        font-size: 16px;
    }
    #download_single .rBox dd {
        margin-left: 0;
    }
    #download_single .rBox dd:not(:last-of-type) {
        margin-bottom: 4.8rem;
    }
    #download_single .rBox dd li {
        font-size: 16px;
        line-height: 2;
    }
    #download_single .comLink {
        margin-bottom: 0;
    }
    #download_single .content>.comLink {
        margin-bottom: 9.4rem;
    }
    #download_single .link {
        text-align: center;
    }
    #download_single .link a {
        font-size: 16px;
        font-weight: 700;
    }
    #download_single .link a i {
        margin-left: 2rem;
        transition: .3s;
    }
}

@media (min-width: 1025px) and (max-width: 1919px) {
    .comDownloadfileUl>li .txtBox h2 {
        font-size: 2rem;
    }
    .comDownloadfileUl>li .txtBox dt {
        font-size: 1.5rem;
    }
    .comDownloadfileUl>li .txtBox dd li {
        font-size: 1.4rem;
    }
    #download_single .rBox dt {
        font-size: 1.8rem;
    }
}


/*------------------------------------------------------------
	voice
------------------------------------------------------------*/

#voice .comLinkUl {
    margin: -7.7rem 0 17rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

#voice .comLinkUl::after {
    width: 29.23%;
    content: '';
}

#voice .comLinkUl li {
    margin-top: 7.7rem;
    width: 26%;
    padding: 30px;
    box-shadow: 0px 0px 5px 4px rgb(0 0 0 / 2%);
}

#voice .comLinkUl li:hover {
    transition: .8s revert;
    box-shadow: 0px 0px 10px 10px rgb(0 0 0 / 9%);
}

#voice .comLinkUl li a {
    display: block;
}

#voice .comLinkUl li .subBox {
    margin-bottom: 0.6rem;
}

#voice .comLinkUl li .ttl {
    font-size: 16px;
    line-height: 1.55;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

#voice .comLinkUl li .txt {
    margin-bottom: 0.8rem;
    display: flex;
    font-size: 15px;
    color: #ccc;
}

#voice .comLinkUl li .txt01 {
    max-width: calc(100% - 9rem);
}

#voice .comLinkUl li p {
    font-size: 14px;
    line-height: 1.79;
}

#voice .comLinkUl .txtBox {
    width: 100%;
    display: flex;
    justify-content: left;
    flex-wrap: wrap;
    align-items: center;
}

#voice .comLinkUl .txtBox .b_txt {
    max-width: fit-content;
    font-size: 1.6rem;
    border: 1px solid #000;
    border-radius: 2px;
    padding: 0 4px;
    margin-right: 5px
}

@media all and (min-width: 1025px) {
    #voice .comLinkUl li .ttl {
        font-size: 2.6rem;
    }
    #voice .comLinkUl li .txt {
        font-size: 2rem;
    }
    #voice .comLinkUl li p {
        font-size: 2rem;
    }
}

@media all and (max-width: 1024px) {
    #voice .comLinkUl {
        margin: auto;
        display: block;
        width: 95%;
    }
    #voice .comLinkUl::after {
        display: none;
    }
    #voice .comLinkUl li {
        margin: 0 0 3.7rem;
        width: auto;
    }
    #voice .comLinkUl li:last-of-type {
        margin-bottom: 0;
    }
    #voice .comLinkUl li .subBox {
        margin-bottom: 2rem;
        display: list-item;
    }
    #voice .comLinkUl li .pho {
        margin: -0.2rem 0 0;
        padding-bottom: 0;
        width: 100%;
        height: fit-content;
    }
    #voice .comLinkUl li .pho .img {
        height: 20vh;
        padding-bottom: 0;
    }
    #voice .comLinkUl li .ttl {
        width: fit-content;
        font-size: 2.5rem;
        line-height: 1.72;
    }
    #voice .comLinkUl li .txt {
        margin-bottom: 0.8rem;
    }
    #voice .comLinkUl li p {
        font-size: 14px;
        line-height: 1.79;
    }
}


/*------------------------------------------------------------
	voice_single
------------------------------------------------------------*/

#voice_single {
    margin-bottom: 20rem;
}

#voice_single #conts {
    margin-top: -30px;
}

#voice_single #conts .headLine03 {
    margin-bottom: 1rem;
}

#voice_single #conts .photo {
    margin-bottom: 4.3rem;
}

#voice_single #conts h2 {
    font-size: 3.6rem;
}

#voice_single #conts h3 {
    margin-bottom: 3.4rem;
    padding: 1.8rem 2.8rem;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.5;
    background: #3c57a6;
    color: #fff;
}

#voice_single #conts p {
    font-size: 16px;
    margin-bottom: 6rem;
}

#voice_single #sideBar .sTitle {
    font-size: 17px;
}

#voice_single #sideBar li .txtBox .ttl {
    font-size: 18px;
}

@media all and (max-width: 1024px) {
    #voice_single {
        margin-bottom: 9.2rem;
    }
    #voice_single .content {
        margin: 0 2.5rem;
        padding-bottom: 10rem;
        display: block;
        position: relative;
    }
    #voice_single #conts .photo {
        margin-bottom: 3.2rem;
    }
    #voice_single #conts h2 {
        font-size: 2.7rem;
    }
    #voice_single #conts h3 {
        margin-bottom: 1rem;
        padding: 2rem 2.2rem 1.9rem;
        font-size: 16px;
        line-height: 1.625;
    }
    #voice_single #conts p {
        margin-bottom: 3.7rem;
        font-size: 16px;
        line-height: 2;
        text-align: justify;
        text-justify: inter-ideograph;
    }
    #voice_single #sideBar .sTitle {
        font-size: 16px;
    }
    #voice_single #sideBar li .txtBox .ttl {
        font-size: 1.8rem;
    }
}

@media (min-width: 1025px) and (max-width: 1919px) {
    #voice_single .slugBox p {
        font-size: 2.4rem;
    }
    #voice_single #conts h3 {
        font-size: 2.4rem;
    }
    #voice_single #conts p {
        font-size: 2.2rem;
    }
    #voice_single #sideBar .sTitle {
        font-size: 2.4rem;
    }
    #voice_single #sideBar li .txtBox .ttl {
        font-size: 2.5rem;
    }
}

@media all and (max-width: 1024px) {
    .pageTitle.noCategory {
        height: auto!important;
    }
}


/*CONTACTのお問い合わせフォーム*/

#title02::after {
    content: "";
    position: absolute;
    margin-left: 5px;
    width: 70%;
    height: 45px;
    background: #fff;
    padding: 1px 3px;
    transform: translate(-95%, 18px);
    z-index: -1;
}

.ss_field {
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    margin: 1rem 0 1rem 0;
    transition: ease .2s;
}

.ss_user_notnull {
    color: red;
}

.ss_form_title {
    font-size: 16px;
    margin: -1rem;
}

.ss_input {
    width: 40vw;
    height: max-content;
}

.ss_input textarea {
    width: 40vw;
}

.ss_grid input:not([type="checkbox"]):not([type="radio"]):not([type="date"]):not([type="datetime-local"]) {
    width: 100%;
    height: 30px;
}

.ss_form_title {
    width: 40%;
}

.ss_btnArea {
    text-align: center;
}

.ss_btnArea input {
    height: 10vh;
    width: 20%;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    padding: 0.3em 1em;
    text-decoration: none;
    background-color: #163996;
    color: #FFFFFF;
    font-size: 2rem;
    font-weight: bold;
    border: solid 2px #163996;
    border-radius: 3px;
    transition: ease 0.2;
}

.ss_btnArea input:hover {
    background-color: rgba(22, 57, 150, 0.85);
    border: solid 0px #163996;
    transform: scale(0.98);
}