@charset "utf-8";
/* *************************************
// スタイル
************************************* */

:root {
    /* 色 */
    --main-color:    #2478be;
    --main-color-rgb: 36,120,190;
    --blue1-color:   #1f518e;
    --blue2-color:   #328ecc;
    --blue3-color:   #bbeaff;
    --blue-bg-color: #f0f9ff;
    --footer-color:  #333;

    /* 罫線風 */
    --bg-grid: linear-gradient(transparent 95%, rgba(0, 0, 0, .05) 50%, rgba(0, 0, 0, .05)), linear-gradient(90deg, transparent 95%, rgba(0, 0, 0, .05) 50%, rgba(0, 0, 0, .05));

    /* 黒svg→白 */
    --filter-white: invert(100%) sepia(100%) saturate(0%) hue-rotate(88deg) brightness(105%) contrast(103%);

    /* フォント共通 */
    --h2-en-font-size:  55px;
    --h2-jp-font-size:  25px;
    --h2-en-font-weight: 700;
    --h2-jp-font-weight: 600;

    --topics-en-font-size: 40px;
    --topics-jp-font-size: 18px;

    --about-h2-jp-font-size:  30px;
    --about-h2-en-font-size:  18px;
}

@media (max-width: 767px) {

    :root {
        /* フォント共通 */
        --h2-en-font-size:  40px;
        --h2-jp-font-size:  20px;
    }

}


body {
    font-family: "Noto Sans JP", sans-serif;
}

br.pc {
    display: block;
}

br.sp {
    display: none;
}

@media (max-width: 767px) {
    br.pc {
        display: none;
    }

    br.sp {
        display: block;
    }
}

/* *************************************
// パーツなど
************************************* */
/* ボタン（黒） */
.btn001 > a {
    background: #333;
    color: #fff;
    border-radius: 0;
    line-height: 1;
    padding: 1em 2em;
}
.btn001 > a:after {
    content: "";
    display:inline-block;
    width: 0.8em;
    height: 0.8em;
    background-image:url(../images/common/btn_bk.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1em;
}

/* ボタン（青） */
.btn001 > a.blue {
    background: var(--blue2-color);
}
.btn001 > a.blue:after {
    background-image:url(../images/common/btn_bl.svg);
}
/* ボタン（白線） */
.btn001 > a.white {
    background: transparent;
    border: 1px solid #fff;
}
.btn001 > a.white:after {
    background-image:url(../images/common/btn_bk.svg);
}


.btn002 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 40px 0;
}

.btn002 > a {
    display: inline-block;
    background: var(--blue2-color);
    color: #fff;
    border-radius: 0;
    line-height: 1;
    padding: 1em 2em;
    font-weight: bold;
    font-size: 22px;
    min-width: 400px;
    text-align: center;
}
.btn002 > a:after {
    content: "";
    display: inline-block;
    width: 0.8em;
    height: 0.8em;
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1em;
    background-image: url(../images/common/btn_bl.svg);
}

@media (max-width: 767px) {

    .btn002 > a {
        min-width: 0;
        width: 90%;
        font-size: 16px;
    }

}


/* 見出し(英語と日本語の組み合わせ・横並び) */
.title001 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
}
.title001 .en {
    font-size: var(--topics-en-font-size);
    font-weight: bold;
}
.title001 .jp {
    font-size: var(--topics-jp-font-size);
    font-weight: bold;
}

@media (max-width: 767px) {

    .title001 {
        flex-wrap: wrap;
        gap: 10px;
    }
    .title001 .en {
        width: 100%;
    }
    .title001 .jp {
        width: 100%;
    }
}


/* 見出し(英語と日本語の組み合わせ・左寄り) */
.title003 {
    text-align: left;
}
.title003 .en {
    font-size: var(--h2-en-font-size);
    font-weight: var(--h2-en-font-weight);
    letter-spacing: 3px;
    line-height: 1;
}
.title003 .jp {
    font-size: var(--h2-jp-font-size);
    font-weight: var(--h2-jp-font-weight);
}

.title003 span.color {
    color: var(--main-color);
}

/* 見出し(英語と日本語の組み合わせ・センター寄り) */
.title004 {
    text-align: center;
}
.title004 .en {
    font-size: var(--h2-en-font-size);
    font-weight: var(--h2-en-font-weight);
    letter-spacing: 3px;
    line-height: 1;
}
.title004 .jp {
    font-size: var(--h2-jp-font-size);
    font-weight: var(--h2-jp-font-weight);
}

.title004 span.color {
    color: var(--main-color);
}


.text_center {
    text-align: center;
}
.text_center_pc {
    text-align: center;
}

@media (max-width: 767px) {
    .text_center_pc {
        text-align: left;
    }
}




.title_fukidashi {
    text-align: center;
    margin-bottom: 30px;
    font-size: 30px;
    font-weight: bold;
    color: #333;
    display: table;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
}
.title_fukidashi:before {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background: #333;
    position: absolute;
    left: 0;
    bottom: -5px;
    transform: rotate(-20deg);
}
.title_fukidashi:after {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background: #333;
    position: absolute;
    right: 0;
    bottom: -5px;
    transform: rotate(20deg);
}



/* フォーム */
table.mail_form th {
    white-space: nowrap;
}


/* *************************************
// エディター
************************************* */

.contents_editor {

}
.contents_editor h2 {
    font-size: 28px;
    font-weight: bold;
    margin: 3em 0 1em;
}
.contents_editor h3 {
    font-size: 24px;
    font-weight: bold;
}
.contents_editor h4 {
    font-size: 205px;
    font-weight: bold;
}

.contents_editor ul {
    list-style: disc;
    margin-left: 1.5em;
    margin-bottom: 1rem;
}


/* *************************************
// header
************************************* */
.h001.header #inner-header {
    padding: 0 0 0 10px;
}
.h001.header .logo {
    width: 265px;
    height: 60px;
}

.h001.header .menu_box {
    overflow: visible;
}

.h001.header .menu_box nav {
    display: flex;
    gap: 20px;
}

.h001.header .menu_box nav a {
    font-size: 14px;
}

.h001.header .menu_box nav > ul {
    align-items: center;
}

.h001.header .menu_box nav > ul > li {
    flex: 1;
}

.h001.header .menu_box nav ul li a {
    padding: 0.75em 1.25em;
    white-space: nowrap;
}

.h001.header .menu_box nav ul li.menu-item-has-children {
    position: relative;
}
.h001.header .menu_box nav ul li.menu-item-has-children > a:after {
    content: "";
    display: inline-block;
    width: 0.7em;
    height: 0.5em;
    background: var(--main-color);
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    margin-left: 0.5em;
}

.h001.header nav ul.sub-menu {
	background: #fff;
	box-shadow: 0px 0px 5px rgba(0,0,0,0.3);
	overflow: hidden;
    margin-top: 0;
    position: absolute;
    visibility: hidden;
    z-index: 8999;
    width: 200px;
    flex-wrap: wrap;
}


.h001.header nav > ul > li:hover > ul.sub-menu {
    top: auto;
    visibility: visible;
}

.h001.header nav ul.sub-menu > li {
    width: 100%;
    position: relative;
}

.h001.header nav ul.sub-menu > li > a {
	color: #333;
    text-align: left;
    transition: background 0.3s;
}
.h001.header nav ul.sub-menu > li > a:hover {
	color: #333;
    background: var(--blue3-color);
}


.h001.header .menu_box nav .nav_box {
    display: flex;
}

.h001.header .menu_box nav .nav_box a.contact_box {
    margin: 0;
    display: flex;
    flex-direction: column;
    padding: 10px;
}
.h001.header .menu_box nav .nav_box a.contact_box.seminar {
    background: var(--blue1-color);
}
.h001.header .menu_box nav .nav_box a.contact_box.contact {
    background: var(--main-color);
}

.h001.header .menu_box nav .nav_box a.contact_box img {
    margin: 0 0 10px;
    height: 20px;
    width: 20px;
    object-fit: contain;
}
.h001.header .menu_box nav .nav_box a.contact_box .text {
    line-height: 1;
    font-size: 13px;
}


/* ハンバーガー */
.h001.header .menu {
    background: var(--main-color);
}

.h001.header label.buMenu .icon-bar {
    background: #fff;
}

.h001.header label.buMenu .icon-bar:nth-child(1) {
    top: 5px;
}
.h001.header .menu.open label.buMenu .icon-bar:nth-child(1) {
    top: 5px;
    transform: translateY(5px) rotate(45deg);
}

.h001.header label.buMenu .icon-bar:nth-child(2) {
    top: auto;
    bottom: 5px;
}
.h001.header .menu.open label.buMenu .icon-bar:nth-child(2) {
    transform: translateY(-5px) rotate(-45deg);
}

.h001.header .menu .menu_text {
    color: #fff;
    margin-top: 5px;
}

@media (max-width: 1399px) {
    .h001.header .menu_box nav> ul > li > a {
        padding: 0.75em 0.75em;
    }

}


@media (max-width: 1279px) {
    .h001.header #inner-header {
        padding: 0 60px 0 10px;
    }
    .h001.header .menu_box {
        position: fixed;
        width: 100%;
        height: 100vh;
        top: 0;
        left: 0;
        visibility: hidden;
        opacity: 0;
        transition: opacity 0.5s, visibility 0.5s;
        padding-bottom: 80px;
    }

    .h001.header .menu.open + .menu_box {
        visibility: visible;
        opacity: 1;
    }

    .h001.header .menu_box nav {
        display: block;
        width: 500px;
        margin: 0 auto;
        height: 100%;
        overflow-y: auto;
    }
    .h001.header .menu_box nav ul {
        border: none;
    }
    .h001.header .menu_box nav ul li {
        border: none;
    }
    .h001.header .menu_box nav > ul > li:not(:last-child) {
        border-bottom: 1px solid #333;
    }

    .h001.header .menu_box nav a {
        font-size: 16px;
    }

    .h001.header nav ul.sub-menu {
        position: static;
        box-shadow: none;
        visibility: visible;
        width: 100%;
    }

    .h001.header .menu_box nav ul li.menu-item-has-children {
        position: relative;
        background-image: radial-gradient(circle, var(--main-color) calc(30px / 2 - 1px), transparent calc(30px / 2));
        background-position: top 9px right 5px;
        background-repeat: no-repeat;
        background-size: 30px 30px;
    }
    .h001.header .menu_box nav ul li a {
        width: auto;
        display: inline-block;
        line-height: 1;
        font-size: 16px;
        padding: 16px 20px;
    }
    .h001.header .menu_box nav ul li.menu-item-has-children:before {
        content: "";
        display: block;
        background: #fff;;
        width: 15px;
        height: 1px;
        position: absolute;
        top: 23px;
        right: 12.5px;
        transform: rotate(90deg);
        transition: transform 0.2s;
    }
    .h001.header .menu_box nav ul li.menu-item-has-children.open:before {
        transform: rotate(0deg);
    }
    .h001.header .menu_box nav ul li.menu-item-has-children:after {
        content: "";
        display: block;
        background: #fff;;
        width: 15px;
        height: 1px;
        position: absolute;
        top: 23px;
        right: 12.5px;
    }

    .h001.header .menu_box nav ul li.menu-item-has-children > a:after {
        display: none;
    }

    .h001.header nav ul.sub-menu {
        display: none;
    }
    .h001.header nav ul.sub-menu > li {
        padding-left: 1em;
    }


    .h001.header .menu_box nav .nav_box {
        justify-content: center;
        gap: 20px;
    }

    .h001.header .menu_box nav .nav_box a.contact_box {
        flex-direction: row;
        gap: 15px;
        width: calc(50% - 10px);
        max-width: 300%;
        margin-top: 20px;
    }
    .h001.header .menu_box nav .nav_box a.contact_box img {
        margin: 0;
        height: 30px;
        width: 30px;
    }
    .h001.header .menu_box nav .nav_box a.contact_box .text {
        font-size: 16px;
    }
}

@media (max-width: 767px) {

    .h001.header .menu_box {
        padding-left: 15px;
        padding-right: 15px;
    }

    .h001.header .menu_box nav {
        width: 100%;
    }
    .h001.header .menu_box nav .nav_box {
        flex-wrap: wrap;
        gap: 0;
    }
    .h001.header .menu_box nav .nav_box a.contact_box {
        width: 100%;
    }
}

.img_box {
    display: grid;
    place-content: center;
}
.sns_box {
    display: flex;
    gap: 15px;
}

.sns_box img {
    width: 30px;
    height: 30px;
    object-fit: contain;
    display: block;
}


/* *************************************
// bottom お問い合わせ
************************************* */

/* お問い合わせ */
.bottom_contact {
    color: #fff;
}

.bottom_contact > .inner {
    position: relative;
    z-index: 0;
   	padding-top: 80px;
    padding-bottom: 80px;
}
.bottom_contact > .inner > img {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	object-fit: cover;
    object-position: center bottom;
}

.bottom_contact > .inner:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #333;
    opacity: 0.7;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.bottom_contact > .inner > .wrap {
    position: relative;
    z-index: 1;
}

.bottom_contact .title004 {
    margin-bottom: 50px;
    color: #fff;
}

.bottom_contact .contact_link {
    align-items: center;
}

.bottom_contact .contact_link > div {
	padding: 0 20px;
    width: 100%;
    margin-bottom: 20px;
}

/* アイコンと電話番号横並び、下に受付時間 */
.tel_box001 {
	line-height: 1;
	font-size: 40px;
	display: table;
	margin: 0 auto;
}

.tel_box001 .number {
	display: flex;
	justify-content: center;
}

.tel_box001 .number > img {
	height: 1em;
	width: auto;
	max-width: 1em;
	object-fit: contain;
	margin-right: 10px;
}

.tel_box001 .number > .text {
	font-size: 1em;
	line-height: 1em;
    font-weight: bold;
    white-space: nowrap;
}

.tel_box001 .time {
	font-size: 40%;
	line-height: 1em;
	display: block;
	margin-top: 10px;
	text-align: center;
}


.bottom_contact .tel_box001 .number > img {
    filter: var(--filter-white);
}

.bottom_contact .btn > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    padding: 10px 32px;
    margin: 0 auto;
    text-align: center;
    white-space: nowrap;
    transition: all 0.5s;
    color: #fff;
    cursor: pointer;
    position: relative;
    font-weight: 600;

    font-size: 14px;
    max-width: 300px;
    background: var(--main-color);
    color: #fff;
}
.bottom_contact .btn > a > img {
    height: 1em;
    width: auto;
    margin-right: 0.5em;
}

@media (min-width: 1030px) {

    .bottom_contact .contact_link > div {
        width: calc(100% / 2);
        margin-bottom: 0;
    }

    .bottom_contact .btn a {
        font-size: 18px;
        width: 350px;
        max-width: 100%;
        padding: 15px 32px;
    }
}

