/*
Theme Name: MIGITECH Base Thema
Theme URI:
Description:
Author:INDIG
Author URI:
Version:2.0
*/

@charset "utf-8";


/*----------------------------------------------------------------------
base
----------------------------------------------------------------------*/

html {
    min-width: 320px;
    font-size: 100%;
    height: 100%;
}


/*webフォント読み込むまで非表示*/


 html body {
    opacity: 0;
}

html.loading-delay body,
html.wf-active body {
    transition: 0.4s;
    opacity: 1;
} 


body,
input,
textarea {
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    /*font-family: 'NotoSansJP', 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, sans-serif;*/
    font-style: normal;
    font-weight: 600;
}

body {
    color: #000000;
    background-color: #F2F2F2;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 100vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
    min-height: calc(var(--vh, 1vh) * 100);
    width: 100%;
    /*overflow-x: hidden;*/
}

footer {
    margin-top: auto;
}

/*.wf-loading body header {
    opacity: 0;
    transition: 0.5s;
}

.loading-delay body header,
.wf-active body header {
    opacity: 1;
}*/




/*safariの場合*/

::-webkit-full-page-media,
:future,
:root html {
    height: -webkit-fill-available;
}

::-webkit-full-page-media,
:future,
:root body {
    min-height: -webkit-fill-available;
}


/*safariの場合ここまで*/

img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: auto;
}

a {
    text-decoration: none;
    color: #000;
}

button,
a,
a img,
a svg,
a svg path {
    transition: 0.3s;
}

a:hover img,
a:hover {
    opacity: 0.7;
}

span.big {
    font-size: 1.5em;
}

span.red {
    color: #ff3333;
    font-weight: bold;
}

table {
    border-collapse: collapse;
}

h1 {
    font-size: 2em;
}

h2 {
    font-size: 1.5em;
}

h3 {
    font-size: 1.17em;
}

dh {
    color: #555;
    font-size: 20px;
    font-weight: bold;
}

strong {
    font-weight: bold;
}

input,
textarea,
button,
input[type="submit"] {
    -webkit-appearance: none;
    border-radius: 0;
}

input[type="checkbox"] {
    -webkit-appearance: auto;
}

/*------------------検索窓------------*/

.search_form_inner {
    width: 100%;
    position: relative;
}

input.search_input {
    width: 100%;
    border: 1px solid #7F7973;
    border-radius: 100px;
    height: 40px;
    padding: 0 35px 0 15px;
    box-sizing: border-box;
    outline: none;
    color: #7F7973;
}

input.search_button {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    margin: auto;
    width: 15px;
    height: auto;
    outline: none;
}

/*------------------パンくずリスト------------*/

.breadcrumg-area {
    width: 100%;
}

.breadcrumg-area ul {
    padding-left: 0;
    margin-bottom: 30px;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
}

.breadcrumg-area ul li {
    display: inline;
    padding-left: 17px;
    position: relative;
    margin-left: 10px;
}

.breadcrumg-area ul li::before {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    color: #333;
    width: 7px;
    height: 12px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(./img/arrow_pan.png);
}

.breadcrumg-area ul li:first-child {
    padding-left: 0;
    margin-left: 0;
}

.breadcrumg-area ul li:first-child::before {
    display: none;
}


/*----------------------------------------------------------------------
all
----------------------------------------------------------------------*/

.inner {
    width: 1120px;
    max-width: 92%;
    margin: auto;
}



.w_max {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.fff {
    color: #fff;
}

.id_link_contents {
    height: 0;
    opacity: 0;
    pointer-events: none;
    z-index: -999999;
    /* 高さは要調整 */
    padding-top: 80px;
    margin-top: -80px;
}

.fade_up {
    opacity: 0;
}

.inner_pages_mv_inner {
    opacity: 0;
}

.loading-delay .inner_pages_mv_inner,
.wf-active .inner_pages_mv_inner {
    animation: fade-up-item 0.5s ease-out forwards;
    animation-delay: 0.1s;
}

.loading-delay .fade_up,
.wf-active .fade_up {
    animation: fade-up-item 0.5s ease-out forwards;
    animation-delay: 0.1s;
}

.is_fade_up {
    opacity: 0;
}

.is_fade_up.is_fade_up_start {
    animation: fade-up-item 0.5s ease-out forwards;
    animation-delay: 0.2s;
}

@keyframes fade-up-item {
    0% {
        opacity: 0;
        transform: translate(-20px,40px);
    }
    100% {
        opacity: 1;
        transform: translate(0,0);
    }
}

.is_fade_left {
    opacity: 0;
}

.is_fade_left.is_fade_left_start {
    animation: fade-left-item 0.5s ease-out forwards;
    animation-delay: 0.1s;
}

@keyframes fade-left-item {
    0% {
        opacity: 0;
        transform: translateX(-50vw);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.is_fade_right {
    opacity: 0;
}

.is_fade_right.is_fade_right_start {
    animation: fade-right-item 0.5s ease-out forwards;
    animation-delay: 0.1s;
}

@keyframes fade-right-item {
    0% {
        opacity: 0;
        transform: translateX(50vw);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.fade_in {
    opacity: 0;
}

.loading-delay .fade_in,
.wf-active .fade_in {
    animation: fade-in-item 0.8s ease-out forwards;
}

.is_fade_in {
    opacity: 0;
}

.is_fade_in.is_fade_in_start {
    animation: fade-in-item 0.5s ease-out forwards;
    animation-delay: 0.1s;
}

@keyframes fade-in-item {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.fade_in_zoom {
    opacity: 0;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
}

.loading-delay .fade_in_zoom,
.wf-active .fade_in_zoom {
    animation: fade-in-zoom-item 0.5s ease-out forwards;
}

@keyframes fade-in-zoom-item {
    0% {
        opacity: 0;
        -webkit-transform: scale(0.9);
        transform: scale(0.9);
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}


p.no_post {
    padding: 80px 0;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
}


/*----------------------------------------------------------------------
fonts
----------------------------------------------------------------------*/

.Fu {
    font-family: "futura-pt", sans-serif;
    font-weight: 700;
    font-style: normal;
}
.FuB {
    font-family: "futura-pt-bold", sans-serif;
    font-weight: 700;
    font-style: normal;
}

/*----------------------------------------------------------------------
header
----------------------------------------------------------------------*/

#header_bottom_contents {
    width: 100%;
    /*background-color: #ffffff;*/
}

#header_bottom_contents,
header#header {
    height: 96px;
}

header#header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 999999;
}

.body_fp #header_bottom_contents {
    display: none;
}

.header_contents {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.header_contents:after {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0;
    transition: 0.3s;
}

.header_bg_on .header_contents:after {
    opacity: 0.9;
}

/*.body_no_fp .header_contents:after {
    opacity: 0.9;
}*/

.inner.header_inner {
    width: 1320px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}

.header_box.pc-only ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.header_box.pc-only ul li {
    margin-left: 24px;
    font-size: 16px;
}

.header_box.pc-only ul li.Fu a {
    font-size: calc(1em * 1.131);
}

.header_box.pc-only ul li a {
    position: relative;
    padding: 3px 0;
}

.header_box.pc-only ul li.menu_entry a {
    padding: 9px 24px;
    border: 3px solid #DD5418;
    box-sizing: border-box;
    background-color: #ffffff;
    color: #DD5418;
    font-weight: bold;
}

.header_box.pc-only ul li.menu_entry a:hover {
    border-color: #DD5418;
    background-color: #DD5418;
    color: #ffffff;
    opacity: 1;
}

.header_box.pc-only ul li.menu_entry a:after {
    display: none;
}

.header_box.pc-only ul li a:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 0%;
    height: 2px;
    background-color: #000;
    margin: auto;
    transition: 0.3s;
}

.header_box.pc-only ul li a:hover {
    opacity: 1;
}

.header_box.pc-only ul li a:hover:after {
    width: 100%;
}

.modal_entry {
    margin-right: 22px;
}

.modal_entry a {
    font-weight: 900;
    font-size: 14px;
    line-height: 1;
    color: #DD5418;
    padding: 4px 10px;
    background-color: #FCFCFE;
    border: 3px solid #DD5418;
    border-radius: 2px;
    box-sizing: border-box;
}

.modal_entry a:hover {
    color: #FCFCFE;
    background-color: #DD5418;
    border-color: #DD5418;
}

.modal_btn_wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}


/*----- modal menu -----*/

.modal_btn_wrapper {
    position: relative;
    z-index: 999999;
    pointer-events: all;
    transition: 0.3s;
}

button.menu-trigger,
button.menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}

button.menu-trigger {
    position: relative;
    width: 40px;
    height: 10px;
    background: none;
    border: none;
    appearance: none;
    cursor: pointer;
    margin-bottom: 7px;
}

p.site_menu.menu-trigger {
    font-weight: 600;
    font-size: 12px;
    line-height: 1;
    position: relative;
    text-align: center;
}

/*font-size: calc(1em * 1.131);*/

p.site_menu.menu-trigger span {
    transition: 0.2s;
}

span.site_menu_off {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 0;
    font-size: calc(8px * 1.131);
    letter-spacing: 0.1em;
    opacity: 0;
}

.active span.site_menu_on {
    opacity: 0;
}

.active span.site_menu_off {
    opacity: 1;
}

button.menu-trigger.active {
    width: 16px;
    height: 16px;
    margin-bottom: 3px;
    padding: 0;
}

button.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
    border-radius: 3px;
}

