@charset "utf-8";
/*
Theme Name: company
Theme URI: http://sphere-links.co.jp/
Description: company
Version: 1.0
Author: sphere-links
Author URI: http://sphere-links.co.jp/
Tags: company

*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

body {
    line-height: 1;
}

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

ul,
ol {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}


/* change colours to suit your needs */

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}


/* change colours to suit your needs */

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}


/* change border colour to suit your needs */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input,
select {
    vertical-align: middle;
}




/*************************************************************

ここまでリセット

*************************************************************/
/*共通*/
/*全体のフォントサイズを指定、remでbodyに引っ張られないようにする*/
html {
    font-size: 62.5%;
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    height: 100%;
}

body {
    font-size: 1.4rem;
    line-height: 1.6;
    /*詰まりすぎを防ぐ*/
    color: #1a1311;
    margin: 0 auto;
    position: relative;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

#main{
    flex: 1;
}

body p {
    font-size: 1.4rem;
}

/*全体のフォントサイズを指定*/

a {
    color: #1a1311;
    text-decoration: none;
    cursor: pointer;
    transition: .5s;
}

a:hover {
    color: #e63084;
    transition: .5s;
}

a:hover img {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
}

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

div {
    box-sizing: border-box;
}

img {
    max-width: 100%;
    vertical-align: bottom;
}

/*ヘッダー*/
header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100px;
    padding: 0 20px;
    box-sizing: border-box;
    background: linear-gradient(to bottom, #ffffff 0%, #ffffff 20%, rgba(255, 255, 255, 0.95) 30%, rgba(255, 255, 255, 0.9) 40%, rgba(255, 255, 255, 0.8) 60%, rgba(255, 255, 255, 0.5) 80%, rgba(255, 255, 255, 0.2) 92%, rgba(255, 255, 255, 0) 100%);
}

header .header_box {
    max-width: 1500px;
    margin: 0 auto;
}

header .flex {
    align-items: center;
    /* padding-top: 10px; */
    height: 100%;
    box-sizing: border-box;
    justify-content: space-between;
}

.clone_nav,
.header_box,
.header_txtbox {
    height: 100%;
}

.header_box {
    max-width: 1760px;
    margin: 0 auto;
    box-sizing: border-box;
}

.logo {
    max-width: 300px;
}

.header_right {
    flex-basis: 80%;
    display: flex;
    justify-content: space-between;
}

header nav ul {
    display: flex;
}


header nav ul a:hover {
    color: #ed6d00;
}

#sp_g_nav {
    display: none;
}


/*ナビ*/
#g_nav {
    padding: 0;
    box-sizing: border-box;
}

#g_nav .nav_wrap,
.c_nav .nav_wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    padding-right: 30px;
}

#g_nav h1.logo {
    float: left;
    max-width: 305px;
    width: 27%;
    padding: 0;
}

#g_nav ul,
.c_nav ul {
    list-style-type: none;
    padding: 0;
    color: #fff;
    display: flex;
    justify-content: flex-end;
    width: 100%;
    box-sizing: border-box;
}

#g_nav .nav_wrap ul li,
.c_nav .nav_wrap ul li {
    position: relative;
    margin: 0;
    width: auto;
    margin-right: 0;
    display: block;
    box-sizing: border-box;
    text-align: center;
    padding-right: 35px;
    color: #fff;
}

#g_nav ul li:last-child,
.c_nav ul li:last-child {
    padding-right: 0;
}

#g_nav ul li a,
.c_nav ul li a,
#g_nav ul li span,
.c_nav ul li span {
    display: block;
    color: #333;
    box-sizing: border-box;
    font-weight: bold;
    line-height: 2;
    letter-spacing: 0.05em;
    cursor: pointer;
    font-size: clamp(1.2rem, 1.143vw, 1.6rem);

}


#g_nav li a:hover,
.c_nav li a:hover {
    box-sizing: border-box;
    color: #e63084;
}

#g_nav ul li:last-child a:hover,
.c_nav ul li:last-child a:hover {
    opacity: 0.8;
}

#g_nav ul.dropdown,
.c_nav ul.dropdown {
    display: none;
    position: absolute;
    padding: 0;
    z-index: 10;
    display: block;
    background: #e63084;
    height: auto;
    width: 320px;
    box-sizing: border-box;
    text-align: left;
    border-radius: 10px;
    left: 50%;
    transform: translateX(-50%);
}

#g_nav ul.dropdown li,
.c_nav ul.dropdown li {
    width: 100%;
    margin-bottom: 0;
    text-align: left;
    padding: 0;
}

#g_nav ul.dropdown li a,
.c_nav ul.dropdown li a {
    color: #fff;
    font-size: 1.2rem;
    display: flex;
    justify-content: space-between;
    /* text-align: right; */
    padding: 10px 20px;
    box-sizing: border-box;
    border-bottom: 1px dotted #fff;
    transition: none;
    align-items: center;
    width: 100%;

}

#g_nav ul.dropdown li a:hover,
.c_nav ul.dropdown li a:hover {
    background: #fb4397;
    color: #fff;
    transition: none;
}

#g_nav ul.dropdown li:first-child a:hover,
.c_nav ul.dropdown li:first-child a:hover {
    border-radius: 10px 10px 0 0;
}

#g_nav ul.dropdown li:last-child a:hover,
.c_nav ul.dropdown li:last-child a:hover {
    border-radius: 0 0 10px 10px;
}

#g_nav ul.dropdown li:last-child a,
.c_nav ul.dropdown li:last-child a {
    border-bottom: none;
}

#g_nav ul.dropdown li a span,
.c_nav ul.dropdown li a span {
    text-align: right;
    color: #fff;
    font-size: 1.6rem;
}



header .header_right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.nav_right {
    display: flex;
    justify-content: flex-end;
    position: relative;
}

.nav_right ul {
    display: flex;
    margin-bottom: 10px;
}

.nav_right ul li {
    flex-basis: 28%;
    text-align: center;
    box-sizing: border-box;
}

.nav_right ul li a:hover {
    opacity: 0.6;
}

.nav_right .nav_right_link {
    flex-basis: 68%;
    margin-right: 4%;
}

.nav_right .tel {
    flex-basis: 28%;
    max-width: 50px;
}

.nav_right .tel span.tel_btn {
    width: 50px;
    height: 50px;
    text-align: center;
    border-radius: 50%;
    background: #e63084;
    display: block;
    box-sizing: border-box;
    padding-top: 10px;
    cursor: pointer;
}

.nav_right .tel img {
    max-width: 20px;
}

.nav_right .header_btn {
    max-width: 200px;
    margin-left: auto;
    margin-bottom: 0;
}

.nav_right .header_btn {
    max-width: 200px;
    margin-left: auto;
    margin-bottom: 0;
    justify-content: space-between;
}


/*ナビクローン用*/
.c_nav {
    position: fixed;
    top: -120px;
    width: 100%;
    z-index: 100;
    transition: top 0.25s;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0px 1px 9px 0px rgba(0, 0, 0, 0.8);
    height: 80px;
    padding-top: 10px;
}

.c_nav.visible {
    top: 0;
}

.c_nav ul {
    width: 100%;
}

.c_nav .logo {
    display: none;
    /*max-width: 300px;*/
}

.c_nav .header_right {
    flex-basis: 100%;
    display: flex;
    justify-content: center;
}

.c_nav .nav_right {
    position: absolute;
    right: 30px;
}

.c_nav .nav_wrap {
    padding-top: 13px;
}

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

    .logo {
        max-width: 200px !important;
    }

    #g_nav .nav_wrap ul li,
    .c_nav .nav_wrap ul li {
        padding-right: 20px;
    }

    #g_nav ul.dropdown li {
        padding-right: 0;
    }

    #g_nav ul.dropdown li a span,
    .c_nav ul.dropdown li a span {
        font-size: 1.3rem;
    }

}

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

    #g_nav .nav_wrap ul li,
    .c_nav .nav_wrap ul li {
        padding-right: 15px;
    }

    #g_nav .nav_wrap ul.dropdown li,
    .c_nav .nav_wrap ul.dropdown li {
        padding-right: 0;
    }
}


@media screen and (max-width: 1100px) {
    .logo {
        max-width: 160px !important;
    }


    .header_right {
        flex-basis: 78%;
    }

    #g_nav .nav_wrap ul li,
    .c_nav .nav_wrap ul li {
        padding-right: 8px;
    }

    #g_nav .nav_wrap ul.dropdown li,
    .c_nav .nav_wrap ul.dropdown li {
        padding-right: 0;
    }

    .nav_right .header_btn {
        max-width: 120px;
    }

    .c_nav {
        height: 60px;
    }

    #g_nav .nav_wrap,
    .c_nav .nav_wrap {
        padding-right: 8px;
    }

    .c_nav .nav_wrap {
        padding-top: 5px;
    }
}