@media (max-width: 767px) {

    .bottom_contact > .inner {
        padding: 40px 0;
    }

    .bottom_contact .btn > a {
        font-size: 16px;
    }


}


/* *************************************
// footer
************************************* */
.f001 {
    background-color: var(--footer-color);
    font-size: 14px;
}

.f001 #inner-footer {
    display: flex;
    gap: 100px;
}

.f001 #inner-footer > * {
    margin: 0;
}

.f001 .company_info .logo {
    width: 250px;
}
.f001 .company_info .logo img {
    display: block;
}


.f001 nav {
    display: flex;
    gap: 100px;
}

.f001 ul.nav {
    width: auto;
}

.f001 ul.nav li,
.f001 .nav li ul.sub-menu li,
.f001 .nav li ul.children li {
    padding: 0;
    line-height: 1.5;
}

.f001 ul.nav li a {
    padding: 0;
    display: inline-block;
    margin-bottom: 10px;
}

.f001 .nav li ul.sub-menu li,
.f001 .nav li ul.children li {
    margin-left: 1em;
}

.f001 .nav li ul.sub-menu a:before,
.f001 .nav li ul.children a:before {
    content: "";
    display: inline-block;
    width: 10px;
    height: auto;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid var(--blue3-color);
    margin-right: 5px;
}

@media (max-width: 1199px) {
    .f001 nav {
        gap: 50px;
    }
}

@media (max-width: 1029px) {

    .f001 #inner-footer {
        flex-wrap: wrap;
        gap: 20px;
    }
    .f001 #inner-footer > * {
        width: 100%;
    }
    .f001 #inner-footer > .company_info {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .f001 .company_info .logo {
        margin-bottom: 15px;
    }
     .f001 #inner-footer > nav {
        justify-content: center;
        gap: 100px;
    }
    .f001 .nav li a {
        font-size: 14px;
        margin-bottom: 5px;
    }
}

@media (max-width: 767px) {

    .f001 #inner-footer > nav {
        display: none;
    }

    .f001 .copyright {
        font-size: 12px;
    }

}


/* *************************************
// mainvisual
************************************* */

.main_visual {
    position: relative;
    z-index: 0;
}

.video_wrap video {
    width: 100%;
    vertical-align: bottom;
    background: #ccc;
}

.main_visual .video_wrap {
    position: relative;
    z-index: 0;
}

/*
.main_visual .video_wrap:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #333;
    opacity: 0.3;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.main_visual .video_wrap:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-size: 8px 8px;
    background-position: 0 0, 4px 4px;
    background-image: -webkit-radial-gradient(rgba(255, 255, 255, 0.5) 10%, rgba(255, 255, 255, 0) 20%), -webkit-radial-gradient(rgba(255, 255, 255, 0.5) 10%, rgba(255, 255, 255, 0) 20%);
    opacity: 0.3;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
*/

.main_visual .main_visual_text {
    position: absolute;
    width: 40%;
    left: 5%;
    height: 100%;
    top: 0;
    color: #fff;

    display: grid;
    place-content: center;
    padding-top: 100px;
}

.main_visual .main_visual_text h1 {
    width: 100%;
}   
.main_visual .main_visual_text h1 > img {
    width: 100%;
}
.main_visual .main_visual_text h1 > span {
    display: block;
    text-align: center;
    font-weight: bold;
    letter-spacing: 3px;
    font-size: 2.8vw;
}

@media (max-width: 767px) {

    .home .video_wrap video {
        height: auto;
        aspect-ratio: 1;
        object-fit: cover;
    }

    .main_visual .main_visual_text {
        width: 70%;
        left: 15%;
    }
    .main_visual .main_visual_text h1 > span {
        font-size: max(5vw, 16px);
    }

}

/* *************************************
// top topics
************************************* */
#top_topics {
    background: var(--blue2-color);
    color: #fff;
    padding: 60px 0;
    position: relative;
    z-index: 0;
}
#top_topics:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-size: 8px 8px;
    background-position: 0 0, 4px 4px;
    background-image: -webkit-radial-gradient(rgba(255, 255, 255, 0.5) 10%, rgba(255, 255, 255, 0) 20%), -webkit-radial-gradient(rgba(255, 255, 255, 0.5) 10%, rgba(255, 255, 255, 0) 20%);
    opacity: 0.2;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

#top_topics > .inner {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 40px;
    align-items: center;
}

#top_topics > .inner > .title {
    width: 100%;
}
#top_topics > .inner > .pl001 {
    width: 100%;
    padding: 0;
}

#top_topics .btn > a {
    border: 1px solid #fff;
    font-size: 14px;
    background: transparent;
    color: #fff;
    padding: 5px 10px;
    display: table;
    margin-left: auto;
    margin-right: 0;
    white-space: nowrap;
}


#top_topics .title001 {
    line-height: 1;
    margin-bottom: 20px;
}

.post_list {
    display: grid;
    grid-template-columns: auto 1fr;
}
.post_list > .post_item {
    padding: 15px;
    display: grid;
    gap: 0 15px;
    grid-template-columns: subgrid;
    grid-column: span 2;
    border-bottom: 1px solid var(--main-color);
    margin: 0;
    background-position: center right;
    background-repeat: no-repeat;
    background-size: 15px;
    background-image: url(../images/common/btn_bk.svg);
    color: var(--text-color);
}

.post_list > .post_item .date {
    width: auto;
}
.post_list > .post_item .category {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 10px
}
.post_list > .post_item .category > span {
    background: var(--main-color);
    color: #fff;
    text-align: center;
    padding: 0 10px;
    font-size: 80%;
    display: inline-block;
    width: auto;
}

.post_list > .post_item .title {
    grid-column: 1 / 3;
}

/* TOPのみ */
#top_topics .post_list {
    grid-template-columns: auto auto 1fr;
}
#top_topics .post_list > .post_item {
    color: #fff;
    grid-column: span 3;
}
#top_topics .post_list > .post_item .date {
    color: #fff;
}
#top_topics .post_list > .post_item .category > span {
    background: #fff;
    color: var(--main-color);
    width: 100%;
}
#top_topics .post_list > .post_item .category > span:not(:first-child) {
    display: none;
}
#top_topics .post_list > .post_item {
    background-image: url(../images/common/btn_bl.svg);
    border-bottom-color: #fff;
}
#top_topics .post_list > .post_item .title {
    grid-column: auto;
}

@media (max-width: 1029px) {

    #top_topics > .inner {
        grid-template-columns: 100%;
        gap: 20px;
    }
    #top_topics > .inner > .title {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    #top_topics .title001 {
        margin: 0;
    }
}

@media (max-width: 767px) {

    #top_topics .title001 {
        padding-left: 15px;
    }

    .post_list {
        display: block;
    }

    .post_list > .post_item {
        background: none;
        grid-template-columns: 100%;
        grid-template-rows: auto auto auto;
        gap: 5px;
    }
    .post_list > .post_item .date {
        grid-column: 1 / 2;
        grid-row:1 / 2;
    }
    .post_list > .post_item .category {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }
    .post_list > .post_item .title {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
        background-image: url(../images/common/btn_bk.svg);
        background-position: center right;
        background-repeat: no-repeat;
        background-size: 15px;
    }

    /* TOPのみ */
    #top_topics .post_list > .post_item {
        grid-template-columns: 90px auto;
        grid-template-rows: auto auto;
        gap: 5px 10px;
        background: none;
    }
    #top_topics .post_list > .post_item .date {
        grid-column: 1 / 2;
        grid-row:1 / 2;
    }
    #top_topics .post_list > .post_item .category {
        grid-column: 2 / 3;
        grid-row:1 / 2;
    }
    #top_topics .post_list > .post_item .category > span {
        width: auto;
    }
    #top_topics .post_list > .post_item .title {
        grid-column: 1 / 3;
        grid-row: 2 / 3;
        background-image: url(../images/common/btn_bl.svg);
    }


}

/* *************************************
// topics 一覧ページ
************************************* */

.top_category_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px 20px;
    margin-bottom: 50px;
}
.top_category_list > a {
    border: 1px solid var(--blue1-color);
    color: var(--blue1-color);
    padding: 5px 20px;
    line-height: 1.5;
    text-align: center;
    min-width: 150px;
}
.top_category_list > a.current {
    background: var(--blue1-color);;
    color: #fff;
}

@media (max-width: 767px) {

    .top_category_list {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

}

/* *************************************
// topics singleページ
************************************* */
.post_single .date {
    margin-bottom: 10px;
    line-height: 2;
}
.post_single .category {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 20px;
}
.post_single .category > span {
    display: inline-block;
    background: var(--main-color);
    color: #fff;
    line-height: 2;
    padding: 0 20px;
}


#topics_article {
    padding-bottom: 50px;
}

#topics_detail {
    background: #d8ebf4;
    padding: 80px 0;
}

#topics_detail .inline {
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 3px;
    margin-bottom: 50px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
#topics_detail .inline:before,
#topics_detail .inline:after {
    content: "";
    display: block;
    width: 1em;
    height: 1px;
    background: #000;
    margin: 0 0.5em;
}


#topics_detail .white_box {
    background: #fff;
    display: table;
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
    max-width: 100%;
    min-width: 80%;
}

.event_table {
    margin-left: auto;
    margin-right: auto;
    border-collapse: separate;
    border-spacing: 0 20px;
    font-size: 20px;
}
.event_table tr th,
.event_table tr td {
    padding: 0px 20px;
}
.event_table tr th {
    color: var(--main-color);
    font-weight: bold;
    border-right: 1px solid #999;
}
.event_table tr td .name {
    font-size: 22px;
}
.event_table tr td .designation {
    font-size: 14px;
    line-height: 1.5;
}

@media (max-width: 767px) {

    #topics_detail .inline {
        font-size: 20px;
        line-height: 1.5;
    }

    .event_table {
        font-size: 14px;
    }
    .event_table tr th {
        border: none;
        padding: 0;
    }
    .event_table tr td {
        border: none;
        padding: 0;
    }
    .event_table tr td .name {
        font-size: 15px;
    }
}


/* *************************************
// top out thoughts 私たちの想い
************************************* */

#top_thoughts {
    background: linear-gradient(120deg,  #ffffff 0%,#ffffff 35%,var(--blue-bg-color) 35%,var(--blue-bg-color) 100%);
    padding: 80px 0;
}

#top_thoughts .layout {
    display: grid;
    grid-template-columns: 35% 1fr;
    gap: 50px;
    width: 1200px;
    max-width: 95%;
    margin: auto;
}

#top_thoughts .layout > .left,
#top_thoughts .layout > .right {
    width: 100%;
}
#top_thoughts .layout > .left {
    background-image: url(../images/top/logo_bg.png);
    background-size: 70%;
    background-position: left bottom;
    background-repeat: no-repeat;
}


.title002 {
    position: relative;
    padding-bottom: 30px;
    margin-bottom: 30px;
}
.title002:before {
    content: "";
    display: block;
    width: 160px;
    height: 2px;
    background: #ccc;
    position: absolute;
    bottom: 0;
    left: 0;
}
.title002:after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    background: var(--main-color);;
    position: absolute;
    bottom: 0;
    left: 0;
}
.title002 .en {
    font-size: var(--h2-en-font-size);
    font-weight: var(--h2-en-font-weight);
    line-height: 1.2;
}
.title002 .jp {
    font-size: var(--h2-jp-font-size);
    font-weight: var(--h2-jp-font-weight);
}
.title002 span.color {
    color: var(--main-color);
}

#top_thoughts .description > span.color {
    color: var(--main-color);
}

.thoughts_list {
    list-style: none;
    display: grid;
    grid-template-columns: auto 1fr;
}
.thoughts_list > li {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    gap: 40px;
    border-bottom: 1px solid #bdd6eb;
    padding: 20px 0;
}


.thoughts_list > li .number {
    font-size: 40px;
    font-weight: bold;
    line-height: 1;
    font-style: italic;
    color: var(--main-color);
    opacity: 0.2;
}

.thoughts_list > li .text .title {
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 2px;
    margin-bottom: 10px;
}
.thoughts_list > li .text .title > span {
    color: var(--main-color);
}
.thoughts_list > li .text p {
    padding-left: 1.5em;
    margin: 0;
}


@media (max-width: 1029px) {

    #top_thoughts .layout {
        grid-template-columns: 100%;
        gap: 0;
    }
    #top_thoughts .layout > .left {
        background: none;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}

@media (max-width: 767px) {

    #top_thoughts .layout > .left {
        flex-wrap: wrap;
    }
    #top_thoughts .layout > .left > * {
        width: 100%;
    }
    

    .thoughts_list > li {
        gap: 0;
    }
    .thoughts_list > li .number {
        font-size: 50px;
    }
    .thoughts_list > li .text {
        margin-left: -15px;
        margin-top: 25px;
    }
    .thoughts_list > li .text p {
        padding-left: 0;
        font-size: 14px;
    }
    .thoughts_list > li .text p br {
        display: none;
    }

}



/* *************************************
// top Service サービス
************************************* */

:root {
    --service-box-top-org: 35px;
    --service-box-right-org: 20px;

    --service-box-top: calc( var(--service-box-top-org) + 1px);
    --service-box-right: calc( var(--service-box-right-org) + 1px);
}

#top_service {
    padding: 80px 0;
    background: var(--main-color);
}

#top_service > .inner {
    max-width: 90%;
    width: 1300px;
    margin: auto;
}

#top_service .layout1 {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 50px;
    align-items: center;
    margin-bottom: 40px;
}

.service_layout {
    display: grid;
    grid-template-columns: 25% 1fr 25%;
    gap: 20px;
}


#top_service .title003 {
    color: #fff;
}
#top_service .description {
    color: #fff;
}