button.menu-trigger span:nth-of-type(1) {
    top: 0;
}

button.menu-trigger span:nth-of-type(2) {
    display: none;
}

button.menu-trigger span:nth-of-type(3) {
    bottom: 0;
    width: 100%;
    left: inherit;
    right: 0;
}

button.menu-trigger.active span:nth-of-type(1) {
    transform: translate(-3px, 7px) rotate(-45deg);
    width: 22px;
}

button.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}

button.menu-trigger.active span:nth-of-type(3) {
    transform: translate(3px,-7px) rotate(45deg);
    width: 22px;
}

/*
button.menu-trigger span {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 19px;
    height: 3px;
    background: linear-gradient(113.8deg, #2063E4 0%, #42A9DA 40.22%, #3BE3C5 78.8%);
    border-radius: 3px;
    transform-origin: center;
}

button.menu-trigger span:nth-of-type(1) {
    top: 0;
}

button.menu-trigger span:nth-of-type(2) {
    top: 0;
    bottom: 0;
}

button.menu-trigger span:nth-of-type(3) {
    bottom: 0;
}

button.menu-trigger.active span:nth-of-type(1) {
    transform: translateY(13px) rotate(-45deg);
}

button.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
    width: 0;
}

button.menu-trigger.active span:nth-of-type(3) {
    transform: translateY(-13px) rotate(45deg);
}
*/

.modal.js-modal {
    height: calc(var(--vh, 1vh) * 100);
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    left: 0;
    top: 0;
    width: 100%;
    pointer-events: none;
    opacity: 0;
    transition: 0.3s;
}

.header_contents.active_m .modal.js-modal {
    opacity: 1;
    pointer-events: all;
}

.modal.js-modal.top {
    opacity: 1;
    transform: translate(0,-150vh);
}

.modal.js-modal.left {
    opacity: 1;
    transform: translate(-150vw,0);
}

.modal.js-modal.right {
    opacity: 1;
    transform: translate(150vw,0);
}

.header_contents.active_m .modal.js-modal.right,
.header_contents.active_m .modal.js-modal.left,
.header_contents.active_m .modal.js-modal.top {
    transform: translate(0, 0);
    pointer-events: all;
}

.modal__bg.js-modal-close {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    background-color: #ffffff;
    opacity: 0.9;
}

.modal_inner {
    height: 100%;
    position: relative;
    z-index: 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    overflow-y: scroll;
    overflow-x: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
    overscroll-behavior-y: contain;
}

.modal_content_wrapper {
    height: 100%;
    min-height: calc(var(--vh, 1vh) * 100 + 1px);
    width: 343px;
    max-width: 92%;
    padding-bottom: 20px;
    padding-top: 76px;
    box-sizing: border-box;
}

.modal__content {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
}

.modal__content ul {
    /*height: 100%;*/
    /*min-height: 408px;*/
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.modal__content ul > :last-child {
    margin-bottom: 0;
}

.modal__content ul li {
    margin-bottom: 40px;
}

.modal__content ul li a {
    font-size: 20px;
}

.modal__content ul li.menu_entry a {
    background-color: #DD5418;
    color: #ffffff;
    width: 240px;
    max-width: 100%;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.1em;
}

.modal__content ul li a {
    font-weight: 700;
    font-size: calc(32px * 1.131);
    line-height: 1;
    text-align: center;
    color: #DD5418;
}

.modal_logo {
    margin-top: 80px;
}







@media screen and (max-width: 1050px) {

    #header_bottom_contents,
    header#header {
        height: 64px;
    }

    .header_logo img {
        width: 130px !important;
    }

    .header_box.pc-only ul li {
        font-size: 14px;
        margin-left: 20px;
    }

}

@media screen and (max-width: 768px) {

    #header_bottom_contents {
        background-color: #ffffff;
    }

    .body_no_fp .header_contents:after {
        opacity: 0.9;
    }

    .body_fp #header_bottom_contents {
        display: block;
    }

    .body_fp .header_contents:after {
        opacity: 1;
    }

    .header_box.sp-only {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }


/*    
    button.menu-trigger {
        width: 21px;
        height: 21px;
    }
    button.menu-trigger.active span:nth-of-type(1) {
        transform: translateY(9px) rotate( -45deg);
        width: 21px;
    }
    button.menu-trigger.active span:nth-of-type(3) {
        transform: translateY(-9px) rotate( 45deg);
        width: 21px;
    }
*/

}


/*アコーディオンメニュー*/

/*調整してください*/

.icon_modal_arrow {
    width: 11px;
    height: auto;
    margin: 0;
    margin-left: auto;
}

.icon_modal_arrow.active {
    transform: rotate(180deg);
}

ul.modal_drop_menu {
    padding-top: 24px;
}

.modal__content ul ul.modal_drop_menu li {
    padding: 0;
    border: 0;
    margin-bottom: 16px;
}

.modal__content ul ul.modal_drop_menu li:last-child {
    margin-bottom: 0;
}

.modal__content ul ul.modal_drop_menu li a {
    position: relative;
}

.modal__content ul ul.modal_drop_menu li a:before {
    content: "";
    position: relative;
    width: 5px;
    height: 2px;
    background-color: #fff;
    margin: 0 5px;
}



/*----- end modal menu -----*/

/*----------------------------------------------------------------------
main
----------------------------------------------------------------------*/

main {
    width: 100%;
    overflow-x: hidden;
}

.Skew {
    transform: skewX(-23deg);
    overflow: hidden;
}

.Skew_inner {
    transform: skewX(23deg);
    width: 133%;
    transform-origin: bottom;
}

.Skew_inner picture {
    width: 100%;
}

.Skew_inner img {
    width: 100%;
}

.bg_or {
    background-color: #DD5418;
}

/*---------------------------------------
mv
---------------------------------------*/

section.mv {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    margin: auto;
    margin-bottom: 200px;
    max-width: 1440px;
}