@media screen and (max-width: 768px) {
    body.active {
        overflow: hidden;
        touch-action: none;
    }

    .clone_nav,
    .header_box,
    .header_txtbox {
        height: auto;
    }

    .c_nav {
        display: none;
    }

    /* .header_box {
        display: none;
    } */

    .logo{
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        left: 10px;
    }

    header nav {
        padding: 0;
    }

    header {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 20;
        border-top: none;
        height: 60px;
        padding: 0;
    }

    #sp_g_nav {
        display: block;
        z-index: 20;
        width: 100%;
    }

    #g_nav {
        display: none;
    }

    .sp_logo {
        position: absolute;
        top: 10px;
        left: 10px;
        text-align: left;
        width: 160px;
    }


    .sp_logo span {
        font-weight: bold;
        padding-left: 10px;
        margin-top: 6px;
        font-size: 11px;
    }

    .sp_to_top {
        position: absolute;
        top: 10px;
        right: 10px;
        width: 100px;
    }

    .lg_m {
        text-align: right;
        height: 60px;
        background: #fff;
    }

    ul.header_btn {
        display: flex;
        position: absolute;
        max-width: 110px;
        right: 70px;
        top: 13px;
    }

    ul.header_btn li {
        margin-right: 5px;
    }

    ul.header_btn li:last-child {
        margin-right: 0;
    }

    /*メニューの動き*/
    .menu-trigger,
    .menu-trigger span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
        cursor: pointer;
    }

    .menu-trigger {
        position: relative;
        width: 60px;
        height: 60px;
        z-index: 2;
        background: #e63084;
    }

    .menu-trigger span {
        position: absolute;
        background: #fff;
        width: 25px;
        height: 2px;
        left: 0;
        right: 0;
        margin: auto;
    }

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

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

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

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

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

    .menu-trigger.active span:nth-of-type(3) {
        -webkit-transform: translateY(-9px) rotate(45deg);
        transform: translateY(-9px) rotate(45deg);
    }

    /*メニューの動き END*/

    #sp_g_nav .sp_nav ul {
        background-color: #e63084;
        opacity: 1;
        display: block;

    }

    #sp_g_nav .sp_nav>ul {
        padding-bottom: 80px;
    }

    #sp_g_nav .sp_nav ul.dropdown {
        background: #f75aa2;
    }

    #sp_g_nav .sp_nav ul.dropdown li a {
        display: flex;
    }

    #sp_g_nav .sp_nav li span.en {
        padding: 0 15px 0 0;
        font-size: 1.4rem;
        /* color: #e63084; */
    }

    #sp_g_nav .sp_nav ul.dropdown li:last-child {
        border-bottom: none !important;
    }

    .sp_nav {
        display: none;
        position: absolute;
        width: 100%;
        z-index: 3;
        display: none;
        height: calc(100vh - 60px);
        overflow-y: scroll;
        background-color: #e63084;
    }


    #sp_g_nav .sp_nav li {
        text-align: left;
        width: 100%;
        border-bottom: dotted 1px #fff;
        position: relative;
    }


    #sp_g_nav .sp_nav li a,
    #sp_g_nav .sp_nav li span {
        display: block;
        padding: 15px 5px;
        color: #fff;
        font-size: 1.4rem;
    }

    #sp_g_nav .sp_nav li span {
        position: relative;
    }

    #sp_g_nav .sp_nav li.li_arrow>span:before {
        content: '';
        position: absolute;
        right: 15px;
        top: 38%;
        transition: all 0.2s ease-in-out;
        display: block;
        width: 8px;
        height: 8px;
        border-top: solid 2px #fff;
        border-right: solid 2px #fff;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    #sp_g_nav .sp_nav li.li_arrow.open span:before {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: 45%;
    }

    .sp_nav div {
        display: flex;
        justify-content: center;
        background-color: #e6e6e6;
        opacity: 0.9;
        width: 100%;
    }

    .sp_nav span.txt_en {
        display: none;
    }

    #sp_g_nav .sp_nav li>.drop_btn {
        position: absolute;
        right: 10px;
        top: 10px;
        background: #636363;
        height: 30px;
        width: 30px;
        padding: 0;
    }

    #sp_g_nav .sp_nav li>.drop_btn:before {
        content: "＋";
        left: 8px;
        top: 2px;
        position: absolute;
        color: #fff;
        font-weight: bold;
    }

    #sp_g_nav .sp_nav li>.drop_btn.open:before {
        content: "−";
        left: 11px;
    }

}

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


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

/*トップ*/
.top-mv{
    position: relative;
}
.top-mv-txt{
    width: 100%;
    max-width: 678px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index:1;
}
.top-mv-slider_sp{
    margin-top: 60px;
}
@media screen and (min-width: 767px){
    .top-mv-slider_pc{
        display: block;
    }
    .top-mv-slider_sp{
        display: none;
    }
}
@media screen and (max-width: 768px){
.top-mv{
    margin-top:66px;
}
    .top-mv-slider_pc{
        display: none;
    }
    .top-mv-slider_sp{
        display: block;
    }
}


.top_main {
    background: url(images/mainimage.png) no-repeat center bottom;
    background-size: 100% auto;
    height: 100vh;
    position: relative;
}


.top_main .main_catch1 {
    max-width: 690px;
    position: absolute;
    top: 53%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
    z-index: 1;
    /*
    font-size: 5.8rem;
    font-weight: bold;
    color: #1a1311;
    z-index: 1;
    letter-spacing: 0.05em;
    text-shadow: #fff 0 0 10px, #fff 0 0 10px, #fff 0 0 10px, #fff 0 0 10px, #fff 0 0 10px, #fff 0 0 10px, #fff 0 0 10px, #fff 0 0 10px;*/
}

.clearfix {
    overflow: hidden;
}

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

.flex.img_r {
    flex-flow: row-reverse;
}

.flex.column2>div,
.flex.column2>li {
    flex-basis: 48%;
    flex-wrap: wrap;
}

.flex.column3>div,
.flex.column3>li {
    flex-basis: 32%;
    flex-wrap: wrap;
}

.flex.column4>div,
.flex.column4>li {
    flex-basis: 22%;
    flex-wrap: wrap;
}

.sp {
    display: none !important;
}


/*トップ-コンテンツ*/

.contents_box {
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    max-width: 1250px;
    width: calc(100% - 40px);
}

#top_txt {
    text-align: center;
    padding: 200px 0 450px;
    background: url(images/top_bg1.webp) no-repeat top 150px left 15%, url(images/top_bg2.webp) no-repeat top 40px right 15%, url(images/c_bg.png) no-repeat center bottom;
    background-size: 414px auto, 417px auto, 100% auto;
    position: relative;
    /* overflow: hidden; */
}

#top_txt .img {
    margin: 0 auto 40px;
    display: block;
    max-width: 320px;
}

#top_txt .main_txt {
    font-size: 2.5rem;
    line-height: 2em;
    color: #1a1311;
    font-weight: bold;
    margin-bottom: 40px;
}

h2 {
    font-size: 4.4rem;
    font-weight: 600;
    color: #1a1311;
    text-align: center;
    margin: 0 auto 40px;
    line-height: 0.8;
    position: relative;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    font-style: italic;
    letter-spacing: 0.05em;
}

h2 span {
    font-size: 1.6rem;
    color: #e63084;
    letter-spacing: 0.2em;
    font-style: normal;
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}

#contents1 {
    background: #fdecf3;
    padding: 130px 0 90px;
}

#contents1 .contents_box {
    margin-top: -330px;
}

#contents1 .column3 {
    max-width: 1200px;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0 auto;
}

#contents1 .column3 li {
    flex-basis: 48%;
    margin-bottom: 40px;
}

#contents1 .column3 li:nth-child(2n) {
    margin-left: 4%;
}

#contents1 .column3 li:last-child {
    margin-bottom: 0;
}

#contents1 .img img {
    display: block;
    margin-bottom: 15px;
}

#contents1 .Products_title {
    display: flex;
    align-items: center;
    margin-top: 15px;
    position: relative;
}

#contents1 .Products_title img {
    max-width: 187px;
    margin-right: 15px;
    width: 32.465277%;
}

#contents1 ul li:nth-child(2) .Products_title img {
    max-width: 188px;
    width: 32.638888%;
}

#contents1 ul li:nth-child(3) .Products_title img {
    max-width: 106px;
    width: 18.402777%;
}

#contents1 ul li:nth-child(4) .Products_title img {
    max-width: 202px;
    width: 35.069444%;
}

#contents1 ul li:nth-child(5) .Products_title img {
    max-width: 118px;
    width: 20.486111%;
}

#contents1 .Products_title span {
    font-size: 1.2rem;
    color: #e63084;
    letter-spacing: 0.3em;
}

#contents1 .link_icon {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: #e63084;
    border-radius: 50%;
    display: block;
}

#contents1 .link_icon::before {
    content: "";
    position: absolute;
    background: url(images/arrow_icon.png) no-repeat center center;
    width: 15px;
    height: 15px;
    background-size: 100% auto;
    top: 50%;
    right: 13px;
    transform: translateY(-50%);
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    z-index: 1;
}

#contents1 .txt {
    font-size: 1.4rem;
    line-height: 1.8;
    margin-top: 10px;
    color: #1a1311;
}

#contents1 .column3 li a {
    display: block;
    color: inherit;
    text-decoration: none;
    height: 100%;
}

#contents1 .column3 li a:hover {
    opacity: 0.9;
}

#contents1 .column3 li a {
    cursor: pointer;
}

#contents2 {
    padding: 80px 0;
}

.news_box {
    max-width: 750px;
    margin: 0 auto;
}

.news {
    margin: 0 auto 40px;
}

.news li {
    border-bottom: 1px dotted #1a1311;
    margin: 0 auto;
    padding: 30px 0;
    display: flex;
    font-size: 1.6rem;
    -webkit-box-align: start;
    align-items: flex-start;
}

.news li:last-child {
    border-bottom: none;
}

.news li .day {
    color: #e63084;
    padding-right: 15px;
    font-weight: bold;
    font-size: 1.6rem;
    white-space: nowrap;
}

.news li .cat {
    border-radius: 20px;
    border: solid 1px #e63084;
    padding: 5px 6px;
    box-sizing: border-box;
    color: #e63084;
    font-size: 1.3rem;
    margin-right: 15px;
    text-align: center;
    font-weight: bold;
    line-height: 1.8;
    white-space: nowrap;
    line-height: 1;
    width: 110px;
}

.news li .cat:hover {
    background: #e63084;
    color: #fff;
}

.news li a:hover {
    color: #e63084;
}


#contents3 {
    background: #fdecf3;
    padding: 55px 0;
    box-sizing: border-box;
}

#contents3 .flex {
    margin: 0 auto;
}

#contents3 .flex>div {
    flex-basis: 50%;
    text-align: center;
    box-sizing: border-box;
}

#contents3 .flex>div:first-child {
    border-right: solid 1px #e63084;
    padding-right: 20px;
}

#contents3 .flex>div:last-child {
    padding-left: 20px;
}

#contents3 h2 {
    margin-bottom: 20px;
}