.service_contents {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.service_contents .fukidashi {
    color: #fff;
    text-align: center;
    font-weight: bold;
    position: relative;
    display: table;
    margin: 0 auto 15px;
    padding: 0 20px;
    font-size: 18px;
}
.service_contents .fukidashi:before,
.service_contents .fukidashi:after {
    content: "";
    display: block;
    width: 1px;
    height: 80%;
    background: #fff;
    position: absolute;
    bottom: 0;
}
.service_contents .fukidashi:before {
    left: 0;
    transform: rotate(-20deg);
    transform-origin: bottom left;
}
.service_contents .fukidashi:after {
    right: 0;
    transform: rotate(20deg);
    transform-origin: bottom right;
}
.service_contents .fukidashi > span {
    background: #fff;
    color: var(--main-color);
    padding: 0 5px;
    margin: 0 2px;
}

.service_contents .box {
    position: relative;
    background: #e8f2f9;
    border-top: var(--service-box-top-org) solid #d3e5ef;
    border-right: var(--service-box-right-org) solid #BEDBE5;
    padding: 25px 20px;
    display: grid;
    grid-template-columns: 100%;
    gap: 25px 20px;
}
.service_contents.growth .box {
    grid-template-columns: 1fr 1fr;
}
.service_contents.leave .box {
    padding-bottom: 80px;
}
.service_contents.growth .box > a:last-child {
    grid-column: 1 / 3;
}

.service_contents .box:before {
    content: "";
    width: calc(var(--service-box-right) + 1px);
    height: calc(var(--service-box-top) + 1px);
    display: block;
    position: absolute;
    top: calc( var(--service-box-top) * -1 );
    left: -1px;
    background: var(--main-color);
    clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.service_contents .box:after {
    content: "";
    width: calc( var(--service-box-right) + 1px );
    height: calc( var(--service-box-top) + 1px );
    position: absolute;
    bottom: -1px;
    right: calc( var(--service-box-right) * -1 );
    background: var(--main-color);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}


.service_contents .box a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
    background: #fff;
    border: 4px double var(--main-color);
    color: var(--text-color);
    border-radius: 10px;
    text-align: center;
    padding: 15px 10px;
}
.service_contents .box a > span {
    display: block;
}
.service_contents .box a > span.sub {
    font-size: 12px;
    color: var(--main-color);
    font-weight: 700;
    line-height: 1;
}
.service_contents .box a > span.sub br {
    display: none;
}

.service_contents .box a > span.main {
    font-size: min(20px, 1.4vw);
    font-weight: 700;
    background-image:url(../images/common/btn_bk.svg);
    background-size: 10px;
    background-position: right center;
    background-repeat: no-repeat;
    line-height: 1;
    padding-right: 15px;
}

.service_contents .box > img {
    position: absolute;
}
.service_contents .box > img.service1 {
    bottom: -14px;
    left: -24px;
    width: 44px;
}
.service_contents .box > img.service2 {
    width: 60px;
    top: -38px;
    left: -26px;
}
.service_contents .box > img.service3 {
    right: 0;
    top: -145px;
    width: 65px;
}
.service_contents .box > img.service4 {
    top: -43px;
    right: 4px;
    width: 30px;
}
.service_contents .box > img.service5 {
    bottom: -18px;
    left: 32%;
    width: 145px;
}

@media (max-width: 1299px) {

    .service_layout {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .service_contents .box {
        gap: 20px;
    }

    .service_contents.growth .box {
        grid-template-columns: 100%;
    }
    .service_contents.growth .box > a:last-child {
        grid-column: auto;
    }

    .service_contents .box a > span.sub br {
        display: block;
    }
}


@media (max-width: 1029px) {

    .service_layout {
        grid-template-columns: 1fr;
        max-width: 580px;
        margin: 0 auto 60px;
        gap: 60px;
    }
    .service_contents .box,
    .service_contents.growth .box {
        grid-template-columns: 1fr 1fr;
    }
    .service_contents.growth .box > a:last-child,
    .service_contents.leave .box > a:last-child {
        grid-column: 1 / 3;
    }
    .service_contents .box a > span.main {
        font-size: 20px;
    }
    .service_contents .box a > span.sub br {
        display: none;
    }

}

@media (max-width: 767px) {

    #top_service .layout1 {
        grid-template-columns: 100%;
        gap: 20px;
    }

    #top_service .title003 {
        text-align: center;
    }
    #top_service .description {
        text-align: center;
    }
    #top_service .layout2 {
        width: 95%;
    }

    .service_contents.growth .fukidashi {
        margin-left: 10%;
    }

    .service_contents .box,
    .service_contents.growth .box {
        grid-template-columns: 100%;
    }
    .service_contents.growth .box > a:last-child,
    .service_contents.leave .box > a:last-child {
        grid-column: auto;
    }
    .service_contents .box a > span.sub br {
        display: block;
    }

    .service_contents.leave .box a > span.sub br {
        display: none;
    }

}


/* *************************************
// top コラム
************************************* */

#top_column {
    padding: 80px 0 150px;
    background-image: var(--bg-grid);
    background-size: 20px 20px;
    background-repeat: repeat;
}

#top_column > .inner {
    width: 96%;
    max-width: 1200px;
}

#top_column .title004 {
    margin-bottom: 50px;
}

#column_list {
    padding-top: 80px;
    padding-bottom: 80px;
}

#column_list > .inner {
    width: 96%;
    max-width: 1200px;
}

.column_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}

.column_list > a {
    width: 100%;
    display: grid;
    gap: 10px;
    grid-template-rows: subgrid;
    grid-row: span 3;
    color: var(--text-color);
    box-shadow: 0px 0px 10px rgba(var(--main-color-rgb), 0.15);
    background: #fff;
    padding-bottom: 15px;
}

.column_list > a .image {
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}
.column_list > a .image > img {
    width: 100%;
    transition: scale 0.3s;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.column_list > a:hover .image > img {
    scale: 1.15;
}

.column_list > a .opt {
    display: flex;
    flex-wrap: wrap;
    padding: 0 10px;
}

.column_list > a .date {
    margin-right: 20px;
    font-size: 14px;
}

.column_list > a .category {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    align-items: center;
}
.column_list > a .category > span {
    background: var(--main-color);
    color: #fff;
    font-size: 12px;
    line-height: 1;
    padding: 5px 10px;
}
.column_list > a .title {
    padding: 0 30px 0 10px;
    background-image: url(../images/common/btn_bk.svg);
    background-size: 12px;
    background-position: center right 15px;
    background-repeat: no-repeat;
    line-height: 1.5;
    font-size: 20px;
    font-weight: bold;
}

@media (max-width: 767px) {

    .column_list {
        width: 90%;
        max-width: 350px;
        grid-template-columns: 100%;
        row-gap: 20px;
        margin: auto;
    }
}


/* 子ページ */
.column_single {
    padding: 80px 0;
}
.column_single .title {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: calc(var(--default-space));
}

.column_single .image {
    margin-bottom: calc(var(--default-space));
}

.column_single .post_box {
    margin-bottom: calc(var(--default-space) * 2);
}



/* *************************************
// top voice お客様の声
************************************* */
:root {
    --top_voice_bg_inclination: 50px;
}

@media (max-width: 767px) {

    :root {
        --top_voice_bg_inclination: 30px;
    }

}

#top_voice {
    padding: 80px 0;
    position: relative;
    z-index: 0;
    margin: calc(var(--top_voice_bg_inclination) * -1) 0;
}

#top_voice > .bg {
    width: 100%;
    height: 100%;
    clip-path: polygon(0 0, 100% var(--top_voice_bg_inclination), 100% 100%, 0 calc(100% - var(--top_voice_bg_inclination)));
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: #3d9ac9;
}
#top_voice > .bg > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.3;
}
#top_voice:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--blue-bg-color);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    clip-path: polygon(0 var(--top_voice_bg_inclination), 100% 0%, 100% calc(100% - var(--top_voice_bg_inclination)), 0% 100%);
}

#top_voice > .inner {
    position: relative;
    z-index: 2;
}

#top_voice .title004 {
    margin-bottom: 50px;
    color: #fff;
}

#voice_list {
    padding: 80px 0;
}

.voice_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 40px;
    row-gap: 40px;
}

.voice_list > a {
    width: 100%;
    display: grid;
    gap: 15px;
    grid-template-rows: subgrid;
    grid-row: span 3;
    color: var(--text-color);
    box-shadow: 0px 0px 10px rgba(var(--main-color-rgb), 0.15);
    background: #fff;
    padding-bottom: 15px;
}

.voice_list > a .image {
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    padding: 0;
}
.voice_list > a .image > img {
    width: 100%;
    transition: scale 0.3s;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.voice_list > a:hover .image > img {
    scale: 1.1;
}
.voice_list > a .title {
    padding: 0 20px;
    font-weight: bold;
    font-size: 18px;
}

.voice_list > a .company {
    padding: 0 20px;
    font-size: 14px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.voice_list > a .company .area {
    color: var(--main-color);
}

@media (max-width: 767px) {

    #top_voice > .bg {
        margin-top: var(--top_voice_bg_inclination);
        height: calc(100% - (var(--top_voice_bg_inclination) * 2))
    }

    .voice_list {
        width: 90%;
        max-width: 400px;
        grid-template-columns: 100%;
        row-gap: 30px;
        margin: auto;
    }
}

/* *************************************
// top faq
************************************* */


#voice_contents_top {
    padding-bottom: 50px;
}
#voice_contents_top .two_in_one {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    position: relative;
}

#voice_contents_top .two_in_one > .text {
    width: 100%;
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}
#voice_contents_top .two_in_one > .image {
    width: 100%;
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}
#voice_contents_top .two_in_one > .image > img {
    width: 100%;
    vertical-align: bottom;
}

#voice_contents_top .catch {
    font-size: 30px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 30px;
}

#voice_contents_top .name {
    text-align: right;
    font-size: 25px;
    font-weight: 600;
}
#voice_contents_top .name > span {
    font-size: 70%;
    margin-left: 0.5em;
}
#voice_contents_top .work {
    text-align: right;
}

#voice_contents_top .btn001 > a{
    margin-right: 0;
    margin-left: auto;
}
#voice_contents_top .btn001 > a:after {
    display: none;
}
#voice_contents_top .btn001 > a > img {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(202deg) brightness(101%) contrast(105%);
    margin-left: 20px;
}

@media (max-width: 767px) {

    #voice_contents_top .two_in_one {
        grid-template-columns: 100%;
    }
    #voice_contents_top .two_in_one > .text,
    #voice_contents_top .two_in_one > .image {
        grid-row: auto;
        grid-column: auto;
    }

    #voice_contents_top .catch {
        font-size: 25px;
    }
}

#voice_contents_interview {
    padding: 50px 0;
}

#voice_contents_interview .voice_interview_list {
    display: grid;
    grid-template-columns: 100%;
    gap: 40px;
}
#voice_contents_interview .voice_interview_list > .item {
    width: 100%;
}
#voice_contents_interview .voice_interview_list > .item .question {
    font-size: 20px;
    margin-bottom: 30px;
    background: var(--main-color);
    color: #fff;
    padding: 10px 20px;
    position: relative;
}
#voice_contents_interview .voice_interview_list > .item .question:after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    left: 5%;
    top: calc(100% - 1px);
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    background: var(--main-color);

}

/* *************************************
// top faq
************************************* */

:root {
    --faq-icon-width: 40px;
}

@media (max-width: 767px) {
    :root {
        --faq-icon-width: 30px;
    }

}

#top_faq {
    background: #d8ebf4;
    padding: 150px 0 80px;
}

#top_faq .layout {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 70px;
}

.faq_list {
    display: grid;
    grid-template-columns: 100%;
    gap: 40px;
}

.faq_list > .item {
    background: #fff;
    padding: 30px;
}

.faq_list > .item p:last-child {
    margin-bottom: 0;
}

.faq_list > .item .question {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    gap: 20px;
    font-weight: bold;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 20px;
    line-height: 1;
}
.faq_list > .item .question:before {
    content: 'Q';
    color: var(--main-color);
    display: grid;
    place-content: center;
    font-size: 20px;
    font-weight: bold;
    width: var(--faq-icon-width);
    min-width: var(--faq-icon-width);
    height: auto;
}
.faq_list > .item .question:after {
    content: "";
    display: block;
    width: 70%;
    height: 1px;
    background: var(--main-color);
    position: absolute;
    bottom: 0;
    left: 0;
}
.faq_list > .item .answer {
    font-size: 16px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
}
.faq_list > .item .answer:before {
    content: 'A';
    display: grid;
    place-content: center;
    font-size: 20px;
    font-weight: bold;
    width: var(--faq-icon-width);
    min-width: var(--faq-icon-width);
    aspect-ratio: 1;
    background: var(--main-color);
    color: #fff;
    line-height: 1;
}
.faq_list > .item .answer p > span {
    color: var(--main-color);
}

@media (max-width: 1029px) {


    #top_faq .layout {
        grid-template-columns: 100%;
        gap: 20px;
    }
     #top_faq .layout > .left {
        display: flex;
        justify-content: space-between;
        align-items: center;
     }

}

@media (max-width: 767px) {
    #top_faq {
        padding-top: 80px;
    }
    .faq_list > .item {
        padding: 30px 20px;
    }
    .faq_list > .item .question,
    .faq_list > .item .answer {
        gap: 10px;
    }
    .faq_list > .item .question:after {
        width: 100%;
    }
    .faq_list > .item p {
        line-height: 1.5;
        font-size: 14px;
    }

}


/* *************************************
// faqページ
************************************* */


/* *************************************
// top about us
************************************* */
#top_about {
    padding: 80px 0;
    position: relative;
    z-index: 0;
}

#top_about:before {
    content: "";
    display: block;
    width: 100%;
    height: 50%;
    background: #f8f8f8;
    opacity: 1;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
}

#top_about .title004 {
    margin-bottom: 50px;
}
#top_about .title004 .en {
    color: var(--main-color);
}

/* スライダーのprev/next */
.swiper-container.service .swiper-button-prev,
.swiper-container.service .swiper-button-next {
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  width: 40px;
  height: 60px;
}
.swiper-container.service .swiper-button-prev {
    left: 0;
}
.swiper-container.service .swiper-button-next {
    right: 0;
}

.swiper-container.service .swiper-button-prev:after,
.swiper-container.service .swiper-button-next:after {
    content: "";
    width: 15px;
    height: 15px;
    border: 4px solid #fff;
    transform: rotate(45deg);
}
.swiper-container.service .swiper-button-prev:after {
    border-right: none;
    border-top: none;
}
.swiper-container.service .swiper-button-next:after {
    border-left: none;
    border-bottom: none;
}


.swiper-container {
    height: 550px;
}

.svslider li {
    width: 250px;

    -webkit-transition: 0.8s ease;
    transition: 0.8s ease;
}
.svslider li.swiper-slide-active {
    width: 350px;
    position: relative;
}

.svslider li .svslide_bg_wrap {
    overflow: hidden;
    clip-path: polygon(20% 0%, 100% 0%, calc(100% - 20%) 100%, 0% 100%);
    width: calc(100% + 40px);
    z-index: 1;
    position: relative;
    margin-left: -40px;
}

.svslider li .svslide_bg_wrap > img {
    object-fit: cover;
    aspect-ratio: 2 / 2.5;
    display: block;
    width: 100%;
}

.svslide_info {
    width: 500px;
    position: absolute;
    bottom: 0;
    left: 55%;
    z-index: 0;
    opacity: 0;
    animation: fadeIn 0.5s linear 1s 1 forwards;
    display: block;
    background: #fff;
    padding: 20px;
    padding-left: 100px;
    clip-path: polygon(5% 0%, 100% 0%, calc(100% - 5%) 100%, 0% 100%);
}