.mv_img_wrapper {
    height: 760px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mv_img {
    transform-origin: bottom right;
    width: 1000px;
    height: 100%;
    position: relative;
    z-index: 1;
}

.mv_img .Skew_inner {
    transform: skewX(23deg);
    width: 123%;
    height: 100%;
    transform-origin: bottom;
}

.mv_img .Skew_inner picture {
    width: 100%;
    height: 100%;
}

.mv_img .Skew_inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.mv_img_bg.Skew {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 1000px;
    height: 100%;
    transform-origin: bottom;
    transform: skewX(-23deg) translate(65px,40px);
}

.mv_text_wrapper {
    position: absolute;
    left: 0;
    bottom: 145px;
    z-index: 1;
}

.mv_text {
    position: relative;
    z-index: 1;
}

.mv_text p {
    padding: 26px 37px 22px;
    text-align: center;
    font-size: 60px;
    line-height: 1.2;
}

.p_or {
    color: #DD5418;
}

.mv_text p span.p_big {
    font-size: 76px;
    letter-spacing: 0.1em;
}

.mv_text_bg {
    background-color: #ffffff;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.8;
}

/*---------------------------------------
mv bottom
---------------------------------------*/

section.mv_bottom {
    margin-bottom: 160px;
}

.mv_b_contents {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.mv_b_contents p {
    font-size: 28px;
    line-height: 1.2;
}

.mv_b_contents ul {
    margin: 16px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mv_b_contents ul li {
    margin: 0 35px;
}

.mv_b_contents ul li .Skew_inner {
    font-size: 24px;
    line-height: 32px;
    color: #FFFFFF;
    width: 134px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform-origin: center;
}


/*---------------------------------------
s1 service
---------------------------------------*/

    /*font-size: calc(1em * 1.131);*/

section.s1 {
    margin-bottom: 200px;
}

.s1_bg_wrapper {
    position: relative;
}

.s1_bg.Skew {
    position: absolute;
    left: 0;
    top: 0;
    width: 1070px;
    height: 800px;
    transform-origin: bottom;
}

.s1_bg.Skew .Skew_inner {
    transform-origin: bottom;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 120%;
}

.s1_bg.Skew .Skew_inner picture {
    height: 100%;
}

.s1_bg.Skew .Skew_inner  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.s1_contents {
    position: relative;
    min-height: 800px;
    padding-top: 72px;
    box-sizing: border-box;
}

.s_title {
    margin-bottom: 40px;
}

.s_title h2 {
    font-size: calc(64px * 1.131);
    color: #DD5418;
    line-height: 1;
}

.s_title p {
    font-size: 24px;
    line-height: 1;
    color: #B6B6B6;
    margin-top: -2px;
}

.s1_text {
    margin-bottom: 62px;
}

.s1_text h3 {
    margin-bottom: 16px;
    font-size: 32px;
    line-height: 1.2;
}

.s1_text p {
    font-size: 16px;
    line-height: 1.1;
}

.s1_content {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    width: 140%;
    max-width: 1500px;
    margin: auto;
    margin-bottom: 80px;
}

.s1_c_box {
    background-color: #FFFFFF;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
    border-radius: 2px;
    width: 480px;
    min-height: 240px;
    padding: 30px 33px 30px 40px;
    box-sizing: border-box;
	display: flex;
    flex-direction: column;
}

.s1_c_box h4 {
    font-size: 32px;
    line-height: 1;
    color: #DD5418;
    margin-bottom: 20px;
}

.s1_c_box_info {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
	flex-grow: 1;
}

.s1_c_b_img {
    flex-shrink: 0;
    width: 148px;
    margin-left: 16px;
}

.s1_c_box_info p {
    font-weight: 300;
    font-size: 14px;
    line-height: 21px;
}

.s1_contents .more_btn {
    display: flex;
    align-items: center;
    justify-content: center;
	margin-top: auto;
	padding-top: 20px;
}

.more_btn a {
    width: 320px;
    height: 57px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    border: 2px solid #DD5418;
    border-radius: 2px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 19px;
    color: #DD5418;
}

.more_btn a svg {
    margin-left: 24px;
}

.more_btn a svg path {
    transition: 0.3s;
}

.more_btn a:hover {
    opacity: 1;
    background-color: #DD5418;
    border-color: #DD5418;
    color: #ffffff;
}

.more_btn a:hover svg path {
    fill: #ffffff;
}

.more_btn a:hover svg {
    transform: translate(5px,0);
}


/*---------------------------------------
s2 company
---------------------------------------*/

section.s2 {
    padding: 80px 0;
    position: relative;
    margin-bottom: 200px;
}

.s2_contents {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.s2c_img_wrapper {
    height: 100%;
}

.s2c_img.Skew {
    transform-origin: top;
    height: 100%;
}

.s2_content.s2c_img {
    width: 100%;
    height: 453px;
}

.s2c_img_inner.Skew_inner {
    height: 100%;
}

.s2c_img_inner.Skew_inner img {
    height: 100%;
    object-fit: cover;
}

.s2content.s2c_info {
    position: relative;
    flex-shrink: 0;
    width: 462px;
    max-width: 49%;
    margin-left: 30px;
}

.s2c_text {
    margin-bottom: 48px;
}

.s2c_text h3 {
    font-size: 32px;
    line-height: 1.2;
    margin-bottom: 16px;
}

.s2c_text p {
    font-size: 16px;
    line-height: 1.2;
    margin-bottom: 1.2em;
}

.s2_bg.Skew {
    position: absolute;
    top: 0;
    left: 0;
    width: 150vw;
    height: 100%;
    background-color: #ffffff;
    transform-origin: bottom;
}


/*---------------------------------------
s3
---------------------------------------*/

section.s3 {
    height: 800px;
    margin-bottom: 200px;
    position: relative;
}

.s3_bg_wrapper {
    height: 100%;
    position: absolute;
    top: 0;
    left: -50vw;
    right: -50vw;
    width: 115%;
    max-width: 1550px;
    margin: auto;
}

.inner.s3_inner {
    height: 100%;
}

.s3_bg.Skew {
    height: 100%;
}

.s3_bg_img_wrapper {
    width: 50%;
    min-width: 768px;
    height: 100%;
    margin-left: auto;
    overflow: hidden;
    /* transform-origin: top; */
}

.s3_bg_img.Skew_inner {
    height: 106%;
    width: 118%;
}

.s3_bg_img.Skew_inner img {
    height: 100%;
    object-fit: cover;
}

.s3_contents {
    position: relative;
    padding-top: 80px;
}

.s3_content {
    width: 400px;
}

.s3_content .s_title h2 {
    color: #ffffff;
}

.s3_content .s_title p {
    color: #000000;
}

.s3c_text {
    margin-bottom: 80px;
}

.s3c_text p {
    color: #ffffff;
    font-size: 16px;
    line-height: 1.2;
}

.s3_content .more_btn a {
    border-color: #000000;
    color: #000000;
}

.s3_content .more_btn a:hover {
    background-color: #000000;
    border-color: #000000;
    color: #ffffff;
}


/*----------------------------------------------------------------------
footer
----------------------------------------------------------------------*/

footer#footer {
    background-color: #7B7B7B;
    padding: 65px 0;
}

.f_contents {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.f_logo {
    width: 311px;
    margin-bottom: 24px;
}

.f_logo img {
    width: 100%;
    height: auto;
}

.f_add p {
    color: #ffffff;
    font-size: 16px;
    line-height: 19px;
}

.f_right {
    padding-top: 23px;
}

.f_right ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.f_right ul li {
    margin-left: 32px;
    font-size: 16px;
    line-height: 19px;
    color: #FFFFFF;
}

.f_right ul li a {
    color: #FFFFFF;
    font-size: calc(1em * 1.131);
}


/*----------------------------------------------------------------------

media query

----------------------------------------------------------------------*/

.pc-only {
    display: block;
}

.sp-only {
    display: none;
}


@media screen and (min-width: 1441px) {

    .mv_img .Skew_inner {
        width: 133%;
        transform-origin: bottom;
    }

    .s1_bg.Skew .Skew_inner {
        width: 133%;
    }

    .s3_bg_img.Skew_inner {
        width: 144%;
        height: 100%;
    }

}

@media screen and (max-width: 1200px) {

    .s2_contents {
        position: relative;
    }

    .s2_content.s2c_img {
        width: 628px;
        position: absolute;
        margin-top: 60px;
        right: 36vw;
    }

    .s2content.s2c_info {
        margin-left: auto;
        max-width: 80%;
    }

    .s2content.s2c_info .s_title {
        text-align: right;
    }

    .s3_bg_wrapper {
        width: 100%;
    }

    .s3_bg.Skew {
        transform: none;
    }

    .s3_bg_img_wrapper {
        width: 100%;
        min-width: 100%;
        position: relative;
    }

    .s3_bg_img.Skew_inner {
        height: 100%;
        width: 100%;
        transform: none;
        position: relative;
        left: 20vw;
    }

    .s3_bg.Skew {
        transform: none;
        background-color: transparent;
    }

    .s3_bg_img_wrapper:before {
        content: "";
        transform: skewX(-23deg);
        background-color: #DD5418;
        width: 100%;
        height: 100%;
        position: absolute;
        left: -50vw;
        z-index: 1;
    }

    .s3_contents {
        z-index: 1;
    }

}

@media screen and (max-width: 1050px) {

    header#header {
        height: 64px;
    }

    .header_logo img {
        width: 130px !important;
    }

    .header_box.pc-only ul li {
        font-size: 14px;
        margin-left: 20px;
    }

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

    .s1_c_box {
        width: 320px;
        min-height: 240px;
        padding: 16px 40px 16px;
		display: flex;
		flex-direction: column;
    }

    .s1_c_box h4 {
        margin-bottom: 8px;
        font-size: 24px;
        text-align: center;
    }

    .s1_c_box_info {
        flex-direction: column-reverse;
        align-items: center;
        justify-content: flex-start;
		flex-grow: 1;
    }

    .s1_c_b_img {
        width: 98px;
        margin: auto;
        margin-bottom: 8px;
    }

    .s1_c_box_info p {
        font-size: 12px;
        line-height: 18px;
    }
}


@media screen and (max-width: 1000px) {


    footer#footer {
        padding: 40px 0;
    }

    .f_logo {
        width: 130px;
        margin-bottom: 8px;
    }

    .f_add p {
        font-size: 14px;
        line-height: 1.1;
        font-weight: 300;
    }

    .f_right ul li {
        margin-left: 16px;
    }

    .f_right {
        padding-top: 1px;
    }

}

@media screen and (max-width: 900px) {

    section.mv {
        margin-bottom: 160px;
    }

    .mv_img_wrapper {
        height: 583px;
    }

    .mv_img {
        transform: none;
        width: 100%;
    }

    .mv_img .Skew_inner {
        transform: none;
        width: 100%;
    }

    .mv_img_bg.Skew {
        display: none;
    }

    .mv_text {
        z-index: 2;
    }

    .mv_text_bg {
        opacity: 1;
        overflow: initial;
        z-index: 1;
        transform-origin: top;
    }

    .mv_text_wrapper:after {
        content: "";
        background-color: #DD5418;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        transform: skewX(-23deg) translate(10px,7px);
        transform-origin: top;
    }

    .mv_text p {
        font-size: 26px;
        line-height: 1.2;
        text-align: left;
        padding: 27px 60px 27px 16px;
    }

    .mv_text p span.p_big {
        font-size: 34px;
        line-height: 1.2;
        letter-spacing: 0.03em;
    }

    section.s3 {
        height: 537px;
    }

    .s3_content {
        max-width: 100%;
    }

    .s3_bg_img_wrapper:before {
        left: initial;
        right: 100vw;
        transform-origin: bottom;
        transform: skewX(-16.5deg);
    }

    .s3_bg_img.Skew_inner {
        left: 0;
    }

}

@media screen and (max-width: 768px) {
    .pc-only {
        display: none;
    }
    .br-pc {
        display: none;
    }
    .br-sp {
        display: block;
    }
    .sp-only {
        display: block;
    }
    .mmb-10 {
        margin-bottom: 10px;
    }
    .mmb-20 {
        margin-bottom: 20px;
    }
    .mmb-30 {
        margin-bottom: 30px;
    }
    .mmb-40 {
        margin-bottom: 40px;
    }
    a,
    a img,
    a svg,
    a svg path {
        transition: 0.3s;
    }

/*px*/

    .mv_text_wrapper {
        bottom: 43px;
    }

    .mv_b_contents p {
        font-size: 20px;
        line-height: 1.2;
    }

    .mv_b_contents ul {
        margin: 20px 0;
        flex-direction: column;
    }

    .mv_b_contents ul li {
        margin: 0;
        margin-bottom: 24px;
    }

    .mv_b_contents ul > :last-child {
        margin-bottom: 0;
    }

    .mv_b_contents ul li .Skew_inner {
        font-size: 24px;
        line-height: 32px;
    }

    section.s1 {
        margin-bottom: 160px;
        position: relative;
    }

    .s1_bg_wrapper {
        position: absolute;
        left: 0;
        margin: auto;
        top: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
    }

    .s1_bg.Skew {
        width: 412px;
        height: 684px;
        transform-origin: center;
        left: -50vw;
        right: -50vw;
        top: 0;
        margin: auto;
    }

    .s1_bg.Skew .Skew_inner {
        width: 704px;
    }

    .s1_bg.Skew .Skew_inner img {
        object-position: right;
    }

    .s1_contents {
        padding-top: 40px;
        min-height: initial;
    }

    .s_title {
        margin-bottom: 32px;
    }

    .s_title h2 {
        font-size: calc(40px * 1.131);
    }

    .s_title p {
        font-size: 20px;
        margin-top: 8px;
        letter-spacing: 0.1em;
    }

    .s1_text {
        margin-bottom: 23px;
    }

    .s1_text h3 {
        font-size: 24px;
        margin-bottom: 8px;
    }

    .s1_text p {
        font-size: 14px;
        width: 100%;
        max-width: 315px;
    }

    .s1_content {
        margin-bottom: 40px;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
    }

    .s1_c_box {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        max-width: 100%;
        height: auto;
        min-height: 240px;
        padding: 16px;
        margin-bottom: 24px;
    }

    .s1_content > :last-child {
        margin-bottom: 0;
    }

    .s1_c_box_info {
        width: 240px;
        max-width: 100%;
    }

    section.s2 {
        padding: 40px 0 0;
        margin-bottom: 160px;
    }

    .s2_bg.Skew {
        width: 306px;
        height: 684px;
        transform-origin: center;
        left: -50vw;
        right: -50vw;
        top: 0;
        margin: auto;
    }

    .s2_content.s2c_img {
        left: -50vw;
        right: -50vw;
        margin: auto;
        top: 68px;
        width: 343px;
        pointer-events: none;
    }

    .s2c_img_wrapper {
        width: 237px;
        height: 316px;
    }

    .s2c_img.Skew {
        transform-origin: top;
        height: 100%;
        position: relative;
        transform: skewX(-26deg);
    }

/*    .s2c_img_inner.Skew_inner {
        height: 103%;
        width: 623px;
        position: absolute;
        right: -137px;
    }*/

    .s2c_img_inner.Skew_inner {
        height: 100%;
        width: 449px;
        position: absolute;
        /* right: -193px; */
        right: initial;
        left: 0;
        transform: skewX(26deg);
    }

    .s2c_img_inner.Skew_inner img {
        object-position: bottom;
    }

    .s2content.s2c_info {
        width: 264px;
        max-width: 100%;
    }

    .s2c_text h3 {
        font-size: 24px;
        margin-bottom: 17px;
    }

    .s2c_text p {
        font-size: 14px;
    }

    .inner.s2_inner .more_btn.sp-only {
        z-index: 1;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .more_btn a {
        max-width: 100%;
    }

    section.s3 {
        margin-bottom: 160px;
    }

    .s3_contents {
        padding-top: 40px;
    }

    .s3_content .s_title h2 {
        font-size: calc(64px * 1.131);
    }

    .s3_content .s_title p {
        font-size: 32px;
        margin-top: 4px;
    }

    .s3c_text {
        margin-bottom: 84px;
        width: 272px;
    }

    .s3c_text p {
        font-size: 14px;
    }

    .s3_content .more_btn {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .f_contents {
        flex-direction: column-reverse;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .f_right {
        margin-bottom: 80px;
    }

    .f_right ul {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .f_right ul > :last-child {
        margin-bottom: 0;
    }

    .f_right ul li {
        margin: 0;
        margin-bottom: 16px;
    }



}

@media screen and (max-width: 600px) {

    .mv_img .Skew_inner {
        width: 130%;
        position: absolute;
        left: -50vw;
        right: -50vw;
        margin: auto;
        transform: translate(-50px,0);
    }

}

@media screen and (max-width: 500px) {

    .s1_bg.Skew .Skew_inner {
        position: relative;
        right: 80px;
    }

    .s3_bg_img.Skew_inner {
        width: 110vw;
        left: -10vw;
    }

}

@media screen and (max-width: 450px) {

    /*.s2c_img_inner.Skew_inner img {
        object-position: left;
    }*/



}


@media screen and (max-width: 375px) {

    .mv_text p {
        /*font-size: 26px;*/
        /*padding: 27px 60px 27px 16px;*/
        font-size: 6.933vw;
        padding: 7.2vw 16vw 7.2vw 4.267vw;
    }

    .mv_text p span.p_big {
        /*font-size: 34px;*/
        font-size: 9.067vw;
    }

}

@media screen and (max-width: 340px) {

    .mv_img .Skew_inner {
        width: 132%;
    }

    .mv_b_contents p {
        font-size: 5.333vw;
    }

}


/*スマホ横の場合*/


/*@media only screen and (max-device-height: 480px) and (orientation: landscape) {}*/


/*media queryここまで*/


/*IEの場合*/


/* IE11 は最初に *::-ms-backdrop, をつける */


/* IE10 より前はそのまま */


/*@media all and (-ms-high-contrast:none){
    *::-ms-backdrop, .class {
        padding-top: 15px ;
    }

    .class {
        padding-top: 15px ;
    }

}*/


/*Firefoxの場合*/


/*@-moz-document url-prefix() {
}*/


/*safariの場合*/


/*::-webkit-full-page-media, :future, :root クラス名 {
}*/


/*--------------------------------------------------------------------
下層ページ
--------------------------------------------------------------------*/

.pages_mv {
    width: 100%;
    height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 200px;
    position: relative;
}

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

.pages_mv_img:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #000000;
    opacity: 0.3;
    pointer-events: none;
}

.pages_mv_img.pages_no_img {
    background-color: #7B7B7B;
}

.pages_mv_img.pages_no_img:before {
    display: none;
}

.pages_mv_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.inner.pages_mv_inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pages_mv_title {
    text-align: center;
    padding: 0 65px;
    height: 160px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    transform: translate(16px,0);
}

.pages_mv_title h1 {
    font-weight: 700;
    font-size: calc(56px * 1.131);
    line-height: 1;
    color: #FFFFFF;
    margin-bottom: 16px;
    z-index: 1;
}

.pages_mv_title p {
    font-weight: 600;
    font-size: 32px;
    line-height: 1;
    color: #FFFFFF;
    z-index: 1;
}

.pages_mv_title_bg.Skew {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.pages_mv_title:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #ffff;
    transform: translate(-32px,16px) skewX(-23deg);
}

section.pages_s {
    margin-bottom: 200px;
}


/*---------------------------------------
pp privacy policy プライバシーポリシー
---------------------------------------*/

main.pages.pages_pp .pages_mv {
    margin-bottom: 80px;
}

main.pages.pages_pp section.pages_s {
    margin-bottom: 160px;
}

.page_contents.pp_contents {
    width: 1000px;
    max-width: 100%;
    margin: auto;
}

.page_contents.pp_contents p {
    font-weight: 300;
    font-size: 16px;
    line-height: 1.62;
}

.page_contents.pp_contents p.pp_name {
    font-size: 24px;
    line-height: 1.25;
}

@media screen and (max-width: 768px) {

    .pages_mv {
        height: 200px;
        margin-bottom: 120px;
    }

    main.pages.pages_pp .pages_mv {
        margin-bottom: 160px;
    }

    .pages_mv_title {
        height: 70px;
        transform: translate(7px,0);
        padding: 0 30px;
    }

    .pages_mv_title:before {
        transform: translate(-14px,7px) skewX(-23deg);
    }

    .pages_mv_title h1 {
        font-size: calc(24.4px * 1.131);
        margin-bottom: 7.5px;
    }

    .pages_mv_title p {
        font-size: 14px;
    }

    section.pages_s {
        margin-bottom: 120px;
    }

    .page_contents.pp_contents p {
        font-size: 14px;
        line-height: 1.86;
        letter-spacing: -0.05em;
    }

}

@media screen and (max-width: 370px) {

    .pages_mv_title {
        /*height: 70px;
        transform: translate(7px,0);
        padding: 0 30px;*/
        height: 18.919vw;
        transform: translate(1.892vw,0);
        padding: 0 8.108vw;
    }

    .pages_mv_title:before {
        /*transform: translate(-14px,7px) skewX(-23deg);*/
        transform: translate(-3.784vw,1.892vw) skewX(-23deg);
    }

    .pages_mv_title h1 {
        /*font-size: calc(24.4px * 1.131);
        margin-bottom: 7.5px;*/
        font-size: calc(6.595vw * 1.131);
        margin-bottom: 2.027vw;
    }

    .pages_mv_title p {
        /*font-size: 14px;*/
        font-size: 3.784vw;
    }

}

/*---------------------------------------
confirm 404エラー
---------------------------------------*/

main.pages.pages_end {
    width: 100%;
    margin: 200px 0;
}

.page_end_content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
}

.page_end_content h2 {
    color: #DD5418;
    font-size: calc(64px * 1.131);
    line-height: 1;
    margin-bottom: 8px;
}

.page_end_content h3 {
    font-size: 24px;
    line-height: 1;
    color: #B6B6B6;
    margin-bottom: 16px;
}

.page_end_content p {
    font-size: 16px;
    line-height: 1.2;
    margin-bottom: 96px;
}

.page_end_content a.top_back_btn {
    font-size: 16px;
    line-height: 1.2;
    color: #DD5418;
    text-align: center;
}

@media screen and (max-width: 768px) {

    main.pages.pages_end {
        margin: 160px 0;
    }

    .page_end_content h2 {
        font-size: calc(40px * 1.131);
        margin-bottom: 8px;
    }

    .page_end_content h3 {
        font-size: 20px;
        margin-bottom: 16px;
    }

    .page_end_content p {
        font-size: 14px;
        margin-bottom: 80px;
    }

    .page_end_content a.top_back_btn {
        font-size: 16px;
    }

}

/*---------------------------------------
contact お問合せ
---------------------------------------*/

.pages_bg_wh {
    padding: 80px 0;
    margin-bottom: 200px;
    background-color: #fff;
}

.pages_form .page_contents {
    width: 100%;
}

.contact_contents {
    width: 640px;
    max-width: 100%;
    margin: auto;
}

.pages_form .pages_bg_wh .s_title {
    margin-bottom: 80px;
}


/* form ここから -------------*/

/*デフォルトのバリデーションテキストを非表示*/
.wpcf7-not-valid-tip {
    width: 0;
    height: 0;
    overflow: hidden;
    opacity: 0;
    position: absolute;
}

/*ロード中のアイコンを非表示*/
.contact-submit-btn span.ajax-loader {
    display: none !important;
}

/*デフォルトのメッセージを削除*/
.wpcf7 form.invalid .wpcf7-response-output {
    display: none !important;
}

/*デフォルトのメッセージを削除*/
.wpcf7-response-output {
    display: none !important;
}

.contact-content {
    margin-bottom: 40px;
}

.contact-content .contact-title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.contact-content .contact-title p {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-weight: 400;
    font-size: 16px;
    line-height: 19px;
}

span.ct-red {
    font-size: 8px;
    margin-left: 4px;
    line-height: 1;
    font-weight: bold;
    color: #FF2828;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.wpcf7-custom-item-error {
    margin-left: 10px;
    font-weight: 400;
    font-size: 14px;
    color: #FF2828;
}

.contact-content .contact-form textarea,
.contact-content .contact-form.cc-text input {
    background-color: #F5F5F5;
    border: 0;
    border-bottom: 2px solid #DD5418;
    border-radius: 2px;
    font-size: 16px;
    padding: 8px;
    width: 100%;
    box-sizing: border-box;
    font-weight: 400;
    outline-color: #DD5418;
    transition: 0.3s;
}

.contact-content .contact-form input {
    height: 48px;
    padding: 4px;
}

.contact-content .contact-form textarea {
    resize: none;
    height: 160px;
    padding: 4px 8px;
}

#cf7_error_text_top {
    display: none;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 1.6px;
    color: #FF2828;
    line-height: 1.8;
    text-align: center;
    margin-bottom: 30px;
}

#cf7_error_text_top.send_error {
    display: block;
}

.contact-content .contact-form textarea.input_error,
.contact-content .contact-form.cc-text input.input_error {
    background-color: #FFDBDB;
}

.contact-content .contact-form textarea:focus,
.contact-content .contact-form.cc-text input:focus {
    outline: none;
    box-shadow: 0 0 2px #DD5418;
}

.contact-content .contact-form textarea::placeholder,
.contact-content .contact-form.cc-text input::placeholder {
    color: #C0C0C0;
}

.contact-submit-btn p {
    display: contents;
}

span.wpcf7-spinner {
    display: none;
}

.contact-submit-btn {
    margin: auto;
    margin-top: 80px;
    width: 320px;
    max-width: 100%;
    height: 64px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.contact-submit-btn input {
    width: 100%;
    height: 100%;
    cursor: pointer;
    outline: none;
    border-radius: 2px;
    border: 0;
    opacity: 0;
    box-sizing: border-box;
}

.contact-submit-btn p.submit_btn_inner {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-color: #ffffff;
    border: 2px solid #DD5418;
    border-radius: 2px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 19px;
    color: #DD5418;
    transition: 0.3s;
}

.contact-submit-btn p.submit_btn_inner br {
    display: none;
}

.contact-submit-btn p.submit_btn_inner svg {
    margin-left: 16px;
    transition: 0.3s;
}

.contact-submit-btn p.submit_btn_inner svg path {
    transition: 0.3s;
}

.contact-submit-btn:hover p.submit_btn_inner {
    opacity: 1;
    background-color: #DD5418;
    border-color: #DD5418;
    color: #ffffff;
}

.contact-submit-btn:hover p.submit_btn_inner svg path {
    fill: #ffffff;
}

.contact-submit-btn:hover p.submit_btn_inner svg {
    transform: translate(5px,0);
}

/* form ここまで -------------*/

.pages_bottom_link {
    position: relative;
    width: 100%;
    height: 494px;
    overflow: hidden;
}

.bpm_bg_img {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
}

.bpm_bg.Skew.bg_or {
    position: absolute;
    left: -49vw;
    top: 0;
    width: 100vw;
    height: 100%;
}

.bpm_img {
    width: 848px;
    max-width: 100%;
    min-width: 58.5%;
    height: 100%;
}

.bpm_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

.inner.pbm_inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.p_wh,
.s_title h2.p_wh {
    color: #ffffff;
}

.pbm_content .s_title p {
    color: #000000;
    font-size: 32px;
}

p.pbm_info {
    margin-bottom: 100px;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    color: #FFFFFF;
}

.pbm_content .more_btn a {
    border-color: #000000;
    color: #000000;
}

.pbm_content .more_btn a:hover {
    background-color: #000000;
    border-color: #000000;
    color: #ffffff;
}

@media screen and (max-width: 600px) {

    .pages_form .pages_bg_wh .s_title {
        margin-bottom: 32px;
    }

    #cf7_error_text_top {
        font-size: 14px;
        margin-bottom: 32px;
    }

    .contact_contents {
        padding: 0 12px;
        box-sizing: border-box;
    }

    .contact-content {
        margin-bottom: 20px;
    }

    .contact-content .contact-title {
        margin-bottom: 6px;
    }

    .contact-content .contact-title p {
        font-size: 14px;
        line-height: 17px;
    }

    span.ct-red {
        font-size: 8px;
        margin-left: 2px;
    }

    .wpcf7-custom-item-error {
        margin-left: 8px;
        font-size: 12px;
    }

    .contact-content .contact-form textarea, .contact-content .contact-form.cc-text input {
        border-bottom: 1px solid #DD5418;
        border-radius: 1px;
        font-size: 14px;
        padding: 8px 4px;
    }

    .contact-content .contact-form input {
        height: 32px;
        padding: 4px;
    }

    .contact-submit-btn {
        margin-top: 40px;
        width: 240px;
        height: 48px;
    }

    .contact-submit-btn p.submit_btn_inner {
        font-size: 14px;
        border-width: 1px;
        border-radius: 1px;
    }

    .contact-submit-btn p.submit_btn_inner svg {
        margin-left: 24px;
    }


    .pages_bg_wh {
        padding: 40px 0;
        margin-bottom: 120px;
    }

    .bpm_img img {
        object-position: right;
    }

    .pages_bottom_link {
        height: 400px;
    }

    .bpm_bg.Skew.bg_or {
        left: initial;
        /*right: 65px;*/
        right: 17.2vw;
        transform-origin: top;
        transform: skewX(-26deg);
    }

    .inner.pbm_inner {
        justify-content: flex-start;
    }

    .pbm_content {
        padding-top: 40px;
    }

    .pbm_content .s_title p {
        font-size: 20px;
    }

    p.pbm_info {
        margin-bottom: 32px;
        font-size: 14px;
        max-width: 170px;
    }

    .pbm_content .more_btn a {
        width: 200px;
        height: 48px;
        border-width: 1px;
        border-radius: 1px;
        font-size: 14px;
    }

    .pbm_content .more_btn a svg {
        margin-left: 7px;
    }

}


/*---------------------------------------
entry エントリー
---------------------------------------*/

.cc_select_inner {
    position: relative;
    width: 100%;
    height: 48px;
    box-sizing: border-box;
}

.cc_select_inner p {
    display: contents;
}

.cc_select_inner select {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background-color: #FFFFFF;
    border: 1px solid #DD5418;
    border-radius: 2px;
}

.cc_select_inner select {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background-color: #FFFFFF;
    border: 1px solid #DD5418;
    border-radius: 2px;
    padding: 8px 40px 8px 8px;
    font-weight: 400;
    font-size: 16px;
    line-height: 19px;
    appearance: none;
    outline: none;
}

.cc_select_inner select::-ms-expand{
    display: none;
}

.cc_select_inner svg {
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 16px;
    height: auto;
}

.contact-form.cc-file {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.contact-form.cc-file p {
    display: contents;
}

.contact-content .contact-form.cc-file label br {
    display: none;
}

.contact-content .contact-form input[type="file"] {
    display: none;
}

.contact-content .contact-form.cc-file label {
    cursor: pointer;
    font-weight: 400;
    font-size: 16px;
    line-height: 19px;
    color: #DD5418;
    background-color: #FFFFFF;
    border: 1px solid #DD5418;
    border-radius: 2px;
    width: 200px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-sizing: border-box;
}

.contact-form.cc-file p.cc-file-name {
    display: block;
    margin-left: 8px;
    font-weight: 400;
    font-size: 16px;
    line-height: 19px;
    word-break: break-all;
}

@media screen and (max-width: 600px) {

    .cc_select_inner {
        height: 32px;
    }

    .cc_select_inner select {
        padding: 4px 28px 4px 4px;
        font-size: 14px;
        line-height: 1;
        border-radius: 1px;
    }

    .cc_select_inner svg {
        right: 8px;
    }

    .contact-content .contact-form.cc-file label {
        border-radius: 1px;
        width: 142px;
        height: 33px;
        font-size: 14px;
        line-height: 17px;
    }

    .contact-form.cc-file p.cc-file-name {
        margin-left: 6px;
        font-size: 14px;
        line-height: 17px;
    }

}


/*---------------------------------------
company 会社概要
---------------------------------------*/

section.s_co_strengths {
    margin-bottom: 200px;
    position: relative;
}

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

.co_st_bg .inner {
    position: relative;
    height: 100%;
    width: 1280px;
}

.co_st_bg_inner.Skew {
    width: 1028px;
    height: 100%;
    background-color: #ffffff;
    transform-origin: top;
}

.co_st_info {
    position: relative;
    padding: 80px 0;
}

.co_st_text {
    margin-bottom: 80px;
}

.co_st_text p {
    font-size: 32px;
    line-height: 1.2;
}

.co_st_contents ul > :last-child {
    margin-bottom: 0;
}

.co_st_contents ul li {
    margin-bottom: 64px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    box-sizing: border-box;
    padding-left: 11px;
}

.co_st_info_num {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 144px;
    height: 72px;
    position: relative;
    margin-right: 32px;
}

.co_st_info_num:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #DD5418;
    transform: skewX(-17deg);
}

.co_st_info_num p {
    position: relative;
    color: #ffffff;
    font-size: 32px;
    line-height: 1;
    text-align: center;
}

.co_st_info_num p.p_small {
    font-size: 16px;
    margin-bottom: 8px;
}

.co_st_info_text p {
    font-size: 24px;
    line-height: 1.2;
}

.co_st_info_text p.p_small {
    margin-top: 8px;
    font-size: 16px;
    line-height: 1;
}

section.s_co_profile {
    margin-bottom: 200px;
}

.s_co_bg_wh {
    padding: 80px 0;
    background-color: #fff;
}

.s_co_pr_contents ul {
    width: 798px;
    max-width: 100%;
    margin: auto;
}

.s_co_pr_contents ul li {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
}

.s_co_pr_title {
    padding: 26px 16px;
    width: 200px;
    box-sizing: border-box;
    flex-shrink: 0;
    margin-right: 24px;
    border-bottom: 1px solid #DD5418;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 20px;
    line-height: 1;
}

.s_co_pr_text {
    padding: 26px 26px 26px 47px;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 1px solid #BFBFBF;
    font-size: 16px;
    line-height: 1.2;
}

.s_co_pr_text > :last-child {
    margin-bottom: 0;
}

.s_co_pr_loop {
    margin-bottom: 16px;
}

.s_co_pr_loop p {
    line-height: 1.2;
}

p.font_mid {
    font-weight: 600;
    font-size: 14px;
    line-height: 1.2;
}

.s_co_pr_loop.co_advisor1_loop p.font_mid {
    margin-top: 8px;
}

.access_contents {
    width: 1090px;
    max-width: 100%;
    margin: auto;
}

.access_contents ul {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: -40px;
    flex-wrap: wrap;
}

li.access_li_hidden,
li.access_li {
    margin-left: 8px;
    margin-right: 8px;
    width: 320px;
}

li.access_li {
    margin-bottom: 40px;
}

.access_iframe {
    width: 100%;
    height: 240px;
    overflow: hidden;
    margin-bottom: 16px;
}

.access_iframe iframe {
    width: 100%;
    height: 100%;
}

.access_name, .access_text {
    font-size: 16px;
    line-height: 1.2;
}

.access_text {
    font-weight: 300;
}

@media screen and (max-width: 1100px) {

    .access_contents {
        width: 700px;
    }

}

@media screen and (max-width: 1000px) {

    .co_st_bg_inner.Skew {
        width: 100%;
        transform-origin: center;
    }

}

@media screen and (max-width: 768px) {

    section.s_co_strengths {
        margin-bottom: 120px;
    }

    .co_st_info {
        padding: 40px 0;
    }

    .co_st_text {
        margin-bottom: 32px;
    }

    .co_st_text p {
        font-size: 24px;
        line-height: 1.2;
    }

    span.pc_space {
        display: none;
    }

    .co_st_contents ul li {
        margin-bottom: 32px;
        padding-left: 4px;
    }

    .co_st_info_num {
        width: 40px;
        height: 32px;
    }

    .co_st_info_num p {
        font-size: 14px;
    }

    .co_st_info_num p.p_small {
        font-size: 8px;
        margin-bottom: 2px;
    }

    .co_st_info_num {
        width: 40px;
        height: 32px;
        margin-right: 10px;
    }

    .co_st_info_text p {
        font-size: 18px;
    }

    .co_st_info_text p.p_small {
        font-size: 14px;
        line-height: 1.1;
    }

    .s_co_bg_wh {
        padding: 40px 0;
    }

    section.s_co_profile {
        margin-bottom: 120px;
    }

    .s_co_pr_contents ul li {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        border-bottom: 1px solid #BFBFBF;
        padding: 20px 8px;
        box-sizing: border-box;
    }

    .s_co_pr_title {
        padding: 0;
        margin: 0;
        width: 100%;
        border: 0;
        margin-bottom: 10px;
        color: #DD5418;
        font-size: 14px;
    }

    .s_co_pr_text {
        padding: 0;
        border: 0;
        font-size: 14px;
    }

    .s_co_pr_contents ul li:first-child {
        padding-top: 0;
    }

    p.font_mid {
        font-size: 12px;
    }

    .s_co_pr_loop {
        margin-bottom: 8px;
    }

}

@media screen and (max-width: 750px) {

    .access_contents ul {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
    }

    li.access_li_hidden {
        display: none;
    }

    .access_name, .access_text {
        font-size: 14px;
    }

    li.access_li {
        margin: 0;
        margin-bottom: 40px;
        max-width: 100%;
    }

    .access_iframe {
        margin-bottom: 8px;
    }

}

@media screen and (max-width: 375px) {

    .co_st_bg_inner.Skew {
        width: 114%;
        position: absolute;
        left: -50vw;
        right: -50vw;
        margin: auto;
    }

}


/*---------------------------------------
recruit message job 採用情報
---------------------------------------*/

section.s_message {
    margin-bottom: 200px;
    position: relative;
}

.rec_list_s_bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.rec_list_s_bg .inner {
    position: relative;
    height: 100%;
}

.rec_list_s_bg .inner.rec_list_s_bg_inner2 {
    display: none;
}

.s_mess_bg_inner.Skew {
    width: 1268px;
    max-width: 114%;
    height: 100%;
    background-color: #ffffff;
    transform-origin: top;
    position: absolute;
    right: 0;
    top: 0;
}

.s_mess_contents {
    position: relative;
    padding: 80px 0;
}

.inner.s_mess_c_inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.s_mess_c.s_mess_c_info {
    width: 480px;
    flex-shrink: 0;
    margin-right: 36px;
}

.s_mess_c_img_sp h3,
.s_mess_c_text h3 {
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 19px;
}

.s_mess_c_text p {
    font-size: 16px;
    line-height: 1.2;
}

.s_mess_ceo_name {
    margin-top: 32px;
}

.s_mess_ceo_name p:first-child {
    font-size: 20px;
    line-height: 1;
    margin-bottom: 12px;
}

.s_mess_ceo_name p:last-child {
    font-size: 40px;
    line-height: 1;
}

.s_mess_c.s_mess_c_img {
    width: 100%;
    height: 453px;
    margin-top: 80px;
}

.s_mess_c_img_skew.Skew {
    transform-origin: bottom;
    width: 100%;
    height: 100%;
}

.s_mess_c_img_skew_wrapper {
    width: 100%;
    height: 100%;
}

.s_mess_c_img_skew_inner.Skew_inner {
    height: 100%;
}

.s_mess_c_img_skew_inner.Skew_inner img {
    height: 100%;
    object-fit: cover;
}

section.s_job {
    position: relative;
    min-height: 800px;
}

.s_job_bg_inner.Skew {
    width: 1056px;
    max-width: 114%;
    height: 100%;
    transform-origin: top;
    position: absolute;
    right: 143px;
    top: 0;
}

.s_job_contents_wrapper {
    position: relative;
    padding: 80px 0;
}

.s_job_contents_wrapper .s_title h2 {
    color: #ffffff;
}

.s_job_contents_wrapper .s_title p {
    color: #000000;
}

.job_no_post,
.s_job_info {
    font-size: 16px;
    line-height: 1.2;
    color: #FFFFFF;
}

.s_job_info {
    margin-bottom: 80px;
}

.s_job_contents ul {
    margin-bottom: -80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.s_job_contents ul li {
    margin-bottom: 80px;
    width: 520px;
    height: 128px;
    max-width: 49%;
}

.s_job_contents ul li a {
    display: flex;
    align-items: center;
    justify-content: start;
    width: 100%;
    height: 100%;
}

.j_job_c_img_wrapper {
    flex-shrink: 0;
    width: 128px;
    height: 100%;
}

.s_job_contents ul li a {
    display: flex;
    align-items: center;
    justify-content: start;
    width: 100%;
    height: 100%;
    box-shadow: 3.2px 3.2px 3.2px rgba(0, 0, 0, 0.25);
    border-radius: 1.6px;
    overflow: hidden;
    background-color: #ffffff;
}

.s_job_contents ul li a:hover {
    opacity: 1;
}

.j_job_c_img {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.j_job_c_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s;
}

a:hover .j_job_c_img img {
    transform:scale(1.05,1.05);
    opacity: 1;
}

.j_job_c_title {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 10px;
    box-sizing: border-box;
    transition: 0.3s;
}

.j_job_c_title p {
    font-size: 24px;
    line-height: 1.1;
    max-width: 290px;
    text-align: center;
}

.j_job_c_title svg {
    margin-left: 32px;
}

.j_job_c_title svg path {
    transition: 0.3s;
}

a:hover .j_job_c_title{
    background-color: #000000;
    color: #ffffff;
}

a:hover .j_job_c_title svg path {
    fill: #ffffff;
}

a:hover .j_job_c_title svg {
    transform: translate(5px,0);
}

@media screen and (max-width: 1030px) {

    .s_mess_c.s_mess_c_img.pc-only {
        display: none;
    }

    .s_mess_c.s_mess_c_info {
        margin: auto;
        max-width: 100%;
        width: 768px;
    }

    .s_mess_c_img_sp.sp-only {
        display: block;
    }

    .s_mess_c_text h3.pc-only {
        display: none;
    }

    .s_mess_c_img_sp h3 {
        margin-bottom: 24px;
    }

    .s_mess_c.s_mess_c_img {
        margin: auto;
        margin-bottom: 24px;
    }

    .s_mess_c_img_skew.Skew {
        transform-origin: center;
    }

    .j_job_c_title p {
        font-size: 18px;
    }

}

@media screen and (max-width: 920px) {

    .j_job_c_title p.pc-only {
        display: none;
    }

    .j_job_c_title p.sp-only {
        display: block;
    }

}


@media screen and (max-width: 768px) {

    .rec_list_s_bg .inner.rec_list_s_bg_inner2 {
        display: block;
    }

    .rec_list_s_bg .inner {
        position: relative;
        height: 50%;
    }

    .s_mess_bg_inner.Skew {
        left: -50vw;
        right: -50vw;
        margin: auto;
        transform-origin: center;
        /* width: 324px; */
        width: 600px;
    }

    .s_mess_contents {
        padding: 40px 0;
    }

    .s_mess_c.s_mess_c_img {
        width: 304px;
        height: 240px;
        max-width: 100%;
    }

    .s_mess_c_img_skew_inner.Skew_inner {
        width: 134%;
    }

    .s_mess_ceo_name {
        margin-top: 24px;
    }

    .s_mess_ceo_name p:first-child {
        font-size: 16px;
        margin-bottom: 8px;
    }

    .s_mess_ceo_name p:first-child {
        font-size: 16px;
        margin-bottom: 8px;
    }

    section.s_message {
        margin-bottom: 120px;
    }

    section.s_job {
        min-height: auto;
    }

    .rec_list_s_bg.s_job_bg .inner {
        height: 100%;
    }

    .s_job_contents_wrapper {
        padding: 40px 0;
    }

    .job_no_post, .s_job_info {
        font-size: 14px;
        font-weight: 400;
    }

    .s_job_info {
        margin-bottom: 43px;
    }

    .s_job_contents {
        width: 312px;
        max-width: 100%;
        margin: auto;
    }

    .s_job_contents ul {
        margin-bottom: -24px;
        align-items: flex-start;
    }

    .s_job_contents ul li {
        margin-bottom: 24px;
        width: 144px;
        height: 128px;
        max-width: 49%;
    }

    .s_job_contents ul li a {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .s_job_contents ul li {
        margin-bottom: 24px;
        width: 144px;
        height: auto;
        min-height: 184px;
        max-width: 49%;
    }

    .j_job_c_img_wrapper {
        width: 100%;
        height: 128px;
    }

    .j_job_c_title {
        padding: 5px;
        min-height: 56px;
        width: 100%;
    }

    .j_job_c_title p {
        font-size: 14px;
        line-height: 1;
        height: auto;
        min-height: initial;
        width: max-content;
    }

    .j_job_c_title svg {
        margin-left: 8px;
    }

}

@media screen and (max-width: 500px) {

    .s_mess_bg_inner.Skew {
        width: 324px;
    }

    .inner.rec_list_s_bg_inner2,
    .inner.rec_list_s_bg_inner1 {
        left: -5.7vw;
    }

    .s_mess_c_text {
        width: 320px;
        max-width: 100%;
        margin: auto;
    }

    .s_job_bg_inner.Skew {
        width: 113%;
        left: 0;
        right: initial;
    }

}

/*---------------------------------------
recruet リクルート詳細
---------------------------------------*/

.si_rec_contents_title {
    margin-bottom: 40px;
    width: max-content;
}

.si_rec_contents_title h2 {
    font-size: 64px;
    line-height: 1;
}

.inner.si_rec_inner ul > :first-child {
    border-top: 1px solid #DD5418;
}

.inner.si_rec_inner li {
    border-bottom: 1px solid #DD5418;
    padding: 40px 0;
    padding-left: 15px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    box-sizing: border-box;
}

.si_rec_title_bg.Skew {
    width: 100%;
    height: 100%;
    background-color: #DD5418;
    position: absolute;
    left: 0;
    top: 0;
}

.si_rec_title {
    position: relative;
    flex-shrink: 0;
    width: 170px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 55px;
}

.si_rec_title p {
    position: relative;
    font-size: 24px;
    line-height: 1;
    text-align: center;
    color: #FFFFFF;
}

.si_rec_text {
    width: 100%;
}

.si_rec_text {
    width: 100%;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.2;
}

.single_rec_contents {
    margin-bottom: 200px;
}

.inner.si_rec_inner .more_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 80px;
}


@media screen and (max-width: 768px) {

    main.sigle.sigle_recruit p.pbm_info {
        max-width: 100%;
    }

    .single_rec_contents {
        margin-bottom: 120px;
    }

}


@media screen and (max-width: 750px) {

    .inner.si_rec_inner li {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        padding: 20px 0;
    }

    .si_rec_title {
        width: 96px;
        height: 36px;
        margin: 0;
        margin-left: 8.5px;
        margin-bottom: 8px;
    }

    .si_rec_title p {
        font-size: 16px;
    }

    .si_rec_text {
        font-size: 14px;
    }

    .si_rec_contents_title {
        margin-bottom: 32px;
    }

    .si_rec_contents_title h2 {
        font-size: 40px;
    }

}





/*---------------------------------------
aaaaa
---------------------------------------*/






/*----------------------------------------------------------------------
sigle page 記事詳細
----------------------------------------------------------------------*/


/*投稿ページ*/

.sigle_page .page_contents {
    font-size: 16px;
}

.sigle_page .page_contents img {
    height: auto;
}

.sigle_page .page_contents p {
    margin-block-start: 1em;
    margin-block-end: 1em;
    line-height: 1.3;
}

.sigle_page .page_contents h1,
.sigle_page .page_contents h2 {
    font-size: 1.5em;
    margin-block-start: 0.83em;
    margin-block-end: 0.83em;
    font-weight: bold;
}

.sigle_page .page_contents h3 {
    font-size: 1.17em;
    margin-block-start: 1em;
    margin-block-end: 1em;
    font-weight: bold;
}

.sigle_page .page_contents h4 {
    display: block;
    margin-block-start: 1.33em;
    margin-block-end: 1.33em;
    font-weight: bold;
}

.sigle_page .page_contents h5 {
    display: block;
    font-size: 0.83em;
    margin-block-start: 1.67em;
    margin-block-end: 1.67em;
    font-weight: bold;
}

.sigle_page .page_contents h6 {
    display: block;
    font-size: 0.67em;
    margin-block-start: 2.33em;
    margin-block-end: 2.33em;
    font-weight: bold;
}

.sigle_page .page_contents ul {
    display: block;
    list-style-type: disc;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 40px;
}

.sigle_page .page_contents ol {
    display: block;
    list-style-type: decimal;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 40px;
}

.sigle_page .page_contents table {
    display: table;
    border-collapse: collapse;
    box-sizing: border-box;
    text-indent: initial;
    border-spacing: 2px;
    border-color: grey;
}

.sigle_page .page_contents tbody {
    display: table-row-group;
    vertical-align: middle;
    border-color: inherit;
}

.sigle_page .page_contents thead {
    border-bottom: 3px solid;
}

.sigle_page .page_contents tfoot {
    border-top: 3px solid;
}

.wp-block-table td,
.wp-block-table th {
    border: 1px solid;
    padding: .5em;
    word-break: normal;
}

.sigle_page .page_contents th {
    display: table-cell;
    vertical-align: inherit;
    font-weight: bold;
    text-align: -internal-center;
}

.sigle_page .page_contents td {
    border-collapse: separate;
    text-indent: initial;
    border-spacing: 2px;
}

.sigle_page .page_contents figcaption {
    color: #555;
    font-size: 13px;
    text-align: center;
}

.sigle_page .page_contents a {
    color: #2271b1;
    text-decoration: underline;
}

.sigle_page .page_contents em {
    font-style: italic;
}