#contents3 h2+p {
    font-size: 1.6rem;
    margin-bottom: 20px;
    color: #1a1311;
}

#contents4 {
    padding: 70px 0 80px;
}

#contents4 .online_bn {
    max-width: 395px;
    margin: 0 auto;
}


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


    .top_main {
        height: 700px;
    }

    #top_txt {
        background: url(images/top_bg1.png) no-repeat top 210px left 3%, url(images/top_bg2.png) no-repeat top 90px right 3%, url(images/c_bg.png) no-repeat center bottom;
        background-size: 360px auto, 350px auto, 100% auto;
    }

    #contents1 .contents_box {
        margin-top: -200px;
    }


}


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

    #top_txt .main_txt {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 900px) {
    .top_main {
        height: 500px;
    }

    #top_txt {
        padding: 130px 0 380px;
        background: url(images/top_bg1.png) no-repeat top 270px left 0%, url(images/top_bg2.png) no-repeat top 150px right 1%, url(images/c_bg.png) no-repeat center bottom;
        background-size: 240px auto, 240px auto, 100% auto;
    }
}


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


    body p {
        font-size: inherit;
    }

    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }

    .flex {
        display: block;
        justify-content: space-between;
        max-width: 480px;
        margin: 0 auto;
    }

    .flex.column2>div,
    .flex.column2>li {
        margin: 0 auto 20px;
    }

    .flex.column3>div,
    .flex.column3>li {
        margin: 0 auto 30px;
    }

    .flex.column3>div img,
    .flex.column3>li img {
        margin: 0 auto;
        display: block;
    }

    h2 {
        font-size: 4rem;
    }

    .top_main {
        position: relative;
        height: calc(100svh - 60px);
        margin-top: 60px;
        overflow: hidden;
    }

    .top_main .main_bg {
        position: absolute;
        inset: 0;
        margin: 0;
    }

    .top_main .main_bg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }


    .top_main .main_catch1 {
        max-width: none;
        width: 80%;
    }

    #top_txt {
        padding: 40px 0 120px;
        background: url(images/top_bg1.png) no-repeat top 200px left 20%, url(images/top_bg2.png) no-repeat top 135px right 20%, url(images/c_bg.png) no-repeat center bottom;
        background-size: 160px auto, 160px auto, 100% auto;
    }

    #top_txt .main_txt {
        font-size: 1.4rem;
        margin-bottom: 90px;
    }

    #top_txt .img {
        margin: 0 auto 30px;
        display: block;
        max-width: 200px;
    }

    #contents1 {
        padding: 120px 0 60px;
    }

    #contents1 .contents_box {
        margin-top: -100px;
    }

    #contents1 .column3 {
        display: block;
    }

    #contents1 .link_icon {
        width: 34px;
        height: 34px;
    }

    #contents1 .link_icon::before {
        background: url(images/arrow_icon.png) no-repeat center center;
        width: 13px;
        height: 13px;
        background-size: 100% auto;
        right: 10px;
    }

    #contents1 .txt {
        margin-top: 15px;
    }


    #contents1 .Products_title img {
        margin: 0 15px 0 0;
    }

    #contents1 .column3 li:nth-child(2n) {
        margin-left: 0%;
    }

    #contents2 {
        padding: 50px 0;
    }

    .news {
        margin: 0 auto 10px;
    }

    .news li {
        display: flex;
        line-height: 1.8;
        flex-wrap: wrap;
        padding: 15px 0;
    }

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

    .news li .day {
        margin-bottom: 0;
        font-size: 1.4rem;
        padding-right: 15px;
    }

    .news li .cat {
        font-size: 1.2rem;
        margin-right: 5px;
        display: inline-block;
    }

    .news li a.ttl {
        width: 100%;
        margin-top: 8px;
    }


    #contents3 .flex>div:first-child {
        border-right: none;
        border-bottom: solid 1px #e63084;
        padding: 0 0 30px;
        margin-bottom: 30px;
    }

    #contents3 .flex>div:last-child {
        padding-left: 0;
    }

    #contents3 {
        padding: 40px 0;
    }

    #contents4 {
        padding: 50px 0;
    }

}

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

    #top_txt {
        background: url(images/top_bg1.png) no-repeat top 232px left 4%, url(images/top_bg2.png) no-repeat top 197px right 4%, url(images/c_bg.png) no-repeat center bottom;
        background-size: 83px auto, 87px auto, 100% auto;
    }

    #top_txt .main_txt {
        margin-bottom: 40px;
    }

    #contents1 .contents_box {
        margin-top: -110px;
    }

    #contents1 .Products_title span {
        letter-spacing: 0.2em;
    }


}



/*フッター*/
footer {
    background: #e63084;
    color: #fff;
    padding: 25px 20px 20px;
    border-radius: 20px 20px 0 0;
    box-sizing: border-box;
    margin: 0 20px;
}

footer .contents_box {
    max-width: 1500px;
    width: 100%;
    padding: 0;
}

footer a {
    color: #fff;
}

footer a:hover {
    color: #fff;
    opacity: 0.8;
}


.footer_logo {
    margin-bottom: 12px;
    max-width: 300px;
}

.footer_left {
    flex-basis: 30%;
}

.footer_left p {
    /*margin-bottom: 10px;*/
}

.footer_nav {
    flex-basis: 70%;
}

.footer_nav .flex {
    justify-content: flex-end;
}

.footer_nav .flex>div {
    margin-right: 30px;
}



.footer_nav .flex>div:last-child {
    margin-right: 0;
}

.footer_nav .ttl {
    margin-bottom: 10px;
    font-size: 1.5rem;
    font-weight: bold;
}

.footer_nav .nav_box ul {
    border-left: 1px solid #fff;
    padding: 0 0 0 15px;
    box-sizing: border-box;
    margin-bottom: 0;
    font-size: 1.3rem;
    line-height: 1;
}

.footer_nav .nav_box ul li {
    margin-bottom: 8px;
}

.footer_nav .nav_box ul li.sub {
    position: relative;
    padding-left: 30px;
    box-sizing: border-box;
}

.footer_nav .nav_box ul li.sub:before {
    content: "";
    position: absolute;
    width: 5px;
    height: 1px;
    background: #fff;
    left: 16px;
    top: 11px;
}

footer .footer_bn {
    align-items: center;
    max-width: 580px;
    margin: 0 auto;
    justify-content: space-between;
}

footer .footer_bn li {
    width: 49%;
}

footer .copy p {
    font-size: 1.2rem;
    color: #fff;
    margin-bottom: 0;
}

.footer_nav_bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 65px;
}

.footer_nav_bottom li {
    border-right: 1px solid #fff;
}

.footer_nav_bottom li:last-child {
    border-right: none;
}

.footer_nav_bottom li a {
    padding: 0 25px;
}

.sptoggle {
    display: none;
}

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

    .footer_nav .flex>div:nth-child(2) {
        width: 15%;
    }
}

@media screen and (max-width: 1200px) {
    .footer_nav .ttl {
        font-size: 1.3rem;
    }

    .footer_left {
        flex-basis: 30%;
    }

    .footer_nav {
        flex-basis: 78%;
    }

    .footer_nav .flex>div {
        margin-right: 10px;
    }


}

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


    .footer_logo {
        max-width: 200px;
        margin-bottom: 10px;
    }

    footer p {
        font-size: 1.2rem;
    }

    .footer_nav .nav_box ul li {
        font-size: 1.2rem;
    }

    .footer_left {
        margin-bottom: 15px;
    }

    .footer_left p {
        margin-bottom: 0px;
    }

    .footer_nav .nav_box ul {
        padding: 0 0 0 10px;
    }
}

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

    footer {
        margin: 0;
    }

    footer .footer_box .contents_box {
        display: flex;
        flex-direction: column-reverse;
    }

    .footer_txt {
        max-width: 100%;
        padding: 0;
        box-sizing: border-box;
        text-align: center;
    }

    .footer_left {
        margin-top: 15px;
        margin-bottom: 0;
        text-align: center;
    }

    .footer_logo {
        max-width: 200px;
        margin: 0 auto 15px;
    }


    .footer_nav .nav_box ul {
        margin-bottom: 20px;
    }

    footer .footer_bn.flex {
        display: flex;
    }

    .footer_nav_bottom li a {
        padding: 0 5px;
        font-size: 1.1rem;
    }

    .footer_nav_bottom {
        margin-top: 30px;
    }

    .footer_nav .flex {
        max-width: 100%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .footer_nav .flex>div {
        flex-basis: 48%;
        width: auto;
        margin-right: 0;
    }

    .footer_nav .flex>div:last-child {
        margin-right: 0;
        display: flex;
        text-align: center;
        align-items: center;
        width: 100%;
        flex-basis: 100%;
        margin: 0 auto;
        justify-content: center;
        flex-wrap: wrap;
    }

    .footer_nav .flex>div:last-child p.ttl {
        margin-right: 15px;
        margin-bottom: 5px;
        font-size: 1.3rem;
    }

    .footer_nav .flex>div:last-child p.ttl:last-child {
        margin-right: 0;
    }
}

/*下層共通*/

.under_main.under_page {
    padding-top: 100px;
    margin-bottom: 80px;
}

.under_main.under_page p {
    margin-bottom: 50px;
    line-height: 2;
}

.under_main.under_page a {
    color: #e63084;
    font-weight: bold;
}

.under_main.under_page a:hover {
    opacity: 0.8;
}

.bread_crumb {
    margin: 20px auto;
    color: #000;
}

.under_main.under_page .bread_crumb a {
    color: #000;
}

/* 下層パーツ */

#main h2 {
    text-align: center;
    font-size: 2.2rem;
    color: #000000;
    position: relative;
    margin-bottom: 15px;
    letter-spacing: 0.3em;
    padding: 30px 0;
    box-sizing: border-box;
    border-top: 1px solid #e63084;
    border-bottom: 1px solid #e63084;
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    font-style: normal;
    font-weight: bold;
}