.svslider li.swiper-slide-active .svslide_info .note {
  padding: 0px 10px;
  display: table;
  border-bottom: 1px solid #333;
  font-size: 14px;
}

.svslider li.swiper-slide-active .svslide_info .title {
    color: #333;
  font-size: 24px;
  letter-spacing: 1px;
  font-weight: 500;
  width: auto;
  padding: 6px 10px;
  align-items: baseline;
  line-height: 1.2;
}
.svslider li.swiper-slide-active .svslide_info .title > span.jp {

}
.svslider li.swiper-slide-active .svslide_info .title > span.en {
  margin-left: 0.5em;
  font-size: 16px;
  color: var(--main-color);

}

.svslider li:not(.swiper-slide-active) .svslide_info {
  display: none;
}




@media (max-width: 1029px) {

    .swiper-container {
        height: 600px;
    }

    .svslider li.swiper-slide-active .svslide_info {
        left: 0;
        position: static;
        overflow: hidden;
        margin-top: -25px;
        margin-left: 30px;
        padding: 42px 40px 20px;
        min-width: 400px;
        width: auto;
    }
}

@media (max-width: 767px) {

    .swiper-container {
        height: 550px;
    }

    .svslider li {
        width: 200px;
        margin-left: 0;
    }
    .svslider li.swiper-slide-active {
        width: 300px;
    }

    .svslider li.swiper-slide-active .svslide_info {
        margin-left: 0;
    }

    .svslider li .svslide_bg_wrap {
        width: calc(100% + 20px);
    }
    .svslider li.swiper-slide-active .svslide_info {
        width: calc(100% + 20px);
        min-width: auto;
        margin-left: -40px;
    }
    .svslider li.swiper-slide-active .svslide_info .title {
        font-size: 20px;
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        column-gap: 10px;
    }

    .svslider li.swiper-slide-active .svslide_info .title > span {
        display: block;
        line-height: 1.5;
    }
    .svslider li.swiper-slide-active .svslide_info .title > span.en {
        margin: 0;
        font-size: 14px;
    }
}



/* *************************************
// top recruit 採用情報
************************************* */

#top_recruit {
    position: relative;
    z-index: 0;
    padding: 80px 0;
    overflow: hidden;
}
#top_recruit > img.bg {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 150px);
    object-fit: cover;
}

#top_recruit:before {
    content: "";
    display: block;
    width: 25%;
    height: calc(100% - 150px);
    background: var(--main-color);
    opacity: 0.85;
    position: absolute;
    top: 0;
    left: 5%;
    z-index: 0;
    transform: skewX(-20deg);
}

#top_recruit:after {
    content: "";
    display: block;
    width: 100%;
    height: calc(100% - 150px);
    background: var(--main-color);
    opacity: 0.75;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

#top_recruit > .inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1400px;
    margin: auto;
}

#top_recruit .layout {
    display: grid;
    grid-template-columns: 50% 1fr;
    grid-template-rows: auto auto;
    gap: 15px 10%;
}
#top_recruit .layout .text {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}
#top_recruit .layout .image1 {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
}
#top_recruit .layout .image2 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}

#top_recruit .text {
    padding-left: 40px;
}

#top_recruit .title003 {
    color: #fff;
    margin-bottom: 40px;
}

#top_recruit .sub_title {
    font-weight: bold;
    margin-bottom: 40px;
    font-size: 26px;
}
#top_recruit .sub_title span.row {
    display: flex;
    flex-wrap: wrap;
}
#top_recruit .sub_title span.white {
    background: #fff;
    display: inline-block;
    margin-bottom: 10px;
    padding: 0 10px;
}

#top_recruit .sub_title span.row span.white:first-child {
    padding-right: 0;
}
#top_recruit .sub_title span.row span.white:last-child {
    padding-left: 0;
}


#top_recruit .sub_title span.color {
    color: var(--main-color);
}

#top_recruit .description {
    color: #fff;
}

#top_recruit .btn_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}
#top_recruit .btn_wrap > div.btn001 {
    width: 100%;
}
#top_recruit .btn_wrap > div > a {
    width: 100%;
    text-align: center;
    font-size: 20px;
}

#top_recruit .layout .image2  {
    padding-left: 10px;
}
#top_recruit .layout .image1 > img,
#top_recruit .layout .image2 > img {
    width: 100%;
}

@media (max-width: 1199px) {
    #top_recruit .sub_titile span.row {
        flex-direction: column;
        align-items: flex-start;
    }
    #top_recruit .sub_titile span.row span.white:first-child {
        padding-right: 10px;
    }
    #top_recruit .sub_titile span.row span.white:last-child {
        padding-left: 10px;
    }

}


@media (max-width: 1029px) {

    #top_recruit:before {
        width: 60%;
        left: 30%;
    }


    #top_recruit .layout {
        display: block;
    }
    #top_recruit .text {
        padding: 0 40px;
    }


    #top_recruit .layout .image1 {
        width: 80%;
        margin-left: auto;
    }
    #top_recruit .layout .image1 img {
        width: 100%;
        display: block;
    }
    #top_recruit .layout .image2 {
        width: 80%;
        margin-top: -50px;
        margin-right: auto;
        padding: 0;
    }
    #top_recruit .layout .image2 img {
        width: 100%;
    }
}

@media (max-width: 767px) {

    #top_recruit:before {
        height: 100%;
        width: 100%;
        left: 0%;
    }
    #top_recruit:after {
        height: 100%;
    }

    #top_recruit .text {
        padding: 0 30px;
    }

    #top_recruit .title003 {
        margin-bottom: 20px;
    }

    #top_recruit .sub_title {
        font-size: 22px;
        margin-bottom: 20px;
    }

    #top_recruit .sub_title span.row span.white:first-child,
    #top_recruit .sub_title span.row span.white:last-child {
        padding: 0 10px;
    }

    #top_recruit .description {
        margin-bottom: 20px;
    }

    #top_recruit .btn_wrap {
        grid-template-columns: 100%;
        margin: 20px 0 40px;
        gap: 20px;
    }

    #top_recruit .btn_wrap > div.btn001 {
        margin: 0;
    }
    #top_recruit .btn_wrap > div > a {
        font-size: 16px;
    }

    #top_recruit .layout .image1 {
        width: 90%;
    }
    #top_recruit .layout .image2 {
        width: 90%;
        margin-top: 15px;
    }
}




/* *************************************
// Service サービス archive
************************************* */

#archive_service {
    background: var(--main-color);
    padding: 80px 0;
}

#archive_service > .inner {
    max-width: 90%;
    width: 1300px;
    margin: auto;
}


#service_list {
    padding: 80px 0;
}

.service_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}

.service_list > a {
    width: 100%;
    display: grid;
    gap: 10px;
    grid-template-rows: subgrid;
    grid-row: span 2;
    color: var(--text-color);
    box-shadow: 0px 0px 10px rgba(var(--main-color-rgb), 0.15);
    background: #fff;
    padding-bottom: 15px;
}

.service_list > a .image {
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}
.service_list > a .image > img {
    width: 100%;
    transition: scale 0.3s;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.service_list > a:hover .image > img {
    scale: 1.15;
}
.service_list > a .title {
    padding: 0 30px 0 10px;
    background-image: url(../images/common/btn_bk.svg);
    background-size: 12px;
    background-position: center right 15px;
    background-repeat: no-repeat;
}

@media (max-width: 767px) {

    .service_list {
        width: 90%;
        max-width: 350px;
        grid-template-columns: 100%;
        row-gap: 20px;
        margin: auto;
    }
}


/* *************************************
// Service サービス 個別ページ
************************************* */

.hl002 {
    height: 500px;
    position: relative;
    z-index: 0;
    align-content: center;
    justify-content: start;
    padding: 0 5%;
    overflow: hidden;
}
.hl002 > img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
.hl002:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--main-color);
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.hl002:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-size: 8px 8px;
    background-position: 0 0, 4px 4px;
    background-image: -webkit-radial-gradient(rgba(255, 255, 255, 0.5) 10%, rgba(255, 255, 255, 0) 20%), -webkit-radial-gradient(rgba(255, 255, 255, 0.5) 10%, rgba(255, 255, 255, 0) 20%);
    opacity: 0.3;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.hl002 > .jp {
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    position: relative;
    z-index: 1;
}
.hl002 > .en {
    font-size: 10vw;
    line-height: 1;
    font-weight: bold;
    color: #fff;
    opacity: 0.3;
    position: absolute;
    bottom: 0px;
    left: 0;
}

.hl002 > .jp > .sub {
    font-size: 75%;
}
.hl002 > .jp > .sub:before {
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1px;
    background: #fff;
    margin: 0.3em 0.5em;
}
@media (max-width: 1029px) {

    .hl002 {
        height: 300px; 
    }

}
@media (max-width: 767px) {

    .hl002 {
        height: 200px; 
    }
    .hl002 > .jp {
        font-size: 30px;
    }

}


#service_intro {
    overflow: hidden;
}


.service_about {
    padding-top: 100px;
    display: grid;
    grid-template-columns: 1fr 20%;
    grid-template-rows: auto auto;
    gap: 0 80px;
    position: relative;
    z-index: 0;
    margin-bottom: 80px;
}

.service_about .people {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    font-size: 40px;
    font-weight: bold;
    align-self: start;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-bottom: 50px;

    background: var(--main-color);
    color: #fff;
    margin-left: calc((100vw - 100%) / 2* -1);
    padding-left: calc((100vw - 100%) / 2);
}

.service_about .people br {
    display: none;
}

.service_about .text {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
    font-size: 20px;
}

@media (max-width: 767px) {
    .service_about {
        grid-template-columns: 100%;
    }
    .service_about .people {
        font-size: 25px;
        grid-column: auto;
        grid-row: auto;
    }

    .service_about .text {
        font-size: 16px;
        grid-column: auto;
        grid-row: auto;
    }

}


.worries {
    margin: 50px 0 0;
    padding-top: 80px;
    padding-bottom: 0;
    background: #eceff1;
    margin-right: calc((100vw - 100%) / 2 * -1);
    margin-left: calc((100vw - 100%) / 2 * -1);
}

.worries_title {
    text-align: center;
    margin-bottom: 30px;
    font-size: 40px;
    font-weight: bold;
    color: #333;
    display: table;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
}
.worries_title:before {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background: #333;
    position: absolute;
    left: 0;
    bottom: -5px;
    transform: rotate(-20deg);
}
.worries_title:after {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background: #333;
    position: absolute;
    right: 0;
    bottom: -5px;
    transform: rotate(20deg);
}
.worries_list {
    margin: 0 auto;
    padding-bottom: 100px;
    position: relative;
    font-size: 20px;
    width: 820px;
    max-width: 80%;
}

.worries_list > .item {
    position: relative;
    line-height: 1.5;
    margin-bottom: 30px;
    padding: 15px;
    padding-left: 3em;
    line-height: 2;
    background: #fff;
    /*
    text-decoration: underline;
    text-underline-offset: 7px;
    text-decoration-thickness: 1px;
    */
}
.worries_list > .item:before {
    content: "";
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    border-radius: 50%;
    background: var(--main-color);
    position: absolute;
    top: calc(0.4em + 15px);
    left: 1em;
}
.worries_list > .item:after {
    content: "";
    display: inline-block;
    width: 0.4em;
    height: 0.6em;
    position: absolute;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: rotate(45deg);
    top: calc(0.6em + 15px);
    left: 1.4em;
}

.worries_list > img {
    position: absolute;
    height: 150px;
    width: auto;
    max-height: none;
    bottom: -1px;
}
.worries_list > img.worries1 {
    right: calc(100% + 20px);
}
.worries_list > img.worries2 {
    left: calc(100% + 20px);
}

@media (max-width: 1199px) {
    .worries_list {
        width: 100%;
        max-width: 100%;
    }
    .worries_list > .item {
        width: calc(100% - 240px);
        margin-left: auto;
        margin-right: auto;
    }
    .worries_list > img.worries1 {
        left: 15px;
        right: auto;
    }
    .worries_list > img.worries2 {
        right: 15px;
        left: auto;
    }

}

@media (max-width: 767px) {

    .worries_title {
        font-size: 20px;
    }
    .worries_list {
        font-size: 18px;
        padding-bottom: 115px;
    }
    .worries_list > .item {
        width: 90%;
    }

}


.solution {
    background: var(--main-color);
    font-weight: 500;
    text-align: center;
    padding: 80px 20px;
    font-size: 25px;
    position: relative;
}
.solution > .inner {
    display: grid;
    grid-template-columns: 1fr 150px;
    gap: 0 40px;
}

.solution:before {
    content: "";
    display: block;
    width: 80px;
    height: 30px;
    background: #eceff1;
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
    clip-path: polygon(100% 0, 0 0, 50% 100%);
}

.solution .text_top {
    font-size: 25px;
    display: table;
    background: #fff;
    color: #333;
    padding: 5px 20px;
    margin: 0 auto 20px;
    grid-column: 1 / 3;
    grid-row: 1 / 2;
}
.solution .point_list {
    width: auto;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px;
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}
.solution .point_list > .item {
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.solution .point_list > .item .point {
    display: flex;
    gap: 10px;
    align-items: baseline;
    margin-bottom: 10px;
    background: #fff;
    padding: 5px 10px;
    color: var(--blue1-color);
}
.solution .point_list > .item .point > span {
    display: block;
}
.solution .point_list > .item .point .txt {
    font-size: 18px;
    line-height: 1;
    text-align: center;
}
.solution .point_list > .item .point .num {
    font-size: 50px;
    line-height: 1;
}
.solution .point_list > .item .text {
    line-height: 1.5;
    color: #fff;
}

.solution img {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    align-self: end;
    width: 150%;
    height: auto;
}

@media (max-width: 767px) {
    .solution {
        font-size: 16px;
        padding-bottom: 20px;
    }
    .solution > .inner {
        grid-template-columns: 100%;
    }
    .solution > .inner > * {
        grid-column: auto;
        grid-row: auto;
    }
    .solution .point_list {
        margin-bottom: 20px;
    }
    .solution .point_list > .item .point .num {
        font-size: 30px;
    }
    .solution img {
        width: 150px;
        margin-left: auto;
    }

}


.merit {
    background: #d8ebf4;
    padding: 80px 0;
    margin-right: calc((100vw - 100%) / 2 * -1);
    margin-left: calc((100vw - 100%) / 2 * -1);
    padding-right: calc((100vw - 100%) / 2);
    padding-left: calc((100vw - 100%) / 2);

}
.merit .merit_title {
    display: flex;
    margin: 0 auto -5px;
    font-size: 40px;
    font-weight: bold;
    grid-template-columns: auto auto auto;
    justify-content: center;
    align-items: center;
    gap: 40px;
}
.merit .merit_title > .text {
    margin-bottom: 10px;
}

.merit .merit_title > .text > span {
    color: var(--main-color);
}

.merit .merit_title > img {
    height: 120px;
    width: auto;
}

.merit .merit_list {
    display: table;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    background: #fff;
    padding: 40px;
}
.merit .merit_list > .item {
    font-weight: bold;
    font-size: 28px;
    margin-bottom: 30px;
    display: flex;
    align-items: baseline;
    gap: 0 10px;
}
.merit .merit_list > .item:last-child {
    margin-bottom: 0;
}

.merit .merit_list > .item > img {
    height: 0.9em;
    width: 50px;
    min-width: 50px;
    object-fit: contain;
    display: block;
}

@media (max-width: 767px) {

    .merit .merit_title {
        font-size: 25px;
        gap: 10px;
        text-align: center;
    }
    .merit .merit_title > .text > span {
        display: block;
    }
    .merit .merit_list {
        padding: 40px 15px;
    }
    .merit .merit_list > .item {
        font-size: 18px;
    }
    .merit .merit_list > .item > img {
        width: 25px;
        min-width: 25px;
    }

}



#service_detail {
    padding: 100px 0;
    background: linear-gradient(to right,  #ffffff 0%,#ffffff 75%, var(--blue-bg-color) 75%,var(--blue-bg-color) 100%);

}

.service_detail_list {
    width: 96%;
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    gap: 80px;
}

.service_detail_list .item {
}

.service_detail_list .item.two_in_one {
    gap: 40px;
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1fr;
}
.service_detail_list .item.two_in_one > div {
    width: 100%;
}

.service_detail_list .item .title {
    display: flex;
    align-items: baseline;
    margin-bottom: 20px;
}

.service_detail_list .item .title .number {
    font-size: 80px;
    font-weight: bold;
    font-style: italic;
    opacity: 0.3;
    color: var(--main-color);
    line-height: 1;
}
.service_detail_list .item .title .title_text {
    font-weight: bold;
    font-size: 35px;
    margin-left: -0.2em;
}

.service_detail_list .item .image > img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.service_detail_list .item.image img {
    width: auto;
    max-width: 100%;
    display: block;
    margin: auto;
}

@media (max-width: 1029px) {
    .service_detail_list .item .title .title_text {
        font-size: 30px;
    }

}

@media (max-width: 767px) {
    .service_detail_list .item.two_in_one {
        grid-template-columns: 100%;
    }


}



#service_relation {
    padding: 80px 0;
    background-image: var(--bg-grid);
    background-size: 20px 20px;
    background-repeat: repeat;
}

#service_relation h2 {
    text-align: center;
    font-weight: bold;
    font-size: 40px;
    margin-bottom: 40px;
}

#service_relation .text {
    text-align: center;
}






/* *************************************
// seminar セミナー archive
************************************* */
#seminar_list {
    padding: 80px 0;
}

.seminar_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}

.seminar_list > a {
    width: 100%;
    display: grid;
    gap: 10px;
    grid-template-rows: subgrid;
    grid-row: span 3;
    color: var(--text-color);
    box-shadow: 0px 0px 10px rgba(var(--main-color-rgb), 0.15);
    background: #fff;
    padding-bottom: 15px;
}

.seminar_list > a .image {
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}
.seminar_list > a .image > img {
    width: 100%;
    transition: scale 0.3s;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.seminar_list > a:hover .image > img {
    scale: 1.15;
}

.seminar_list > a .opt {
    display: flex;
    flex-wrap: wrap;
    padding: 0 10px;
}

.seminar_list > a .date {
    margin-right: 20px;
    font-size: 14px;
}

.seminar_list > a .category {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    align-items: center;
}
.seminar_list > a .category > span {
    background: var(--main-color);
    color: #fff;
    font-size: 12px;
    line-height: 1;
    padding: 5px 10px;
}

.seminar_list > a .title {
    padding: 0 30px 0 10px;
    background-image: url(../images/common/btn_bk.svg);
    background-size: 12px;
    background-position: center right 15px;
    background-repeat: no-repeat;
}

@media (max-width: 767px) {

    .seminar_list {
        width: 90%;
        max-width: 350px;
        grid-template-columns: 100%;
        row-gap: 20px;
        margin: auto;
    }
}




/* *************************************
// 事業所概要
************************************* */

#recruit_top_interview .title004 .jp,
#recruit_top_business .title004 .jp {
    color: var(--main-color);
}

.p002 .two_in_one .image > img {
    border-radius: 0;
}

.p002 .title004 {
    margin-bottom: 30px;
}

#company_message .text p {
    line-height: 1.5;
}

@media (max-width: 1029px) {
    .p002 .two_in_one > div.left,
    .p002 .two_in_one > div.right {
        width: 100%;
    }
    .p002 .two_in_one > div.left > img,
    .p002 .two_in_one > div.right > img {
        width: 100%;
    }
}
.about-content__list {
    background: #f8f8f8;
    background-image: var(--bg-grid);
    background-size: 20px 20px;
    background-repeat: repeat;
    padding-bottom: 50px;
}
.item02 {
    background-color: #fff;
    padding: 20px;
}
.content-text {
    font-weight: bold;
    font-size: 1.4rem;
}
.content-list {
    color: var(--main-color);
    font-weight: bold;
    padding: 5px;
}




/* *************************************
// 採用情報
************************************* */

.recruit .main_visual {
    position: relative;
}
.recruit .main_visual .image {
    width: 100%;
    height: calc(100vh - 60px);
}
.recruit .main_visual .image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.recruit .main_visual .text {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
}
.recruit .main_visual .text h1 {
    font-size: max(40px, 3vw);
    font-weight: bold;
    color: #fff;
    text-shadow: 0px 0px 20px var(--main-color);
}

@media (max-width: 1279px) {
    .recruit .main_visual .image {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }

}
@media (max-width: 767px) {
    .recruit .main_visual .image {
        aspect-ratio: 1;
    }
    .recruit .main_visual .text h1 {
        font-size: 25px;
    }
}

#recruit_top_about {
    padding: 80px 0;
}

#recruit_top_about .title {
    font-weight: bold;
    font-size: var(--h2-jp-font-size);
    margin-bottom: 50px;
    position: relative;
    padding-bottom: 20px;
}

#recruit_top_about .title:before {
    content: "";
    display: block;
    width: 160px;
    height: 2px;
    background: #ccc;
    position: absolute;
    bottom: 0;
    left: 0;
}
#recruit_top_about .title:after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    background: var(--main-color);
    position: absolute;
    bottom: 0;
    left: 0;
}

#recruit_top_about .text {
    margin-bottom: 50px;
}
#recruit_top_about .sign {
    text-align: right;
}
#recruit_top_about .sign > span {
    display: block;
}
#recruit_top_about .sign > .name {
    font-size: 20px;
}

#recruit_top_interview {
    padding-top: 80px;
}

#recruit_top_interview .title004 {
    margin-bottom: 50px;
}

.interview_list {
    max-width: 1600px;
    margin: auto;
    width: 100%;
    margin-bottom: 50px;
}

.interview_list .item .left {
    display: flex;
    align-items: center;
    justify-content: center;
}

.interview_list .item .left > .inner {
    width: 80%;
}

.interview_list .item .right > img {
    aspect-ratio: 3 / 2;
    object-fit: contain;
    width: 100%;
}

.interview_list .item .catch {
    font-weight: bold;
    font-size: min(1.8vw, 30px);
    margin-bottom: 20px;
    border-bottom: 1px solid #000;
    padding: 10px 0;

}
.interview_list .item .join {

}
.interview_list .item .name {
    font-size: 24px;
}
.interview_list .item .btn001 > a {
    margin-left: 0;    
}

@media (max-width: 1029px) {
    .interview_list .item .two_in_one {
        flex-direction: column-reverse;
    }
    .interview_list .item .two_in_one > .left {
        width: 70%;
        background: rgba(255,255,255,0.8);
        position: relative;
        z-index: 1;
        margin-top: -150px;
    }
    .interview_list .item .two_in_one > .right {
        width: 80%;
        position: relative;
        z-index: 0;
        margin-left: auto;
    }
    .interview_list .item .catch {
        font-size: 20px;
    }

    .interview_list .item .btn001 {
        margin-bottom: 0;
    }

}
@media (max-width: 767px) {
    .interview_list .item .two_in_one > .left {
        width: 100%;
        margin-top: 0;
    }
    .interview_list .item .two_in_one > .right {
        width: 100%;
    }
    .interview_list .item .left > .inner {
        width: 90%;
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: center;
        gap: 0 10px;
    }
    .interview_list .item .catch {
        font-size: 18px;
        width: 100%;
    }
    .interview_list .item .work {
        width: 100%;
        text-align: center;
    }
    .interview_list .item .btn001 > a {
        margin: 0 auto;
    }
}


#recruit_top_business {
    padding: 100px 0;
}
#recruit_top_business > .inner {
    display: grid;
    gap: 100px;
}


#recruit_top_business .two_in_one:nth-child(even) {
    flex-direction: row-reverse;
}
#recruit_top_business .two_in_one > div.left {
    align-items: center;
    /*background-image: url(../images/recruit/bg_recruit.svg);*/
    background-size: cover;
    background-position: bottom center;
    background-repeat: no-repeat;
}



#recruit_top_requirements {
    padding-bottom: 80px;
}

#recruit_top_requirements .item a {
    display: flex;
    flex-direction: column;
    place-content: center;
    position: relative;
    z-index: 0;
    padding: 50px;
    aspect-ratio: 3 / 2;
    background: var(--main-color);
    overflow: hidden;
}

#recruit_top_requirements .item img {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.3;
    transition: all 0.5s;
}
#recruit_top_requirements .item a:hover img {
    transform: scale(1.05);
    opacity: 0.7;
}

#recruit_top_requirements .item .title004 {
    color: #fff;
    font-weight: bold;
    text-align: center;
    margin-bottom: 40px;
    letter-spacing: 3px;
}
#recruit_top_requirements .item .title004 .en {
    font-size: 25px;
}
#recruit_top_requirements .item .title004 .jp {
    font-size: 40px;
}

#recruit_top_requirements .item .btn {
    background: #fff;
    color: var(--text-color);
    border-radius: 0;
    line-height: 1;
    padding: 1em 2em;
    margin: 0 auto;
    white-space: nowrap;
    transition: all 0.5s;
    font-weight: bold;
}
#recruit_top_requirements .item .btn:after {
    content: "";
    display: inline-block;
    width: 0.8em;
    height: 0.8em;
    background-image: url(../images/common/btn_bk.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1em;
}



#faq_contents .faq_list > .item {
    border: 1px solid var(--main-color);
}

#faq_contents .faq_list > .item .question {
    font-size: 18px;
}


/* *************************************
// 新卒採用
************************************* */
.page_new_graduate section {
    padding: 80px 0;
}

#new_graduate_message .two_in_one {
    width: 100%;
    max-width: 1600px;
    margin: auto;
}

#new_graduate_message .two_in_one > .text {
    display: flex;
    place-content: center;
}
#new_graduate_message .text > .inner {
    width: 90%;
    max-width: 600px;
}

#new_graduate_message .two_in_one > .image > img {
    width: 100%;
    display: block;
}

@media (max-width: 1029px) {
    #new_graduate_message .two_in_one {
        gap: 30px 0;
    }
    #new_graduate_message .two_in_one > .text,
    #new_graduate_message .two_in_one > .image {
        width: 100%;
    }

}

@media (max-width: 767px) {

    #new_graduate_message  .two_in_one > .right > .two_in_one > div {
        width: 50%;
    }

}

#new_graduate_flow {
    background: #f8f8f8;
}
#new_graduate_flow .title007 {
    margin-bottom: 80px;
}

.recruit_flow {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 30px 30px;
    width: 96%;
    max-width: 1200px;
    margin: auto;
}


.recruit_flow > .item:not(.end) {
    background: #fff;
    aspect-ratio: 1;
    position: relative;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    place-content: center;
}

.recruit_flow > .item:nth-child(-n+4):after {
    content: "";
    display: block;
    width: 15px;
    height: 20px;
    background: var(--blue1-color);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    position: absolute;
    top: 50%;
    right: -25px;
    transform: translateY(-50%);

}


.recruit_flow > .item > .step {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    justify-content: flex-end;
}
.recruit_flow > .item > .step > .text {
    color: var(--main-color);
    margin-right: 5px;
    font-weight: 500;
}
.recruit_flow > .item > .step > .num {
    color: #fff;
    background: var(--main-color);
    aspect-ratio: 1;
    border-radius: 50%;
    display: grid;
    place-content: center;
    font-size: 25px;
    font-weight: bold;
    min-height: 45px;
    min-width: 45px;
    width: 45px;
}

.recruit_flow > .item > .image {
    width: 40%;
    margin: 20px auto 5px;
}
.recruit_flow > .item:not(.end) > .image > img {
    display: block;
    aspect-ratio: 1;
    width: 100%;
}
.recruit_flow > .item:not(.end) > .text {
    color: var(--main-color);
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    height: 3em;
    display: grid;
    place-content: center;
}

.recruit_flow > .item.end {
    grid-column: 1 / 6;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    position: relative;
    padding-top: 80px;
    border-top: 1px solid var(--blue1-color);
}
.recruit_flow > .item.end > img.arrow {

    width: 100px;
    height: 60px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.recruit_flow > .item.end .text {
    font-size: 30px;
    font-weight: bold;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--main-color);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.recruit_flow > .item.end img.man {
    width: auto;
    height: 175px;
}
.recruit_flow > .item.end img.woman {
    width: auto;
    height: 200px;
}


.recruit_flow > .note {
    grid-column: 1 / 6;
    text-align: right;
    font-size: 14px;
}

@media (max-width: 1029px) {

    .recruit_flow {
        display: flex;
        flex-wrap: wrap;
        gap: 30px 0;
    }
    .recruit_flow > .item:not(.end) {
        width: calc(33.3333% - 30px);
        margin: 0 15px;
    }

    .recruit_flow > .item.end {
        width: 100%;
    }
    .recruit_flow > .note {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .recruit_flow {
        flex-direction: column;
    }
    .recruit_flow > .item:not(.end) {
        width: 200px;
        margin: 0 auto;
    }
    .recruit_flow > .item:nth-child(-n+4):after {
        top: calc(100% + 8px);
        right: 50%;
        transform: translateX(50%);
        clip-path: polygon(0 0, 50% 100%, 100% 0);
        height: 15px;
        width: 20px;
    }
    .recruit_flow > .item.end .text {
        font-size: 20px;
        padding: 20px;
    }

    .recruit_flow > .item.end img.woman {
        height: 150px;
    }
    .recruit_flow > .item.end img.man {
        height: 135px;
    }
}


#new_graduate_message .title006 {
    margin-bottom: 80px;
}


#new_graduate_message h3 {
    font-weight: bold;
    margin-bottom: 40px;
    font-size: 25px;
    border-left: 10px solid var(--blue1-color);
    padding-left: 10px;
    line-height: 1.5;
}