#main h3 {
    font-size: 2.2rem;
    color: #000000;
    margin-bottom: 30px;
    padding: 0 0 0 55px;
    margin-bottom: 35px;
    font-weight: bold;
    position: relative;
    /*margin-top: 80px;*/
}

#main h3:before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 30px;
    height: 30px;
    background: #e63084;
    border-radius: 50%;
}

#main h3:after {
    content: "";
    position: absolute;
    left: 10px;
    top: 12px;
    width: 10px;
    height: 10px;
    background: #fff;
    border-radius: 50%;
}

#main h4 {
    font-size: 1.8rem;
    color: #e63084;
    margin-bottom: 10px;
}

.text_box01 {
    background: #f3f3ef;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 10px;
    margin-bottom: 30px;
}

.link_btn {
    margin: 0 auto;
    text-align: center;
    max-width: 250px;
}

.link_btn a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 50px 16px 20px;
    background: #fff;
    border: 2px solid #e63084;
    border-radius: 9999px;
    color: #e63084;
    font-size: 1.6rem;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.4;
    box-sizing: border-box;
    transition: all 0.3s ease;
    letter-spacing: 0.3em;
}

/* 右の丸 */
.link_btn a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 7px;
    transform: translateY(-50%);
    width: 43px;
    height: 43px;
    background: #e63084;
    border-radius: 50%;
    transition: all 0.3s ease;
}

/* 矢印 */
.link_btn a::after {
    content: "";
    position: absolute;
    background: url(images/arrow_icon.png) no-repeat center center;
    width: 15px;
    height: 15px;
    background-size: 100% auto;
    top: 50%;
    right: 21px;
    transform: translateY(-50%);
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    z-index: 1;
}

/* hover */
.link_btn a:hover {
    background: #e63084;
    color: #fff;
    opacity: 1;
}

.link_btn a:hover::before {
    background: #fff;
}

.link_btn a:hover::after {
    background: url(images/arrow_icon_hover.png) no-repeat center center;
    width: 15px;
    height: 15px;
    background-size: 100% auto;
}

.link_btn.link_btn2 {
    max-width: 325px;

}

.link_btn.link_btn2 a {
    color: #fff;
    background: #e63084;
    box-sizing: border-box;
}

.link_btn.link_btn2 a:hover {
    background: #fff;
    color: #e63084;
    border: 2px solid #e63084;
}

ul.ul01 {
    margin-bottom: 5px;
}

ul.ul01 li {
    padding: 0 0 5px 15px;
    position: relative;
}

ul.ul01 li:before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    box-sizing: border-box;
    background: #e63084;
    left: 0;
    top: 7px;
    border-radius: 50%;
}

ul.ul02 {
    margin-bottom: 5px;
}

ul.ul02 li {
    padding: 0 0 5px 10px;
    position: relative;
}

ul.ul02 li:before {
    position: absolute;
    content: "";
    width: 3px;
    height: 3px;
    box-sizing: border-box;
    background: #1a1311;
    left: 0;
    top: 10px;
    border-radius: 50%;
}


table.table1 {
    width: 100%;
    margin-bottom: 20px;
    max-width: 1200px;
    margin: 0 auto 40px;
}

table.table1 th {
    width: 25%;
    color: #000;
    border-bottom: dotted 1px #1a1311;
    padding: 20px 10px;
    text-align: left;
    font-size: 1.6rem;
}

table.table1 td {
    border-bottom: dotted 1px #1a1311;
    text-align: left;
    padding: 20px 10px;
    vertical-align: middle;
    color: #000;
    font-size: 1.6rem;
}

.under_contents span[id]:not([href]) {
    margin-top: -100px;
    padding-top: 100px;
    display: inline-block;
    vertical-align: top;
    width: 0;
    height: 0;
}

.center {
    text-align: center;
}

.bold {
    font-weight: bold;
}

.mt0 {
    margin-top: 0 !important;
}

.mb0 {
    margin-bottom: 0 !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.mb70 {
    margin-bottom: 70px !important;
}

.mb80 {
    margin-bottom: 80px !important;
}

.mb90 {
    margin-bottom: 90px !important;
}

.mb100 {
    margin-bottom: 100px !important;
}

.googlemap {
    position: relative;
    width: 100%;
    padding-top: 40%;
    height: 0;
    margin-bottom: 40px;
}

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



/*フェードイン*/
.fadein,
.time-fadein,
.time-fadein2,
.top-fadein,
.interview-fadein {
    opacity: 0;
    transform: translate(0, 40px);
    transition: all 800ms;
}

.second_txt.fadein {
    transition-delay: 1s;
}

.fadein.scrollin,
.time-fadein.scrollin,
.time-fadein2.scrollin,
.top-fadein.scrollin,
.interview-fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

.fadein.fadein_l,
.time-fadein.fadein_l {
    transform: translate(-50px, 0);
    transition: all 800ms;
    opacity: 0;
}

.fadein.fadein_l.scrollin,
.time-fadein.fadein_l.scrollin {
    transform: translate(0, 0);
    opacity: 1;
}

.fadein.fadein_r.fadein,
.time-fadein.fadein_r.fadein {
    transform: translate(50px, 0);
    transition: all 800ms;
    opacity: 0;
}

.fadein.fadein_r.scrollin,
.time-fadein.fadein_r.scrollin {
    transform: translate(0, 0);
    opacity: 1;
}




/* ページTOPに戻る */
.pagetop {
    display: none;
    position: fixed;
    right: 15px;
    bottom: 420px;
    z-index: 10;
}


.pagetop a {
    display: block;
}


@media screen and (max-width:1100px) {
    .under_contents span[id]:not([href]) {
        margin-top: -60px;
        padding-top: 60px;
    }


}

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


    .under_main.under_page {
        padding-top: 60px;
        margin-bottom: 50px;
    }

    .pagetop {
        bottom: 30px;
    }

    #main h2 {
        font-size: 2rem;
    }

    .bread_crumb {
        font-size: 1.2rem;
    }

    #main h3 {
        font-size: 2rem;
        margin-bottom: 25px;
        padding: 0 0 0 45px;
        margin-top: 0;
    }

    #main h4 {
        font-size: 1.6rem;
    }

    table.table1 {
        display: block;
        width: 100%;
    }
	table.table1 {
        display: block;
        width: 100%;
    margin: 20px auto 10px;
}

    table.table1 th,
    table.table1 td {
        width: 100%;
        font-size: 1.4rem;
        display: block;
        padding: 0 0 5px;
        border-bottom: none;
    }

    table.table1 td {
        padding-bottom: 20px;
    }


    .link_btn {
        max-width: 230px;
    }

    .link_btn a {
        font-size: 1.4rem;
        letter-spacing: 0.2em;
        padding: 13px 50px 13px 20px;
    }

    .link_btn a::before {
        right: 5px;
        width: 40px;
        height: 40px;
    }

    .link_btn a::after {
        right: 18px;
    }

    .link_btn.link_btn2 {
        max-width: 280px;
    }



}

.under_contents .contents_box {
    max-width: 1250px;
    width: calc(100% - 40px);
}


/* ダウンロードページ */

#main h3.dl_h3,
.main-brand h3.dl_h3 {
    max-width: 834px;
    margin: 0 auto 15px;
    border-bottom: none;
    display: flex;
    align-items: center;
    padding: 0;

}

#main h3.dl_h3::before,
.main-brand h3.dl_h3:before,
#main h3.dl_h3::after,
.main-brand h3.dl_h3:after {
    display: none;
}

#main h3.dl_h3 img,
.main-brand h3.dl_h3 img {
    max-width: 187px;
    margin-right: 15px;
}

#main h3.dl_h3.mira img,
.main-brand h3.dl_h3.mira img {
    max-width: 96px;
}

#main h3.dl_h3.silica img,
.main-brand h3.dl_h3.silica img {
    max-width: 120px;
}

#main h3.dl_h3 span {
    font-size: 1.2rem;
    color: #e63084;
    letter-spacing: 0.3em;
}

.main-brand h3.dl_h3 span {
    font-size: 1.2rem;
    color: #223e5d;
    letter-spacing: 0.3em;
}

.search_box {
    max-width: 980px;
    margin: 0 auto;
}

.search_box form {
    display: flex;
    border: 1px solid #b5b5b6;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    height: 55px;
    margin-bottom: 40px;
}

.search_box input[type="text"] {
    width: 100%;
    border: none;
    padding: 15px;
    font-size: 1.6rem;
    color: #1a1311;
    outline: none;
    background: transparent;
}

.search_box input[type="text"]::placeholder {
    color: #bdbdbd;
}

.search_box button {
    width: 90px;
    border: none;
    background: #e63084;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: 0.3s;
    color: #fff;
    flex-shrink: 0;
}

.search_box button:hover {
    opacity: 0.8;
}

.search_box button svg {
    display: block;
}

.dl_wrap {
    max-width: 834px;
    margin: 0 auto 50px;
    padding: 0;
    list-style: none;
}

.dl_wrap * {
    box-sizing: border-box;
}

.dl_parents {
    margin-bottom: 16px;
    list-style: none;
}

.dl_parents>span {
    position: relative;
    display: block;
    background: #efefef;
    border-radius: 40px;
    padding: 10px 60px 10px 30px;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
    transition: 0.3s;
    font-weight: bold;
    line-height: 1.6;
}

.dl_parents>span:hover {
    opacity: 0.8;
}

/* ＋ */
.dl_parents>span::before,
.dl_parents>span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 34px;
    background: #e63287;
    transform: translateY(-50%);
    transition: 0.3s;
}

.dl_parents>span::before {
    width: 18px;
    height: 3px;
    right: 26px;
}

.dl_parents>span::after {
    width: 3px;
    height: 18px;
}

/* 開いた時 */
.dl_parents.active>span::after {
    opacity: 0;
}

/* ドロップダウン */
.dl_dropdown {
    display: none;
    padding: 0;
    margin: 0;
    list-style: none;
    background: #fff;
}

.dl_dropdown.dl_dropdown__others{
    display: block;
    width: 100%;
    max-width: 834px;
    margin: 0 auto;
}

/* 商品1件 */
.dl_dropdown>li {
    border-bottom: 1px dotted #223e5d;
    padding: 10px 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
}

/* 横並び */
.dl_left {
    display: flex;
    align-items: center;
}

/* 画像 */
.dl_img {
    width: 80px;
    flex-shrink: 0;
    margin-right: 20px;
    margin-bottom: 0 !important;
}

.dl_img img {
    width: 100%;
    display: block;
    object-fit: cover;
    height: 80px;
}

.dl_ttl {
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 0 !important;
    padding-right: 20px;

}

/* 右アイコン */
.dl_right {
    display: flex;
    align-items: flex-start;
    padding: 0;
    margin: 0;
    list-style: none;
    flex-shrink: 0;
    max-width: 235px;
}

.dl_right li {
    list-style: none;
    margin-right: 15px;
}

.dl_right li:last-child {
    margin-right: 0;
}

.dl_right a,
.dl_right span {
    display: block;
    transition: 0.3s;
    cursor: pointer;
}

.dl_right a:hover,
.dl_right span:hover {
    opacity: 0.7;
}

.dl_right img {
    display: block;
}

.under_contents.search {
    min-height: 600px;
}


/* DL 動画用モーダル */

/* モーダル本体 + 背景 */
.modal-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 50%);

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 40px 20px;
    overflow-y: auto;

    opacity: 0;
    visibility: hidden;
    transition: .3s;
    box-sizing: border-box;
    z-index: 9999;
}

/* 表示時 */
.modal-container.active {
    opacity: 1;
    visibility: visible;
}

/* モーダル枠 */
.modal-body {
    position: relative;
    width: 100%;
    max-width: 400px;
}

/* 閉じる */
.modal-close {
    position: absolute;
    top: -40px;
    right: -5px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    line-height: 1;
    color: #fff;
    cursor: pointer;
}

.modal-content {
    background: #fff;
    padding: 20px;
    box-sizing: border-box;
}

/* 動画 */
.modal-video {
    max-width: 400px;
    /* 最大の横幅 */
    margin: auto;
    /* 画面の中央に配置 */
}

.modal-video iframe {
    aspect-ratio: 9 / 16;
    width: 100%;
    height: 100%;
}


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

    .modal-body {
        position: relative;
        width: 100%;
        max-width: 350px;
    }

    .modal-container {
        padding: 20px 15px;
    }

    .modal-content {
        padding: 15px;
    }

    .modal-close {
        top: 0px;
        right: -35px;
        width: 30px;
        height: 30px;
        font-size: 30px;
    }
}

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


    .search_box form {
        height: 40px;
    }

    .dl_parents>span {
        padding: 10px 40px 10px 15px;
        font-size: 1.4rem;
    }

    .dl_dropdown>li {
        display: block;
    }

    .dl_img {
        width: 60px;
        flex-shrink: 0;
        margin-right: 10px;
    }

    .dl_img img {
        height: 60px;
    }

    .dl_ttl {
        font-size: 1.4rem;
        padding-right: 0;
    }

    .dl_right {
        margin: 10px auto;
        max-width: 200px;
    }

    .dl_parents>span::before {
        right: 15px;
    }

    .dl_parents>span::after {
        right: 23px;
    }



}

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

    .modal-body {
        max-width: 250px;
    }

}

/* Apollo Japanとは */

.about {
    font-weight: bold;
}

.about1 .img {
    max-width: 250px;
    margin: 0 auto 40px;
}


.under_main.under_page .about1 .main_txt {
    font-size: 2.5rem;
    line-height: 1.8em;
    color: #1a1311;
    font-weight: bold;
    margin-bottom: 80px;
    text-align: center;
}

.about1 p,
.about2 p,
.about3 p,
.about4 p {
    font-size: 1.8rem;
}

.under_main.under_page .about5 p {
    font-size: 1.6rem;
    margin-bottom: 30px;
    font-weight: normal;
}

.under_main.under_page .about2 .img_center {
    display: block;
    margin: 0 auto 50px;
    max-width: 787px;
}

.under_main.under_page .about2 .link_btn {
    margin-bottom: 80px;
}

.under_main.under_page .about3 .img_center {
    display: block;
    margin: 0 auto 80px;
    max-width: 947px;
}

@media screen and (max-width: 768px) {
    .under_main.under_page .about1 .main_txt {
        font-size: 1.8rem;
        margin-bottom: 40px;
    }

    .about1 p,
    .about2 p,
    .about3 p,
    .about4 p {
        font-size: 1.6rem;
    }

    .about4 p.mb80 {
        margin-bottom: 40px !important;
    }

    .under_main.under_page .about2 .img_center {
        margin: 0 auto 40px;
    }

    .under_main.under_page .about2 .link_btn {
        margin-bottom: 40px;
    }

    .under_main.under_page .about5 p {
        font-size: 1.4rem;
    }

    .under_main.under_page .about3 .img_center {
        margin: 0 auto 40px;
    }
}

/* 会社情報 */

.corporate_table1 {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.6rem;
    max-width: 1000px;
    margin: 0 auto 65px;
}

.corporate_table1 th,
.corporate_table1 td {
    padding: 8px 0;
    vertical-align: middle;
}

.corporate_table1 th {
    width: 20%;
    text-align: left;
    white-space: nowrap;
    position: relative;
    padding-right: 40px;
    border-right: 1px solid #e63084;
    border-top: 40px solid #fff;
    border-bottom: 40px solid #fff;
    font-weight: bold;
    vertical-align: top;
}

.corporate_table1 td {
    padding-left: 45px;
    border-top: 40px solid #fff;
    border-bottom: 40px solid #fff;
}

.corporate2 {
    background: #efefef;
    padding: 70px 0;
}

.corporate_table2 {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.6rem;
    max-width: 760px;
    margin: 0 auto;
}

.corporate_table2 th,
.corporate_table2 td {
    padding: 10px 0;
    vertical-align: middle;
}

.corporate_table2 th {
    width: 20%;
    color: #e63084;
    text-align: left;
    white-space: nowrap;
    position: relative;
    padding-right: 40px;
    border-right: 1px dotted #1a1311;
    font-weight: bold;
}

.corporate_table2 td {
    padding-left: 40px;
}

.corporate3 {
    padding-top: 50px;
}

.corporate3 p {
    font-size: 1.6rem;
}


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

    .corporate_table1 {
        font-size: 1.4rem;
        margin: 0 auto;
        display: block;
    }

    .corporate_table1 tr {
        display: block;
        width: 100%;
    }

    .corporate_table1 th,
    .corporate_table1 td {
        width: 100%;
        border: none;
        display: block;
        padding: 0 0 5px 0;
    }

    .corporate_table1 td {
        padding-bottom: 20px;
    }

    .corporate2 {
        padding: 40px 0;
    }

    .corporate_table2 {
        font-size: 1.4rem;
        margin: 0 auto;
        display: block;
    }

    .corporate_table2 tr {
        display: block;
        width: 100%;
    }

    .corporate_table2 th,
    .corporate_table2 td {
        width: 100%;
        border: none;
        display: block;
        padding: 0 0 5px 0;
    }

    .corporate_table2 td {
        padding-bottom: 20px;
    }

    .googlemap {
        padding-top: 60%;
        margin-bottom: 10px;
    }

    .corporate3 {
        padding-top: 40px;
    }

    .corporate3 p.center {
        text-align: left;
        margin-bottom: 0;
    }

}


/* 採用情報 */

#main .recruit h3 {
    margin-top: 0;
}

#main .recruit h4 {
    background: #fdecf3;
    padding: 5px 15px;
    color: #e63084;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.25;
}

.recruit .link_btn {
    margin-bottom: 50px;
}

ul.btn_list {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0 auto 50px;
}

ul.btn_list li {
    max-width: 300px;
    padding-right: 50px;
    width: 100%;
    text-align: center;
}

ul.btn_list li:last-child {
    padding-right: 0;
}

ul.btn_list li a {
    display: block;
    font-size: 2rem;
    color: #e63084;
    border: 1px solid #e63084;
    padding: 20px 10px;
    box-sizing: border-box;
    border-radius: 10px;
    letter-spacing: 0.3em;
    font-weight: bold;
}

ul.btn_list li a:hover {
    background: #e63084;
    color: #fff;
    opacity: 1;
}


@media screen and (max-width: 768px) {
	#main .recruit h4 {
    padding: 4px 10px;
    font-size: 15px;
}
	
    ul.btn_list {
        display: block;
        margin-bottom: 20px;
    }

    ul.btn_list li {
        max-width: 300px;
        width: 100%;
        text-align: center;
        margin: 0 auto 15px;
        padding: 0;
    }

    ul.btn_list li a {
        font-size: 1.6rem;
        padding: 15px 10px;
    }


}

/* お知らせ */

.under_main.under_page .news li a {
    color: #1a1311;
}

.under_main.under_page .news li a:hover {
    color: #e63084;
}

.under_main.under_page .news li a.cat {
    color: #e63084;
}

.under_main.under_page .news li a.cat:hover {
    color: #fff;
}

.under_main.under_page .news_box {
    max-width: 1200px;
}

.single_content {
    max-width: 1250px;
    margin: 0 auto;
    box-sizing: border-box;
    width: calc(100% - 40px);
}

.under_main.under_page .single_news_ttl p {
    margin-bottom: 20px;
}

.single_news_ttl .day {
    color: #e63084;
    padding-right: 15px;
    font-weight: bold;
    font-size: 1.6rem;
}

.single_news_ttl .cat a {
    border-radius: 20px;
    border: solid 1px #e63084;
    padding: 0px 5px;
    box-sizing: border-box;
    color: #e63084;
    font-size: 1.4rem;
    margin-right: 15px;
    width: 115px;
    text-align: center;
    font-weight: bold;
    display: inline-block;
}

.single_news_ttl .cat a:hover {
    background: #e63084;
    color: #fff;
}

.single_news_ttl .flex {
    display: flex;
    justify-content: flex-start;
}