ul.recruit_result_list {
    display: flex;
    flex-wrap: wrap;
} 
ul.recruit_result_list > li {
    white-space: nowrap;
    width: 50%;
    margin-bottom: 10px;
}
ul.recruit_result_list > li:before {
    content: "";
    display: inline-block;
    width: 10px;
    height: auto;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid var(--blue1-color);
    margin-right: 5px;
}

table.recruit_result_table th,
table.recruit_result_table td {
    padding: 10px 20px;
    border: 1px solid #ccc;
}

table.recruit_result_table td:first-child {
    background: var(--blue-bg-color);
}

#new_graduate_link {
    position: relative;
    z-index: 0;
    padding: 80px 0;
}

#new_graduate_link {
    position: relative;
    z-index: 0;
    background: var(--blue-bg-color);
}
#new_graduate_link:after {
    content: "";
    display: block;
    width: 100%;
    height: 50px;
    background: #fff;
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    position: absolute;
    top: 0;
    left: 0;
}

#new_graduate_link .title_fukidashi {
    margin-top: 50px;
}

#new_graduate_link a.btn {
    display: block;
    padding: 30px;
    width: 500px;
    margin: 40px auto;
    text-align: center;
    background:var(--main-color);
    color: #fff;
    font-size: 28px;
    font-weight: bold;
    background-image: url(../images/common/btn_bl.svg);
    background-repeat: no-repeat;
    background-position: center right 20px;
    background-size: 20px;
}
.entry007 {
    padding: 50px 0;
}

.entry-form__text {
    text-align: center;
}
.entry-form__text span {
    color: #9c0032;
}


#new_graduate_link form {
    background: #fff;
    padding: 20px;
}

@media (max-width: 767px) {
    .entry-form__text {
        text-align: left;
    }

}


/* *************************************
// 中途採用
************************************* */
.career_list {
    margin: 80px 0;
    display: grid;
    gap: 40px;
}

.career_list .item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto auto;
    gap: 15px 40px;

    padding: 30px 40px;
    border: 1px solid #000;
}

.career_list .item .title {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
}
.career_list .item .date {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
    text-align: right;
}
.career_list .item .info {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    align-self: center;
}
.career_list .item img {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
}
.career_list .item .btn_list {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
}


.career_list .item .title {
    font-size: 20px;
    font-weight: bold;
}

.career_list .item .info table {
    width: 100%;
}
.career_list .item .info table tr th,
.career_list .item .info table tr td {
    padding: 15px;
    border-bottom: 1px solid #ccc;
}
.career_list .item .info table tr th {
    width: 110px;
}

.career_list .item .btn_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 20px;
}
.career_list .item .btn_list > a {
    width: 200px;
    display: block;
    background: var(--main-color);
    color: #fff;
    border-radius: 100vmax;
    text-align: center;
    padding: 10px;
}
@media (max-width: 1029px) {
    .career_list .item {
        grid-template-columns: 40% 1fr;
    }
}

@media (max-width: 767px) {
    .career_list .item {
        display: flex;
        flex-direction: column;
        gap: 15px;
        padding: 20px;
    }

    .career_list .item .title {
        line-height: 1.5;
    }
    .career_list .item .date {
        font-size: 14px;
    }
    .career_list .item .info {
        width: 100%;
    }
    .career_list .item .info table {
        font-size: 14px;
    }
    .career_list .item .info table tr th {
        width: 100%;
        background: var(--blue-bg-color);
        font-weight: bold;
    }
    .career_list .item .info table tr th,
    .career_list .item .info table tr td {
        padding: 5px;
        border: none;
    }
    .career_list .item .btn_list > a {
        width: 45%;
    }
}


/* 個別ページ */
.career_single {
    padding: 80px 0;
}
.career_single #career_single_about {
    padding-bottom: 50px;
}

.career_single #career_single_about .title {
    font-size: 20px;
    line-height: 1.5;
    font-weight: bold;
}
.career_single #career_single_about  .date {
    text-align: right;
}
.career_single #career_single_about .category {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 5px 20px;
    margin-bottom: 20px;
}
.career_single #career_single_about .category > span {
    padding: 0px 10px;
    background: var(--blue1-color);
    color: #fff;
}

.career_single #career_single_about > .inner > .image {
    width: 70%;
    margin: 40px auto;
}
.career_single #career_single_about > .inner > .image > img {
    width: 100%;
}

.career_single #career_single_about .gallery_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    margin: 40px 0;
}
.career_single #career_single_about .gallery_list > div {
    width: 100%;
}
.career_single #career_single_about .gallery_list > div > img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.career_single #career_single_info {
    padding: 50px 0;
    background: #d8ebf4;
}

.career_single #career_single_info h3 {
    font-size: 30px;
    text-align: center;
    font-weight: bold;
    letter-spacing: 3px;
    margin-bottom: 40px;
}

.career_single #career_single_info .info {
    background: #fff;
    padding: 40px;
}
.career_single #career_single_info .info table th,
.career_single #career_single_info .info table td {
    padding: 15px 10px;
    border-bottom: 1px solid #ccc;
}
.career_single #career_single_info .info table th {
    white-space: nowrap;
    font-weight: bold;
    width: 120px;
}

.career_single #career_single_info .two_in_one {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 20px 40px;
    margin: 50px 0;
    padding: 40px;
    background: #fff;
}

.career_single #career_single_info .two_in_one .work_place_title {
    color: var(--blue1-color);
    font-weight: bold;
    font-size: 20px;
}
.career_single #career_single_info .two_in_one .work_place {
    font-size: 18px;
    margin-bottom: 15px;
    font-weight: 600;
}

.career_single #career_single_info table tr th,
.career_single #career_single_info table tr td {
    padding: 15px 10px;
    border-bottom: 1px solid #ccc;
}

.career_single #career_single_info table tr th {
    white-space: nowrap;
    font-weight: bold;
    width: 120px;
}
.career_single #career_single_info table tr td {
    
}

.career_single #career_single_info .two_in_one > div {
    width: 100%;

}
.career_single #career_single_info .googlemap {
    width: 100%;
}
.career_single #career_single_info .googlemap > iframe {
    display: block;
    aspect-ratio: 3 / 2;
    width: 100%;
    height: auto;
}

@media (max-width: 767px) {

    .career_single #career_single_about .date {
        margin-bottom: 10px;
    }
    .career_single #career_single_about > .inner > .image {
        width: 100%;
    }

    .career_single #career_single_info .info {
        padding: 30px 15px;
    }
    .career_single #career_single_info .info table th {
        background: var(--blue-bg-color);
    }
    .career_single #career_single_info .info table th,
    .career_single #career_single_info .info table td {
        width: 100%;
        border: none;
        font-size: 14px;
        padding: 5px 10px;
    }

    .career_single #career_single_info .two_in_one {
        grid-template-columns: 100%;
        padding: 30px 20px;
    }
    .career_single #career_single_info table tr th {
        background: var(--blue-bg-color);
    }
    .career_single #career_single_info table tr th,
    .career_single #career_single_info table tr td {
        width: 100%;
        border: none;
        font-size: 14px;
        padding: 5px 10px;
    }
}


/* *************************************
// 中途採用応募フォーム
************************************* */
.page_entry {
    padding: 80px 0;
}
.page_entry .recruit_info table {
    width: 80%;
}


.page_entry table.mail_form th {
    width: 200px;
}

table.mail_form .birth_info .row {
    display: flex;
    gap: 5px;
    align-items: baseline;
}

table.mail_form .birth_info .wpcf7-form-control-wrap {
    max-width: 120px;
}

table.mail_form .birth_info input[type="text"] {
    width: 100%;
}

@media (max-width: 767px) {

    .page_entry .recruit_info table {
        width: 100%;
    }

}


/* *************************************
// 社員インタビュー
************************************* */
/*アーカイブ*/
.interview_list2 {
    display: grid;
    gap: 40px 80px;
    grid-template-columns: 1fr 1fr;
}

.interview_list2 > .item {
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: subgrid;
    grid-row: span 3;
    color: var(--text-color);
    grid-row-gap: 10px;

}
.interview_list2 > .item .image {
    width: 100%;
    overflow: hidden;
}
.interview_list2 > .item .image > img {
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    display: block;
    max-block-size: none;
    transition: all 0.5s;
}

.interview_list2 > .item:hover .image > img {
    transform: scale(1.1);
}

.interview_list2 > .item .catch {
    font-weight: bold;
    font-size: 22px;
    line-height: 1.5;

}
.interview_list2 > .item .profile {
    text-align: right;
}
.interview_list2 > .item .profile .join {
    line-height: 1.2;
}
.interview_list2 > .item .profile .name {
    font-size: 18px;
}

@media (max-width: 1029px) {

    .interview_list2 {
        grid-template-columns: 100%;
    }


}






.interview_archive {
    padding: 80px 0;
}
.interview_archive .interview_list {
    gap: 80px;
    display: grid;
    grid-template-columns: 100%;
}
.interview_archive .interview_list > .item:nth-child(even) .two_in_one {
    flex-direction: row-reverse;
}


.interview_faq_list {
    padding: 80px 0;
}
.interview_faq_list .question {
    font-weight: bold;
    font-size: 25px;
    margin-bottom: 20px;
}
.interview_faq_list .question:before {
    content: "";
    width: 3em;
    height: 1px;
    background: var(--text-color);
    display: inline-block;
    margin: 0.4em 1em 0.4em 0;
}

.interview_faq_list .item {
    margin-bottom: 40px;
}
.interview_faq_list .item .two_in_one {
    justify-content: space-between;
}
.interview_faq_list .item:nth-child(even) .two_in_one {
    flex-direction: row-reverse;
}
.interview_faq_list .item .two_in_one > .answer {
    width: 100%;
}
.interview_faq_list .item .two_in_one > .image {
    width: calc(40% - 20px);
}
.interview_faq_list .item .two_in_one > .image + .answer {
    width: calc(60% - 20px);
}

@media (max-width: 767px) {
    .interview_faq_list .item .two_in_one,
    .interview_faq_list .item:nth-child(even) .two_in_one {
        flex-direction: column-reverse;
        gap: 20px;
    }
    .interview_faq_list .item .two_in_one > .image,
    .interview_faq_list .item .two_in_one > .answer,
    .interview_faq_list .item .two_in_one > .image + .answer {
        width: 100%;
    }


    .interview_faq_list .question {
        border-left: 10px solid var(--main-color);
        padding-left: 10px;
        font-size: 20px;
    }
    .interview_faq_list .question:before {
        display: none;
    }

}


.interview_message {
    padding: 50px 0;
    background: var(--main-color);
    color: #fff;
}

.interview_message .title005 {
    background-image: url(../images/common/title005.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
    font-size: 25px;
    padding-left: 3em;
    line-height: 3;
    margin-bottom: 30px;
    font-weight: bold;
    letter-spacing: 2px;
}

.interview_message .two_in_one {
    flex-direction: row-reverse;
    justify-content: space-between;
}

.interview_message .two_in_one > .message {
    width: 100%;
}
.interview_message .two_in_one > .image {
    width: calc(40% - 20px);
}
.interview_message .two_in_one > .image + .message {
    width: calc(60% - 20px);
}

.interview_message .two_in_one > .image > img {
    background: #ccc;
}
@media (max-width: 1029px) {

    .interview_message .title005 {
        font-size: 20px;
    }
}
@media (max-width: 767px) {

    .interview_message .two_in_one {
        flex-direction: column-reverse;
        gap: 20px 0;
    }
    .interview_message .two_in_one > .image,
    .interview_message .two_in_one > .message,
    .interview_message .two_in_one > .image + .message {
        width: 100%;
    }

    .interview_message .title005 {
        font-size: 20px;
        line-height: 1.5;
        padding-left: 5em;
    }

}

.interview_flow {
    padding: 80px 0;
}

.interview_flow .title004 {
    margin-bottom: 50px;
}


.flow_day {

}

.flow_day > .item {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 200px 1fr;
    position: relative;
    z-index: 0;
    padding: 30px 0;
}

.flow_day > .item:after {
    content: "";
    display: block;
    height: calc(100%);
    width: 5px;
    background: var(--blue1-color);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.flow_day > .item:first-child:before {
    content: "";
    display: block;
    height: 50%;
    width: 5px;
    background-color: #fff;
    background-image: repeating-linear-gradient(180deg,  var(--blue1-color),  var(--blue1-color) 10px, transparent 10px, transparent 20px);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.flow_day > .item:last-child:after {
    height: 50%;
    background-color: #fff;
    background-image: repeating-linear-gradient(180deg,  var(--blue1-color),  var(--blue1-color) 10px, transparent 10px, transparent 20px);
}


.flow_day > .item .time {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 100px;
    background: var(--blue1-color);
    color: #fff;
    aspect-ratio: 1;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: center;
    align-self: center;
    font-weight: bold;
    font-size: 25px;
}
.flow_day > .item .image {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
}
.flow_day > .item .text {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    align-self: center;
}


.flow_day > .item:nth-child(even) .image {
    grid-column: 1 / 2;
}
.flow_day > .item:nth-child(even) .text {
    grid-column: 3 / 4;
}


.flow_day > .item .image > img {
    width: 100%;
    aspect-ratio: 3 / 2;
    display: block;
    background: #ccc;
}

@media (max-width: 767px) {

    .flow_day > .item {
        grid-template-columns: 70px 1fr;
        grid-template-columns: auto auto;
        gap: 15px;
    }

    .flow_day > .item .time {
        width: 70px;
        font-size: 20px;
        grid-column: auto;
        grid-row: auto;
        align-self: start;
    }
    .flow_day > .item .image,
    .flow_day > .item:nth-child(even) .image {
        grid-column: 2 / 3;
        grid-row: 2;
    }
    .flow_day > .item .text,
    .flow_day > .item:nth-child(even) .text {
        grid-column: auto;
        grid-row: auto;
    }

    .flow_day > .item:after {
        left: 35px;
        top: 30px;
    }
    .flow_day > .item:first-child:before {
        height: 30px;
        top: 0;
        left: 35px;
    }
    .flow_day > .item:last-child:after {
        top: 30px;
    }

}



/* *************************************
// 仕事を知る
************************************* */

.page_business section {
    padding: 50px 0;
}

#business_flow .note {
    text-align: right;
}

#business_flow .title004 {
    margin-bottom: 50px;
}

#business_flow .title004 .en {
    font-size: 35px;
    letter-spacing: 0;
}
#business_flow .title004 .jp {
    margin-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#business_flow .title004 .jp:before,