#main .single_news_ttl h3 {
    padding: 0 0 30px 0;
    font-size: 2rem;
    border-bottom: 1px dotted #1a1311;
    margin-bottom: 50px;
    margin-top: 0;
}

#main .single_news_ttl h3:before,
#main .single_news_ttl h3:after {
    display: none;
}

.single_body {
    font-size: 1.6rem;
    line-height: 1.8;
}

.single_navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 85px;
    position: relative;
}

.single_navigation .nav_archive {
    max-width: 250px;
    width: 100%;
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -125px;
    top: 50%;
    margin-top: -30px;
}

.single_navigation .nav_archive a {
    display: block;
    padding: 15px 20px;
    border-radius: 30px;
    border: 2px solid #e63084;
    color: #e63084;
    text-decoration: none;
    width: 100%;
    text-align: center;
    font-weight: bold;
    font-size: 1.6rem;
    letter-spacing: 0.3em;
    max-width: 250px;
    box-sizing: border-box;
}

.single_navigation .nav_archive a:hover {
    background: #e63084;
    color: #fff;
    opacity: 1;
}

.single_navigation .nav_prev a,
.single_navigation .nav_next a {
    display: inline-block;
    position: relative;
    color: #e63084;
    font-size: 1.6rem;
    letter-spacing: 0.3em;
    padding: 0 70px 0 0;
    font-weight: bold;
}

.single_navigation .nav_prev a:hover,
.single_navigation .nav_next a:hover {
    opacity: 0.8;
}

.single_navigation .nav_prev a {
    padding: 0 0 0 70px;
}

.single_navigation .nav_prev a:before,
.single_navigation .nav_next a:before {
    content: "";
    position: absolute;
    background: url(images/arrow_icon.png) no-repeat center center;
    width: 15px;
    height: 15px;
    background-size: 100% auto;
    top: 50%;
    right: 13px;
    transform: translateY(-50%);
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    z-index: 1;
}

.single_navigation .nav_prev a:after,
.single_navigation .nav_next a:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: #e63084;
    border-radius: 50%;
    display: block;

}

.single_navigation .nav_prev a:before {
    background: url(images/arrow_icon2.png) no-repeat center center;
    background-size: 100% auto;
    left: 13px;
}

.single_navigation .nav_prev a:after {
    left: 0;

}

.single_navigation .nav_prev a:hover:after,
.single_navigation .nav_next a:hover:after {
    opacity: 0.8;

}

.under_main.under_page .single_content p {
    font-size: 1.6rem;
}


.pagination {
    margin-top: 50px;
    text-align: center;
}

.pagination li .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 4px;
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    border: 1px solid #ddd;
    border-radius: 50px;
    background: #fff;
    color: #e63084;
    font-size: 1.4rem;
    text-decoration: none;
    transition: 0.3s;
    box-sizing: border-box;
}

.pagination li .page-numbers:hover {
    background: #e63084;
    color: #fff;
    border-color: #e63084;
}

.pagination li .page-numbers.current {
    background: #e63084;
    color: #fff;
    border-color: #e63084;
    pointer-events: none;
}

.pagination ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.pagination li {
    list-style: none;
}

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

    .single_body {
        font-size: 1.4rem;
    }

    #main .single_news_ttl h3 {
        padding: 0 0 20px 0;
        margin-bottom: 30px;
        font-size: 1.8rem;
    }

    .pagination {
        margin-top: 40px;
    }

    .pagination .page-numbers {
        min-width: 38px;
        height: 38px;
        font-size: 1.3rem;
        padding: 0 10px;
    }

    .single_navigation {
        margin-top: 50px;
    }

    .single_navigation.sp .flex {
        display: flex;
        max-width: 100%;
        margin-bottom: 40px;
    }

    .single_navigation .nav_archive {
        max-width: 200px;
        margin: 0 auto;
        right: auto;
        top: auto;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }

    .single_navigation .nav_archive a {
        width: auto;
        font-size: 1.4rem;
        padding: 9px 20px;
    }

    .single_navigation .nav_prev a,
    .single_navigation .nav_next a {
        padding: 0 55px 0 0;
        display: block;
    }

    .single_navigation .nav_prev a span,
    .single_navigation .nav_next a span {
        display: none;
    }

    .single_navigation .nav_prev a {
        padding: 0 0 0 55px;
    }

    .under_main.under_page .single_content p {
        font-size: 1.4rem;
    }

    .under_main.under_page .single_news_ttl p {
        margin-bottom: 10px;
    }

    .single_news_ttl .cat a {
        font-size: 1.2rem;
    }


}

/* プライバシーポリシー */

body .privacy p {
    font-size: 1.6rem;
}

#main .privacy h3 {
    font-size: 2rem;
    color: #000000;
    margin-bottom: 20px;
}

.privacy ul.ul01 {
    margin-bottom: 50px;
}

.privacy ul.ul01 li {
    font-size: 1.6rem;
    padding: 0 0 5px 20px;
}

.privacy ul.ul01 li:before {
    width: 13px;
    height: 13px;
    top: 5px;
}
.privacy p.right{
    text-align: right;
}

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

    body .privacy p {
        font-size: 1.4rem;
    }
    .under_main.under_page .privacy p {
    margin-bottom: 40px;
    }
    .privacy ul.ul01 li {
        font-size: 1.4rem;
    }
    .privacy ul.ul01 li:before {
        top: 4px;
    }
    .privacy ul.ul01 {
        margin-bottom: 40px;
    }

}

/* フォーム */
.cf7_form {
    max-width: 900px;
    margin: 0 auto;
}

.cf7_row {
    margin-bottom: 25px;
}

.cf7_label p {
    font-weight: bold;
    margin-bottom: 8px !important;
    font-size: 1.6rem;
}

.required {
    background: #e63084;
    color: #fff;
    font-size: 1.4rem;
    padding: 0px 6px;
    margin-left: 10px;
    font-weight: bold;
    display: inline-block;
}

.cf7_form input,
.cf7_form textarea,
.cf7_form select {
    width: 100%;
    padding: 15px 10px;
    border: 1px solid #898989;
    border-radius: 6px;
    box-sizing: border-box;
    font-size: 1.6rem;
}

.cf7_label+p {
    margin-bottom: 25px !important;
}

.birth_wrap {
    display: flex;
    gap: 10px;
    align-items: center;
}

.birth_wrap p {
    margin-bottom: 0 !important;
}

.cf7_form .wpcf7-radio label {
    display: flex;
}

.cf7_form .wpcf7-radio .wpcf7-list-item {
    margin: 0 20px 0 0;
}

.cf7_form .wpcf7-radio input {
    width: auto;
}

.wpcf7 input[type="file"] {
    border: none;
    padding: 0;
    border-radius: 0;
}

.confirm p {
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

.cf7_submit {
    position: relative;
    display: inline-block;
    margin: 40px auto 0px;
    width: 250px;
    display: flex;
    align-items: center;
}

.cf7_submit #confirmBtn {
    padding: 16px 50px 16px 20px;
    background: #fff;
    border: 2px solid #e63084;
    border-radius: 9999px;
    color: #e63084;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.3s ease;
    letter-spacing: 0.3em;
    width: 250px;
    display: block;
}

.cf7_submit #confirmBtn:hover {
    background: #e63084;
    color: #fff;
    opacity: 1;
}

.cf7_submit:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 7px;
    transform: translateY(-50%);
    width: 43px;
    height: 43px;
    background: #e63084;
    border-radius: 50%;
    pointer-events: none;
}

.cf7_submit:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 21px;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    background: url(images/arrow_icon.png) no-repeat center center;
    background-size: 100% auto;
    pointer-events: none;
    z-index: 1;
}

.cf7_submit:hover::before {
    background: #fff;
}

.cf7_submit:hover::after {
    background: url(images/arrow_icon_hover.png) no-repeat center center;
    width: 15px;
    height: 15px;
    background-size: 100% auto;
}

.cf7_submit p {
    margin-bottom: 0 !important;
}

.wpcf7-spinner {
    display: none !important;
}

input::placeholder {
    color: #898989;
}

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

    .cf7_form input,
    .cf7_form textarea,
    .cf7_form select {
        padding: 10px 5px;
        font-size: 1.4rem;
    }

}

/* 確認画面 */

.confirm_inner {
    max-width: 900px;
    margin: 0 auto;
    width: calc(100% - 40px);
}

.under_main.under_page .confirm_inner p {
    margin-bottom: 20px;
    line-height: 2;
    font-size: 1.6rem;
}

.confirm_btns {
    display: flex;
    max-width: 550px;
    margin: 0 auto;
    justify-content: space-between;
    margin-top: 30px;
}


.confirm_btns #backBtn,
.confirm_btns #sendBtn {
    padding: 16px 15px 16px 20px;
    background: #fff;
    border: 2px solid #e63084;
    border-radius: 9999px;
    color: #e63084;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.3s ease;
    letter-spacing: 0.3em;
    width: 250px;
    display: block;
}

.confirm_btns #sendBtn:hover {
    background: #e63084;
    color: #fff;
    opacity: 1;
}

.confirm_btns #backBtn:hover {
    background: #999;
    color: #fff;
    opacity: 1;
}

.confirm_btns .backbtn_wrap,
.confirm_btns .sendbtn_wrap {
    position: relative;
}

.confirm_btns .backbtn_wrap:before,
.confirm_btns .sendbtn_wrap:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 7px;
    transform: translateY(-50%);
    width: 43px;
    height: 43px;
    background: #e63084;
    border-radius: 50%;
    pointer-events: none;
}

.confirm_btns .backbtn_wrap:after,
.confirm_btns .sendbtn_wrap:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 21px;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    background: url(images/arrow_icon.png) no-repeat center center;
    background-size: 100% auto;
    pointer-events: none;
    z-index: 1;
}

.confirm_btns #backBtn {
    border: 2px solid #999;
    color: #999;
}

.confirm_btns .backbtn_wrap:before {
    background: #999;
    left: 7px;
    right: auto;
}