#business_flow .title004 .jp:after {
    content: "";
    display: inline;
    margin: 0 10px;
    width: 1em;
    height: 1px;
    background: var(--blue1-color);

}


.business_flow {
    display: grid;
    grid-template-columns: 100%;
    gap: 30px;
    margin: 40px 0 0;
}

.business_flow > .item {
    width: 100%;
    display: grid;
    grid-template-columns: 100px 1fr 200px;
    gap: 40px;
    background: #f8f8f8;
    padding: 0 20px;
    margin-bottom: 20px;
}
.business_flow .item .step {
    width: 100%;
    font-weight: bold;
    background: var(--main-color);
    color: #fff;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 0 40px;
    clip-path: polygon(100% 0, 100% calc(100% - 30px), 50% 100%, 0 calc(100% - 30px), 0 0);
    margin-bottom: -20px;
}

.business_flow .item .step .text {
    font-size: 16px;
    line-height: 1;
}

.business_flow .item .step .num {
    font-size: 50px;
    line-height: 1;
}

.business_flow .item .contents {
    padding: 30px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.business_flow .item .contents .title {
    font-weight: bold;
    color: var(--blue1-color);
    font-size: 28px;
}

.business_flow .item .image {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.business_flow .item .image > img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
}

@media (max-width: 767px) {

    .business_flow > .item {
        grid-template-columns: 70px 1fr;
        padding: 0 10px;
        gap: 0 15px;
    }
    .business_flow .item .contents {
        padding: 20px 0;
    }
    .business_flow .item .contents .title {
        font-size: 20px;
    }
    .business_flow .item .image {
        grid-row: 2;
        grid-column: 2  / 3;
    }
    .business_flow .item .step {
        grid-column: 1 / 2;
        grid-row: 1 / 3;
    }
    #business_flow .note {
        font-size: 12px;
    }
}


.business_region {
    background: #dde9f0;
}

.title006 {
    text-align: left;
    font-weight: bold;
    margin-bottom: 40px;
    letter-spacing: 3px;
    position: relative;
    height: 60px;
    display: grid;
    align-items: end;
    justify-content: start;
}
.title006 .en {
    font-size: 50px;
    position: absolute;
    bottom: 10px;
    left: 0;
    line-height: 1;
    opacity: 0.1;
    color: var(--main-color);
}
.title006 .jp {
    line-height: 1;
    font-size: 25px;
    z-index: 1;
}

.business_region .title006 .en {
    color: #fff;
    opacity: 0.8;
}   

.region_list {
    margin: 50px 0;
    display: grid;
    grid-template-columns: 100%;
    gap: 50px;
}
.region_list .item {
    display: grid;
    grid-template-columns: 100%;
    gap: 50px;
    background: #fff;
    padding: 40px;
}
.region_list .item .name:before {
    content: "・";
    display: inline;
    width: 10px;
    height: 10px;
    color: var(--main-color);
    margin-right: 0.5em;
}
.region_list .item .name {
    font-size: 30px;
    font-weight: bold;
}

.region_list .item .image_list {
    display: flex;
    gap: 40px;
}
.region_list .item .image_list > .image {
    width: 100%;
    text-align: center;
}
.region_list .item .image_list > .image + .image {
    width: calc(50% - 20px);
    min-width: calc(50% - 20px);
}
.region_list .item .image_list > .image > img {
    display: inline-block;
    max-width: 100%;
    width: 500px;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.region_list .item .challenging .fukidashi {
    text-align: center;
    margin-bottom: -15px;
    font-size: 20px;
    font-weight: bold;
    color: #333;
    display: table;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
}
.region_list .item .challenging .fukidashi:before {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background: #333;
    position: absolute;
    left: 0;
    bottom: -5px;
    transform: rotate(-20deg);
}
.region_list .item .challenging .fukidashi:after {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background: #333;
    position: absolute;
    right: 0;
    bottom: -5px;
    transform: rotate(20deg);
}
.region_list .item .challenging .text {
    background: var(--blue-bg-color);
    padding: 40px;
    border-radius: 10px;
}

@media (max-width: 767px) {

    .region_list .item {
        padding: 30px 15px;
        gap: 20px 0;
    }
    .region_list .item .name {
        font-size: 20px;
    }

    .region_list .item .challenging .text {
        padding: 40px 15px 20px;
    }

}


/* *************************************
// 会社を知る
************************************* */
.page_company #company_message {
    padding: 80px 0;
}
.page_company #company_message > .inner {
    display: grid;
    grid-template-columns: 50% 1fr;
    grid-template-rows: auto auto auto auto;
    gap: 0 40px;
}


.page_company #company_message > .inner > .title003 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    margin-bottom: 30px;
}
.page_company #company_message > .inner > .catch {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
    position: relative;
    z-index: 1;
    margin-bottom: 50px;
    margin-top: 20px;
}
.page_company #company_message > .inner > .text {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
}
.page_company #company_message > .inner > .image {
    grid-column: 2 / 3;
    grid-row: 2 / 4;
}
.page_company #company_message > .inner > .profile {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
}
.page_company #company_message .title003 .en {
    font-size: 16px;
    letter-spacing: 0;
}

.page_company #company_message .catch > span {
    display: inline-block;
    font-size: 28px;
    font-weight: bold;
    background: var(--main-color);
    color: #fff;
    padding: 0 10px;
}

.page_company #company_message > .inner > .text p {
    line-height: 1.8;
}

.page_company #company_message > .inner > .text .sign {
    text-align: right;
}
.page_company #company_message > .inner > .text .sign > span.position {
    display: block;
    font-size: 14px;
    line-height: 1.5;
}
.page_company #company_message > .inner > .text .sign > span.name {
    display: block;
    font-size: 20px;
    line-height: 1.5;
}


.page_company #company_message > .inner > .image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
}

.page_company #company_message > .inner > .profile {
    padding: 30px 30px 60px;
    border: 1px solid #ccc;
    margin-top: 30px;
    position: relative;
    z-index: 0;
}
.page_company #company_message > .inner > .profile > .title {
    position: absolute;
    z-index: -1;
    bottom: 0;
    right: 10px;
    font-size: 50px;
    line-height: 1;
    opacity: 0.2;
    color: var(--main-color);
    margin: 0;
    font-weight: bold;
}

.profile001 {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.profile001 > li:not(:last-child):after {
    content: "/";
    margin: 0 1em;
}
.profile002 {
    list-style: disc;
    margin-left: 1.5em;
}

@media (max-width: 767px) {

    .page_company #company_message > .inner {
        display: block;
    }
    .page_company #company_message .catch > span {
        font-size: 20px;
    }
    .page_company #company_message > .inner > .profile {
        padding: 30px 15px 70px;
    }

    .page_company #company_message > .inner > .profile > .title {
        font-size: 40px;
    }
}



#company_candidate {
    padding: 80px 0;
    margin-left: calc((100vw - 100%) / 2 * -1);
    background: var(--blue-bg-color);
}

#company_candidate .ideal_candidate_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}
#company_candidate .ideal_candidate_list > div {
    background: #fff;
    padding: 20px;
}

#company_candidate .ideal_candidate_list > div img {
    margin: auto;
    display: block;
    width: auto;
    max-width: 100%;
    height: 100px;
    margin-bottom: 15px;
}
#company_candidate .ideal_candidate_list > div .catch {
    text-align: center;
    font-weight: bold;
    margin: 10px auto;
    font-size: 25px;
    background: var(--blue1-color);
    color: #fff;
    display: table;
    padding: 5px 15px;
    line-height: 1.2em;
}
#company_candidate .ideal_candidate_list > div p {
    text-align: justify;
}

@media (max-width: 767px) {

    #company_candidate .ideal_candidate_list {
        grid-template-columns: 100%;
    }

}


#company_office {
    padding: 80px 0;
}
#company_office .text {
    margin-bottom: 50px;
}

#company_office .catch {
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 30px;
    color: var(--main-color);
}

#company_office .award {
    display: flex;
    flex-wrap:wrap;
    gap: 10px 20px;
    justify-content: center;
}
#company_office .award > span {
    font-size: 18px;
    font-weight: bold;
    color: var(--main-color);

}

#company_office .three_in_one {
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: 50px;
}
#company_office .three_in_one > div {
    width: 100%;
}
#company_office .three_in_one > div:nth-child(2) {
    margin-top: 40px;
}
#company_office .three_in_one > div:nth-child(3) {
    margin-top: 15px;
}

@media (max-width: 767px) {
    #company_office .catch {
        font-size: 20px;
    }
    #company_office .three_in_one {
        grid-template-columns: 100%;
        gap: 0;
    }
    #company_office .three_in_one > div:nth-child(2),
    #company_office .three_in_one > div:nth-child(3) {
        margin: 0;
    }

}

#company_culture {
    padding: 80px;
}

#company_culture .layout {
    display: grid;
    gap: 40px;
    grid-template-columns: 50% 1fr;
    grid-template-rows: auto auto auto auto 40px;
}
#company_culture .layout .title006 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    margin-bottom: 10px;
}

#company_culture .layout .catch {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    color: var(--main-color);
}

#company_culture .layout .text {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
}
#company_culture .layout .image1 {
    grid-column: 2 / 3;
    grid-row: 2 / 5;
}
#company_culture .layout .image2 {
    grid-column: 1 / 2;
    grid-row: 4 / 6;
}

#company_culture .layout .image1 > img,
#company_culture .layout .image2 > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#company_culture .layout .catch {
    font-size: 25px;
    font-weight: bold;
}

@media (max-width: 1029px) {
    #company_culture {
        padding: 80px 20px;
    }
    #company_culture .layout .catch {
        grid-column: 1 / 3;
    }
    #company_culture .layout .image1 {
        grid-row: 3 / 5;
    }
}

@media (max-width: 767px) {
    #company_culture {
        padding: 50px 0;
    }
    #company_culture .layout {
        display: block;
    }
    #company_culture .layout .image1,
    #company_culture .layout .image2 {
        margin-left: calc((100vw - 100%) / 2 * -1);
        margin-right: calc((100vw - 100%) / 2 * -1);
    }

    #company_culture .layout .catch {
        font-size: 20px;
        margin: 40px 0;
    }
}


#company_grow {
    padding: 50px 0;
}

#company_grow .catch {
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 40px;
    color: var(--main-color);
}

#company_grow .three_in_one {
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: 50px;
}
#company_grow .three_in_one > div {
    width: 100%;
}
#company_grow .three_in_one > div:nth-child(2) {
    margin-top: 40px;
}
#company_grow .three_in_one > div:nth-child(3) {
    margin-top: 15px;
}

@media (max-width: 767px) {

    #company_grow .three_in_one {
        grid-template-columns: 100%;
        gap: 0;
    }
    #company_grow .three_in_one > div:nth-child(2),
    #company_grow .three_in_one > div:nth-child(3){
        margin: 0;
    }

    #company_grow .catch {
        font-size: 20px;
    }
}

#company_benefit {
    padding: 80px;
}

#company_benefit .layout {
    display: grid;
    gap: 40px;
    grid-template-columns: 50% 1fr;
    grid-template-rows: auto auto;
}
#company_benefit .layout .title006 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    margin-bottom: 10px;
}

#company_benefit .layout .text {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}
#company_benefit .layout .image1 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}


#company_benefit .layout .image1 > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


#company_benefit .layout .text ul.dot {
    margin-left: 2em;
}

#company_benefit .layout .text ol > li {
    margin-bottom: 10px;
}
#company_benefit .layout .text ol > li > strong {
    font-size: 20px;
    font-weight: bold;
    color: var(--main-color);
}

@media (max-width: 1029px) {

    #company_benefit {
        padding: 80px 20px;
    }
    #company_benefit .layout .text ol > li > strong {
        font-size: 18px;
    }
}

@media (max-width: 767px) {

    #company_benefit {
        padding: 50px 0px;
    }
    #company_benefit .layout {
        display: block;
    }
    #company_benefit .layout .title006 {
        margin-bottom: 30px;
    }
    #company_benefit .layout .text {
        margin-bottom: 30px;
    }
    #company_benefit .layout .image1 {
        margin-left: calc((100vw - 100%) / 2 * -1);
        margin-right: calc((100vw - 100%) / 2 * -1);
    }
}

ul.dot {
    list-style: disc;
    margin-left: 1.2em;
}
ul.dot > li:not(:last-child) {
    margin-bottom: 3px;
}



/* 数字で見る */
#company_data {
    background: #d8ebf4;
    padding: 80px 0;
}
#company_data .title004 {
    margin-bottom: 50px;
}
#company_data .title004 > .en {
    margin-bottom: 10px;
}
#company_data .title004 > .en > span {
    color: var(--blue1-color);
}


.data_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}


.data_list > .item {
    width: 100%;
    background: #fff;
    padding: 30px;
}

.data_list > .item h3 {
    font-weight: bold;
    text-align: center;
    font-size: 22px;
    margin-bottom: 30px;

}
.data_list > .item h3 > span {
    font-size: 28px;
    color: var(--main-color);
}
.data_list > .item.department {
    grid-column: 1 / 3;
}

.data_list > .item.map {
    grid-column: 1 / 3;
}

.data_list > .item.department .staff_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
}

.data_list > .item.department .staff_list > div {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    gap: 20px;
}

.data_list > .item.department .staff_list .img {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 5px;
}
.data_list > .item.department .staff_list .employee .img > img {
    filter: invert(78%) sepia(28%) saturate(578%) hue-rotate(130deg) brightness(94%) contrast(93%);
}
.data_list > .item.department .staff_list .cpa .img > img {
    filter: invert(69%) sepia(22%) saturate(5528%) hue-rotate(299deg) brightness(102%) contrast(97%);
}
.data_list > .item.department .staff_list .part .img > img {
    filter: invert(85%) sepia(34%) saturate(641%) hue-rotate(68deg) brightness(98%) contrast(85%);
}

.data_list > .item.department .staff_list .text {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 0 5px;
}
.data_list > .item.department .staff_list .text .name {
    font-size: 20px;
    font-weight: bold;
}
.data_list > .item.department .staff_list .text .num {
    font-size: 20px;
}
.data_list > .item.department .staff_list .text .num > span {
    font-size: 40px;
    font-weight: bold;
    line-height: 1;
}

.data_list .item.hours .hours_image {
    width: 300px;
    aspect-ratio: 1;
    display: grid;
    place-content: center;
    position: relative;
    margin: auto;
}
.data_list .item.hours .hours_image > img {
    width: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
}
.data_list .item.hours .hours_image > canvas {
    width: 90%;
    position: relative;
    z-index: 0;
}
.data_list .item.hours .hours_image > .text {
    position: absolute;
    z-index: 2;
    top: 23%;
    left: 50%;
    width: 100%;
    text-align: center;
    transform: translateX(-50%);
    line-height: 1.5;
}
.data_list .item.hours .hours_image > .text > span {
    font-size: 30px;
    font-weight: bold;
}