.confirm_btns .backbtn_wrap:after {
    background: url(images/arrow_icon2.png) no-repeat center center;
    background-size: 100% auto;
    left: 21px;
    right: auto;
}

.confirm_btns .backbtn_wrap:hover:before,
.confirm_btns .sendbtn_wrap:hover:before {
    background: #fff;
}

.confirm_btns .sendbtn_wrap:hover:after {
    background: url(images/arrow_icon_hover.png) no-repeat center center;
    width: 15px;
    height: 15px;
    background-size: 100% auto;
}

.confirm_btns .backbtn_wrap:hover:after {
    background: url(images/arrow_icon2_b.png) no-repeat center center;
    width: 15px;
    height: 15px;
    background-size: 100% auto;
}

#main .thanks_inner h3 {
    margin: 0 auto 20px;
    text-align: center;
    padding: 0;
}

#main .thanks_inner h3:before,
#main .thanks_inner h3:after {
    display: none;
}


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

    .confirm_btns {
        max-width: 250px;
        margin: 0 auto;
        margin-top: 30px;
        flex-direction: column-reverse;
    }

    .confirm_btns .backbtn_wrap,
    .confirm_btns .sendbtn_wrap {
        margin: 0 auto;
    }

    .confirm_btns .sendbtn_wrap {
        margin: 0 auto 20px;
    }

}


/* ものづくり */
.section-production + .section-production{
    margin-top: 80px;
}
.production-contents{
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    align-items: flex-start;
    column-gap: 3%;
}
.production-item-txt{
    width: calc(100% - 3% - 37.5%);
}
.under_main.under_page .production-item-txt p{
    margin: 0;
    font-size: 18px;
}
.production-lists{
    margin: 30px 0;
    padding: 20px 30px;
    background: #fdecf3;
    border-radius: 10px;
    display: flex;
    -webkit-box-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 20px 60px;
}
.production-lists li{
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    white-space: nowrap;
}
.production-lists li:before{
    content: "●";
    color: #e63084;
    margin-right: 5px;
}
.production-item-img{
    width: 37.5%;
}
.production-contents-img{
    width: 100%;
    max-width: 1081.5px;
    margin: 60px auto 0;
}
.production-ApolloJapan{
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 20px 2.5%;
}
.production-ApolloJapan-item{
    width: calc(50% - 1.25%);
    border: 1px solid #e63084;
    border-radius: 10px;
    overflow: hidden;
}
.production-ApolloJapan-item-heading{
    background: #e63084;
    padding: 15px 5px;
    text-align: center;
}
#main .production-ApolloJapan-item-heading h4{
    margin: 0;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
}
.production-ApolloJapan-item-inner{
    background: #fff;
    padding: 20px;
}
.under_main.under_page .production-ApolloJapan-item p{
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
}
.production-ApolloJapan-item-main{
    width: 100%;
    margin-top: 30px;
    padding-right: 30%;
    box-sizing: border-box;
    position: relative;
}
.production-ApolloJapan-item-main ul{
    display: flex;
    -webkit-box-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px 2%;
}
.production-ApolloJapan-item-main ul li{
    width: calc(50% - 1%);
    font-size: 16px;
    font-weight: bold;
    line-height: 1.25;
    position: relative;
    padding-left: 25px;
    box-sizing: border-box;
}
.production-ApolloJapan-item-main ul li:before{
    content: "";
    background: url(images/production/check.svg) no-repeat;
    width: 16px;
    height: 12px;
    position: absolute;
    left: 0;
    top: 5px;
}
.production-ApolloJapan-item-main ul.col-1{
    gap: 10px 0;
}
.production-ApolloJapan-item-main ul.col-1 li{
    width: 100%;
}
.under_main.under_page .production-ApolloJapan-item .production-ApolloJapan-item-main p{
    margin-top: 20px;
}
.under_main.under_page .production-ApolloJapan-item p.link_btn{
    margin: 30px auto 0;
}
.production-ApolloJapan-item-img{
    width: 27%;
    position: absolute;
    right: 0;
    bottom: 0;
}
.production-ApolloJapan .production-ApolloJapan-item:nth-child(2) .production-ApolloJapan-item-main{
    padding-right: 23%;
}
.production-ApolloJapan .production-ApolloJapan-item:nth-child(2) .production-ApolloJapan-item-img{
    width: 20%;
}
.production-ApolloJapan .production-ApolloJapan-item:nth-child(3) .production-ApolloJapan-item-main{
    padding-right: 23%;
}
.production-ApolloJapan .production-ApolloJapan-item:nth-child(3) .production-ApolloJapan-item-img{
    width: 20%;
}
.production-ApolloJapan .production-ApolloJapan-item:nth-child(4) .production-ApolloJapan-item-main{
    padding-right: 22%;
}
.production-ApolloJapan .production-ApolloJapan-item:nth-child(4) .production-ApolloJapan-item-img{
    width: 15%;
}
.production-ApolloJapan .production-ApolloJapan-item:nth-child(5){
    border: none;
}
.production-ApolloJapan .production-ApolloJapan-item:nth-child(5) .production-ApolloJapan-item-inner{
    border: 1px solid #e63084;
    border-radius: 0 0 10px 10px;
}
.production-ApolloJapan .production-ApolloJapan-item:nth-child(5) .production-ApolloJapan-item-main{
    margin-top: 0;
    padding-right: 23%;
    padding-bottom: 25px;
}
.production-ApolloJapan .production-ApolloJapan-item:nth-child(5) .production-ApolloJapan-item-img{
    width: 20%;
}
.production-ApolloJapan-item-table{
    width: 100%;
    background: #fff;
}
.production-ApolloJapan-item-table tr{
    border-bottom: 1px dotted #727171;
}
.production-ApolloJapan-item-table tr:first-child{
    border-bottom: none;
}
.production-ApolloJapan-item-table tr th{
    background: #fdecf3;
    padding: 10px 5px;
    color: #e63084;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.25;
}
.production-ApolloJapan-item-table tr td{
    font-size: 16px;
    font-weight: bold;
    line-height: 1.25;
    padding: 10px 5%;
}
.production-ApolloJapan-item-table tr th.border,
.production-ApolloJapan-item-table tr td.border,
.production-ApolloJapan-item-table.oem_table thead th.border,
.production-ApolloJapan-item-table.oem_table thead td.border{
    background: #fff;
    width: 5px;
    padding: 0;
}
.section-production__links{
    width: 100%;
    background: #efefef;
    padding: 40px 20px;
    box-sizing: border-box;
}
#main .section-production__links h3{
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 20px;
    text-align: center;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
}
#main .section-production__links h3:before,
#main .section-production__links h3:after{
    flex: 1;
    height: 1px;
    background: #e63084;
    position: static;
    width: auto;
}
#main .section-production__links h3 span{
    display: inline-block;
    padding: 0 25px;
}
.production-links{
    margin-top: 30px;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 20px 2%;
}
.production-links li{
    width: 32%;
    min-width: 320px;
}
.under_main.under_page .production-links p.link_btn{
    margin: 0;
    width: 100%;
    max-width: none;
}
.under_main.under_page .production-links p.link_btn a{
    font-size: 18px;
}
@media screen and (max-width: 767px){
    .section-production + .section-production{
        margin-top: 50px;
    }
    .production-contents{
        display: block;
    }
    .production-item-txt{
        width: 100%;
    }
    .under_main.under_page .production-item-txt p{
        font-size: 16px;
    }
    .production-lists{
        margin: 20px 0;
        padding: 20px;
        gap: 15px 20px;
    }
    .production-lists li{
        font-size: 16px;
    }
    .production-item-img{
        margin-top: 20px;
        width: 100%;
    }
    .production-contents-img{
        margin: 30px auto 0;
    }
    .production-ApolloJapan{
        display: block;
    }
    .production-ApolloJapan-item{
        margin-top: 20px;
        width: 100%;
    }
    .production-ApolloJapan .production-ApolloJapan-item:first-child{
        margin-top: 0;
    }
    #main .production-ApolloJapan-item-heading h4{
        font-size: 20px;
    }
    .under_main.under_page .production-ApolloJapan-item p{
        font-size: 14px;
    }
    .production-ApolloJapan-item-main,
    .production-ApolloJapan .production-ApolloJapan-item:nth-child(2) .production-ApolloJapan-item-main,
    .production-ApolloJapan .production-ApolloJapan-item:nth-child(3) .production-ApolloJapan-item-main,
    .production-ApolloJapan .production-ApolloJapan-item:nth-child(4) .production-ApolloJapan-item-main{
        margin-top: 20px;
        padding-right: 0;
    }
    .production-ApolloJapan .production-ApolloJapan-item:nth-child(5) .production-ApolloJapan-item-main{
        padding-right: 0;
        padding-bottom: 0;
    }
    .production-ApolloJapan-item-main ul li{
        font-size: 14px;
    }
    .production-ApolloJapan-item-main ul li:before{
        top: 2px;
    }
    .under_main.under_page .production-ApolloJapan-item .production-ApolloJapan-item-main p{
        margin-top: 15px;
    }
    .production-ApolloJapan-item-img,
    .production-ApolloJapan .production-ApolloJapan-item:nth-child(2) .production-ApolloJapan-item-img,
    .production-ApolloJapan .production-ApolloJapan-item:nth-child(3) .production-ApolloJapan-item-img,
    .production-ApolloJapan .production-ApolloJapan-item:nth-child(4) .production-ApolloJapan-item-img,
    .production-ApolloJapan .production-ApolloJapan-item:nth-child(5) .production-ApolloJapan-item-img{
        display: block;
        width: 50%;
        position: initial;
        margin: 20px auto 0;
    }
    .under_main.under_page .production-ApolloJapan-item p.link_btn{
        margin: 20px auto 0;
    }
    .production-ApolloJapan-item-table tr th{
        font-size: 14px;
    }
    .production-ApolloJapan-item-table tr td{
        font-size: 14px;
        padding: 10px 2%;
    }
    .section-production__links{
        padding: 30px 20px;
    }
    #main .section-production__links h3{
        font-size: 18px;
    }
    #main .section-production__links h3 span{
        padding: 0 15px;
    }
    .production-links{
        margin-top: 20px;
        display: block;
    }
    .production-links li{
        margin-top: 20px;
        width: 100%;
        min-width: auto;
    }
    .production-links li:first-child{
        margin-top: 0;
    }
    .under_main.under_page .production-links p.link_btn a{
        font-size: 16px;
    }
}