.data_list .item.paid_holiday .chart {
    width: 300px;
    aspect-ratio: 1;
    position: relative;
    margin: auto;
}
.data_list .item.paid_holiday .chart > canvas {
    width: 100%;
}
.data_list .item.paid_holiday .chart > .text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 20px;
}
.data_list .item.paid_holiday .chart > .text > span {
    font-size: 50px;
    font-weight: bold;
}

.data_list .item.gender .gender_wrap {
    display: flex;
    gap: 15px;
    align-items: center;
    justify-content: center;
}
.data_list .item.gender .text {
    display: flex;
    align-items: baseline;
    text-align: center;
    gap: 30px;
    line-height: 1.3;
}
.data_list .item.gender .text .left {
    position: relative;
}
.data_list .item.gender .text .left:after {
    content: ":";
    position: absolute;
    right: -20px;
    top: 55px;
    font-size: 40px;
    transform: translateY(-50%);
}

.data_list .item.gender .text .name {
    font-weight: bold;
    font-size: 20px;
}

.data_list .item.gender .text .main_data {
    font-weight: bold;
    display: flex;
    align-items: baseline;
    font-size: 20px;
    gap: 5px;
}

.data_list .item.gender .text .main_data > span {
    font-size: 50px;
}

.data_list .item.gender img {
    width: 40px;
}

.data_list .item.gender .text .sub_data {
    font-size: 20px;
}


.data_list .item.in_charge .text {
    font-size: 30px;
    font-weight: bold;
    text-align: center;
}

.data_list .item.in_charge .text > img {
    height: 40px;
    width: auto;
    margin-right: 10px;
}

.data_list .item.in_charge .text > span {
    font-size: 60px;
    margin: 0 5px;
}


.data_list .item.map {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
}

.data_list .item.map h3 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}

.data_list .item.map .map_image {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    width: 400px;
    max-width: 100%;
}
.data_list .item.map .map_image > img {
    width: 100%;
}

.data_list .item.map .text {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    justify-self: center;
}
.data_list .item.map .text > .item {
    display: flex;
    justify-content: space-between;
    align-items:baseline;
    font-size: 30px;
    gap: 50px;
}
.data_list .item.map .text > .item .num > span {
    font-size: 50px;
    font-weight: bold;
    margin: 0 5px;
}

.data_list > .item .main_text {
    font-size: 50px;
    font-weight: bold;
    text-align: center;
    line-height: 1em;
    display: flex;
    justify-content: center;
    align-items: baseline;
}

.data_list > .item .main_text > span {
    font-size: 25px;
    margin: 0 5px;
}

.data_list > .item .main_text img {
    width: 50px;
    height: 50px;
    display: inline-block;
    margin-right: 15px;
}

.data_list > .item.holiday img {
    height: 250px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    margin: auto;
    display: block;
}

.data_list > .item.age h3 {
    margin-bottom: 0;
}

.data_list > .item.age .age_wrap {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.data_list > .item.age .age_wrap > img {
    width: 60px;
    height: 150px;
    object-fit: contain;
}

.data_list > .item.sales .sales_wrapper {
    position: relative;   
}
.data_list > .item.sales .sales_wrapper > img {
    position: absolute;
    top: 0;
    left: 55px;
    width: calc(100% - 55px);
    height: 100%;
    object-fit: contain;

}

.data_list > .item.sales img {
    width: 100%;
}

@media (max-width: 1029px) {

    .data_list > .item {
        padding: 30px 15px;
    }


    .data_list > .item .main_text > span {
        font-size: 18px;
    }

    .data_list > .item.department .staff_list {
        gap: 25px;
    }

    .data_list > .item.department .staff_list .text .name {
        font-size: 18px;
    }

}

@media (max-width: 767px) {
    .data_list {
        display: flex;
        flex-direction: column;
    }
    .data_list > .item.department .staff_list {
        grid-template-columns: 100%;
    }

}

/* *************************************
// 会社概要
************************************* */
.page_about section {
    padding: 80px 0;
}

.title007 {
    text-align: center;
    font-weight: bold;
    margin-bottom: 40px;
    letter-spacing: 3px;
    position: relative;
    height: 60px;
    display: grid;
    align-items: end;
    justify-content: center;
}
.title007 .en {
    font-size: 50px;
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    line-height: 1;
    opacity: 0.1;
    color: var(--main-color);
}
.title007 .jp {
    line-height: 1;
    font-size: 25px;
    z-index: 1;
}

/* ごあいさつ */
.page_about #company_message .image {
    width: 100%;
    margin: 60px auto 60px;
}
.page_about #company_message .image > img {
    width: 100%;
    background: #ccc;
    aspect-ratio: 16 / 6;
    object-fit: cover;
}


.page_about #company_message .text {
    width: 80%;
    margin: auto;
}
.page_about #company_message .text p {
    line-height: 1.8;
}

.page_about #company_message .text p.sign {
    font-weight: bold;
    margin-top: 30px;
    text-align: right;
}
.page_about #company_message .text p.sign > span.position {
    display: block;
    font-size: 15px;
}
.page_about #company_message .text p.sign > span.name {
    display: block;
    font-size: 20px;
}

@media (max-width: 767px) {

    .page_about #company_message .text {
        width: 96%;
    }

}

/* 経歴 */
.page_about #company_executive {
    background: #f8f8f8;
    background-image: var(--bg-grid);
    background-size: 20px 20px;
    background-repeat: repeat;
    padding: 80px;
}
.executive_list {
    display: grid;
    gap: 100px;
}
.executive_list .item .two_in_one {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.executive_list .item .two_in_one > div.left {
    width: calc(65% - 20px);
    position: relative;
    z-index: 0;
}
.executive_list .item .two_in_one > div.right {
    width: calc(35% - 20px);
    position: relative;
    z-index: 1;
}


.executive_list .item .two_in_one > div.left:after {
    content: "";
    display: block;
    width: calc(100% + 140px);
    height: calc(100% + 60px);
    position: absolute;
    top: -30px;
    left: -20px;
    background: #fff;
    z-index: -1;
}

.executive_list .item .name {
    font-weight: bold;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px 20px;
    margin-bottom: 10px;
}
.executive_list .item .name .jp {
    font-size: 26px;
}
.executive_list .item .name .en {
    color: var(--main-color);
}

.executive_list .item .profile1 {
    margin-bottom: 15px;
    font-size: 18px;
}
.executive_list .item .profile1 > span {
    display: block;
    font-weight: bold;
    color: var(--blue1-color);
}

.executive_list .item .profile2 > ul {
    list-style: disc;
    margin-left: 1.5em;
}
.executive_list .item .profile2 > ul > li {
    line-height: 1.5;
    margin-bottom: 5px;
}
.executive_list .item .profile2 > ul > li::marker {
    color: var(--blue1-color);
}

.executive_list .item:nth-child(even) .two_in_one {
    flex-direction: row-reverse;
}


.executive_list .item:nth-child(even) .two_in_one > div.left:after {
    content: "";
    display: block;
    width: calc(100% + 140px);
    height: calc(100% + 60px);
    position: absolute;
    top: -30px;
    left: auto;
    right: -20px;
    background: #fff;
    z-index: -1;
}

.executive_list .item:nth-child(even) .title006 {
    justify-content: end;
}
.executive_list .item:nth-child(even) .title006 .en {
    left: auto;
    right: 0;
}
.executive_list .item:nth-child(even) .name {
    justify-content: flex-end;
}
.executive_list .item:nth-child(even) .profile1 {
    text-align: right;
}

@media (max-width: 767px) {

    .page_about #company_executive {
        padding: 80px 15px;
    }

    .executive_list {
        gap: 40px 0;
    }

    .executive_list >  .item {
        padding: 30px 20px;
        background: #fff;
    }

    .executive_list .item .two_in_one  {
        gap: 20px 0;
    }
    .executive_list .item .two_in_one > div.left,
    .executive_list .item .two_in_one > div.right {
        width: 100%;        
    }

    .executive_list .item:nth-child(even) .title006 {
        justify-content: flex-start;
    }
    .executive_list .item:nth-child(even) .title006 .en {
        left: 0;
        right: auto;
    }
    .executive_list .item:nth-child(even) .name {
        justify-content: flex-start;
    }
    .executive_list .item:nth-child(even) .profile1 {
        text-align: left;
    }

    .executive_list .item .two_in_one > div.left:after,
    .executive_list .item:nth-child(even) .two_in_one > div.left:after {
        display: none;
    }

}



/* 社是 */
.page_about #company_creed{
    padding: 100px 0;
}

.page_about #company_creed .title007 {
    margin-bottom: 80px;
}


.page_about #company_creed .creed .text {
    display: flex;
    justify-content: space-around;
    margin-bottom: 30px;
}

.page_about #company_creed .creed img {
    height: 200px;
    width: 200px;
    object-fit: contain;
}

.page_about #company_creed .creed .note {
    display: flex;
    justify-content: space-around;
}
.page_about #company_creed .creed .note > span {
    width: 200px;
    text-align: center;
    display: block;
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 2px;
    position: relative;
    padding-top: 50px;   
}
.page_about #company_creed .creed .note > span:before {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    position: absolute;
    left:  50%;
    top: 7px;
    transform: translateX(-50%);
    background: var(--main-color);
}

/* 理念 */
.page_about #company_philosophy {
    padding: 100px 0;
    position: relative;
    z-index: 0;
    background: var(--main-color);
    overflow: hidden;
}

.page_about #company_philosophy:before {
    content: "";
    display: block;
    width: 50%;
    height: 100%;
    background: var(--main-color);
    opacity: 0.75;
    position: absolute;
    top: 0;
    left: 25%;
    z-index: 0;
    transform: skewX(-30deg);
}

.page_about #company_philosophy > .inner {
    position: relative;
    z-index: 1;
}

.page_about #company_philosophy img.bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    opacity: 0.3;
}

.page_about #company_philosophy .title007 .jp {
    color: #fff;
}
.page_about #company_philosophy .title007 .en {
    color: #fff;
    opacity: 0.25;
}

.page_about #company_philosophy .subtitle {
    font-size: 25px;
    margin-bottom: 0px;
    text-align: center;
    color: #fff;
    line-height: 2;
    font-weight: 500;
    letter-spacing: 2px;
}

@media (max-width: 767px) {

    .page_about #company_philosophy .subtitle {
        font-size: 20px;
    }

}


/* 行動基準 */
.page_about #company_principles {
}
.page_about #company_principles .three_in_one {
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: 50px;
}
.page_about #company_principles .three_in_one > div {
    width: 100%;
}
.page_about #company_principles .three_in_one > div > img {
    aspect-ratio: 3 / 2;
    display: block;
    width: 100%;
}
.page_about #company_principles .three_in_one > div:nth-child(2) {
    margin-top: 40px;
}
.page_about #company_principles .three_in_one > div:nth-child(3) {
    margin-top: 15px;
}

.principles_list_wrap {
    display: table;
    margin-inline: auto;
}

.principles_list {
    display: grid;
    gap: 50px;
    margin-bottom: 80px;
}
.principles_list > .item {
    padding: 0;
    display: flex;
    align-items: baseline;
    gap: 50px;
    position: relative;
}
.principles_list > .item:after {
    content: "";
    display: block;
    width: 200px;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: var(--blue1-color);
}

.principles_list > .item .word {
    font-size: 40px;
    font-weight: bold;
}
.principles_list > .item .text {
    font-size: 25px;
}

@media (max-width: 767px) {

    .principles_list > .item {
        gap: 0;
        flex-direction: column;
    }
    .principles_list > .item .word {
        font-size: 30px;
    }
    .principles_list > .item .text {
        font-size: 18px;
    }

    .principles_list > .item:after {
        display: none;
    }

    .page_about #company_principles .three_in_one {
        display: flex;
        flex-wrap: wrap;
        gap: 0;
    }
    .page_about #company_principles .three_in_one > div:nth-child(2),
    .page_about #company_principles .three_in_one > div:nth-child(3) {
        margin: 0;
    }
}



/* 会社概要 */
.page_about #company_profile {
    padding: 80px 0;
    background: var(--main-color);
    position: relative;
    z-index: 0;
}
.page_about #company_profile:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-size: 8px 8px;
    background-position: 0 0, 4px 4px;
    background-image: -webkit-radial-gradient(rgba(255, 255, 255, 0.5) 10%, rgba(255, 255, 255, 0) 20%), -webkit-radial-gradient(rgba(255, 255, 255, 0.5) 10%, rgba(255, 255, 255, 0) 20%);
    opacity: 0.2;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.page_about #company_profile .box {
    background: #fff;
    padding: 80px;
}

.page_about #company_profile table th,
.page_about #company_profile table td {
    padding: 20px;
}

.page_about #company_profile table th {
    min-width: 150px;
    border-color: var(--blue1-color);
    color: var(--blue1-color);
    font-weight: 500;
}

@media (max-width: 767px) {
    .page_about #company_profile .box {
        padding: 40px 15px;
    }

    .page_about #company_profile table th,
    .page_about #company_profile table td {
        padding: 10px 5px;
        border: none;
    }
    .page_about #company_profile table th {
        border-bottom: 1px solid var(--blue1-color);
    }

}


/* アクセス */
.page_about #company_access .googlemap {
    width: 100%;
    margin-bottom: 50px;
}

.page_about #company_access .googlemap > iframe {
    display: block;
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
}

.page_about #company_access .two_in_one > div {
    padding: 0 40px;
}

.page_about #company_access .two_in_one > .right {
    border-left: 1px solid #ccc;
}

.page_about #company_access .two_in_one > div h3 {
    font-weight: bold;
    margin-bottom: 15px;
    color: var(--blue1-color);
    font-size: 20px;
}

@media (max-width: 767px) {

    .page_about #company_access .two_in_one > .right {
        border: none;
    }
    .page_about #company_access .two_in_one > div {
        padding: 0 20px;
    } 

}

/* *************************************
// サイトマップ
************************************* */


.page_sitemap {
    padding: 80px 0;
}

.page_sitemap a {
    color: var(--text-color);
}
.page_sitemap a:hover {
    color: var(--main-color);
}

.page_sitemap ul.nav > li > a:before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    rotate: 45deg;
    border-right: 2px solid var(--blue2-color);
    border-top: 2px solid var(--blue2-color);
    margin-right: 10px;
    transform-origin: top;
}

.page_sitemap ul.nav > li > ul > li > a:before {
    content: "-";
    display: inline-block;
    margin-right: 10px;
    color: #666;
}


.page_sitemap ul.nav > li > ul {
    padding-left: 2em;
}

.page_sitemap .no_sitemap {
    display: none;
}