/* 品質管理について */

#main .production h3{
    letter-spacing: 0.1em;
}

.quality .section-production{
    margin-bottom: 70px;
}

.quality p,.oem p,.network p,.development p{
    font-size: 1.8rem;
}

.under_main.under_page .production .ttl_p {
    font-size: 2rem;
    font-weight: bold;
    display: inline-block;
    color: #e63084;
    border: 1px solid #e63084;
    padding: 1px 50px;
    margin: 0 auto 20px !important;
    line-height: 1.5;
    letter-spacing: 0.15em;
}

.production-ApolloJapan-item-table.quality_table{
    margin-bottom: 45px;
}

.production-ApolloJapan-item-table.quality_table th,
.production-ApolloJapan-item-table.quality_table td{
    text-align: center;
    width: calc(50% - 2.5px);
}
.production-ApolloJapan-item-table.quality_table td{
    font-weight: normal;
}
.production-ApolloJapan-item-table.quality_table thead th:last-child{
    background: #e63084;
    color: #fff;
}
.production-ApolloJapan-item-table.quality_table thead th:last-child span {
    background: url(images/production/a_icon.png) no-repeat left top 1px;
    background-size: 27px auto;
    padding: 5px 0 5px 32px;
}
.production-ApolloJapan-item-table.quality_table tbody tr td:last-child{
    background: #fdecf3;
    font-weight: bold;
}
.production-ApolloJapan-item-table.quality_table thead tr:first-child{
    border-bottom: none;
}
.production-ApolloJapan-item-table.quality_table tbody tr:first-child{
    border-bottom: 1px dotted #727171;
}
.production-ApolloJapan-item-table.quality_table tbody tr:last-child{
    border-bottom: 1px solid #727171;
}

.ul_check {
    list-style-type: none;
    margin-bottom: 15px;
}

.ul_check li {
    display: flex;
    align-items: center;
    gap: 0 5px;
    padding: 0 0 5px 35px;
    font-size: 1.8rem;
    font-weight: bold;
    position: relative;
}

.ul_check li::before {
    display: inline-block;
    width: 10px;
    height: 5px;
    border-bottom: 3px solid #e63084;
    border-left: 3px solid #e63084;
    transform: rotate(-45deg) translateY(-1.5px);
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
}

.production-lists.mw480{
    max-width: 480px;
    gap: 20px 0;
}
.production-lists.mw480 li{
    max-width: 480px;
    flex-basis: 33%;
}

.production-lists.mw350 {
    max-width: 360px;
    gap: 20px 0;
}
.production-lists.mw350 li{
    max-width: 350px;
    flex-basis: 49%;
}

@media screen and (max-width: 768px) {
.ul_check li {
    font-size: 1.6rem;
}
.ul_check li::before {
    top: 7px;
}
}

/* フロー */
.flow {
    display: flex;
    gap: 0px;
    width: 100%;
    background: #fff;
}

.flow_item {
    flex: 1;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 20px;
    text-align: center;
    line-height: 1.4;
    font-weight: 700;
    color: #fff;
    background: #f4a5ca;
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%, 22px 50%);
    font-size: 1.8rem;
  flex:1;
  margin-left:-14px;
}
.flow_item:first-child{
  margin-left:0;
}


.flow_item:first-child{
  clip-path:polygon(
    0 0,
    calc(100% - 22px) 0,
    100% 50%,
    calc(100% - 22px) 100%,
    0 100%
  );
}

.flow_item.active{
  background:#e63084;
}

@media screen and (max-width: 1100px) {
.flow_item {
    padding: 15px 10px;
    font-size: 1.4rem;
}

}


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

    .quality p, .oem p, .network p, .development p {
    font-size: 1.6rem;
    }
    .under_main.under_page .production .ttl_p {
        font-size: 1.8rem;
        letter-spacing: 0;
    }

.flow {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 5px 1px;
    }

  .flow_item{
    margin-left: 0;
    min-height: 60px;
    padding: 10px 5px;
    font-size: 1.2rem;
    line-height: 1.3;
    margin-left: -10px;

    clip-path: polygon(
      0 0,
      calc(100% - 14px) 0,
      100% 50%,
      calc(100% - 14px) 100%,
      0 100%,
      14px 50%
    );
  }

  .flow_item:first-child{
    clip-path: polygon(
      0 0,
      calc(100% - 14px) 0,
      100% 50%,
      calc(100% - 14px) 100%,
      0 100%
    );
  }

  /* 2行目先頭 */
  .flow_item:nth-child(5){
    margin-left: 0;
    clip-path: polygon(
      0 0,
      calc(100% - 14px) 0,
      100% 50%,
      calc(100% - 14px) 100%,
      0 100%
    );
  }

  .production-lists.mw480 li {
        flex-basis: 46%;
    }
    .production-lists.mw350 li{
        flex-basis: 46%;
    }

}

/* OEM */

.production-ApolloJapan-item-table.oem_table{
    margin-bottom: 45px;
}

.production-ApolloJapan-item-table.oem_table th,
.production-ApolloJapan-item-table.oem_table td{
    text-align: center;
    width: 32.75%;
    padding: 10px 1%;
}
.production-ApolloJapan-item-table.oem_table thead th{
    background: #e63084;
    color: #fff;
}
.production-ApolloJapan-item-table.oem_table tbody tr th{
    background: #fdecf3;
    color: #000000;
}
.production-ApolloJapan-item-table.oem_table thead tr:first-child{
    border-bottom: none;
}
.production-ApolloJapan-item-table.oem_table tbody tr:first-child{
    border-bottom: 1px dotted #727171;
}
.production-ApolloJapan-item-table.oem_table tbody tr:last-child{
    border-bottom: 1px solid #727171;
}

@media screen and (max-width: 768px) {
    .sp_mt50{
        margin-top: 50px!important;
    }
}

/* 現地体制について */

.flex.flow_flex{
    align-items: center;
    gap: 0 25px;
}
.flex.flow_flex li p.img_p {
    text-align: center;
    font-weight: bold;
    margin-bottom: 0;
}
.flex.flow_flex li img{
    margin-bottom: 10px;
}
.flex.flow_flex li:first-child img{
    width: 100%;
    max-width: 57px;
}
.flex.flow_flex li:nth-child(3) img{
    width: 100%;
    max-width: 127px;
}
.flex.flow_flex li:nth-child(5) img{
    width: 100%;
    max-width: 126px;
}
.flex.flow_flex li:nth-child(7) img{
    width: 100%;
    max-width: 61px;
}
.flex.flow_flex li.arrow img{
    width: 100%;
    max-width: 58px;
    margin-bottom: 0;
}
.flex.flow_flex .production-contents{
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}
.flex.flow_flex .production-item-img,.flex.flow_flex .production-item-txt{
    width: auto;
    font-weight: bold;
}
.flex.flow_flex > li:nth-child(5) {
    background: #e5f2e5;
    padding: 15px 20px;
    box-sizing: border-box;
    border-radius: 20px;
    width: 45%;
    max-width: 556px;
    min-width: 430px;
}
.flex.flow_flex li:nth-child(5) ul.ul01 {
    display: flex;
    gap: 0 30px;
    flex-wrap: wrap;
    margin-bottom: 0;
}
.flex.flow_flex li:nth-child(5) ul.ul01 li {
    font-size: 1.8rem;
    width: calc((100% - 60px) / 3);
    box-sizing: border-box;
    font-weight: bold;
    padding: 0 0px 5px 20px;
}
.flex.flow_flex li:nth-child(5) ul.ul01 li:before {
    background: #389937;
    width: 15px;
    height: 15px;
    top: 5px;
}

@media screen and (max-width: 768px) {
    .flex.flow_flex > li{
        margin-bottom: 35px;
    }

    .flex.flow_flex .arrow{
    text-align: center;
    transform: rotate(90deg);
    }

    .flex.flow_flex > li:nth-child(5){
        width: 100%;
        min-width: auto;
    }

    .flex.flow_flex li:nth-child(5) ul.ul01 li {
        font-size: 1.6rem;
        width: calc((100% - 30px) / 2);
        padding: 0 0px 5px 20px;
    }
    .flex.flow_flex .production-contents {
    display: flex;
    }
}

/* 自社商品開発について */

.production-ApolloJapan-item-table.development_table tr th:first-child {
    width: 30%;
}
.production-ApolloJapan-item-table.development_table tbody th{
    background: #fff;
    color: #000;
    text-align: left;
    padding: 10px 5%;
}
.production-ApolloJapan-item-table.development_table tbody td{
    font-weight: normal;
}
.production-ApolloJapan-item-table.development_table tbody tr:first-child {
    border-bottom: 1px dotted #727171;
}
.production-ApolloJapan-item-table.development_table tbody tr:last-child {
    border-bottom: 1px solid #727171;
}

@media screen and (max-width: 768px) {
    .production-ApolloJapan-item-table.development_table tbody th {
        padding: 10px 2%;
    }
}

.footer_insta {
        display:flex;
	align-items:center;
	justify-content:flex-start;
	margin-bottom:10px;
	gap:10px;
    }
.insta_icon {
	display:block;
       width:45px;
	height:45px;
	flex-shrink: 0;
    }
.security_icon {
	display:block;
       width:55px;
	height:55px;
	flex-shrink: 0;
    }
.pc_only {
       display:block;
    }
@media screen and (max-width: 768px) {
.footer_insta {
	justify-content:center;
    }
.insta_icon {
       width:40px;
	height:40px;
    }
.security_icon {
       width:50px;
	height:50px;
    }
.pc_only {
       display:none;
    }
}