@charset "UTF-8";
@import "base.css";
@import "fonts.css";
/*==========================================================================*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
    font-size: 200%;
    -webkit-text-size-adjust: none;
    font-weight: 400;
}
*, ::before, ::after {
    box-sizing: border-box;
    outline: none;
}
img {
    vertical-align: middle;
    max-width: 100%;
    flex-shrink: 0;
    height: auto;
}
select {
    visibility: visible !important;
}
a {
    transition: all ease 0.3s;
    text-decoration: none;
    color: var(--txt);
}
a[href^="tel:"] {
    word-break: keep-all;
}
/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html {
    background: #fff
}
body {
    -webkit-text-size-adjust: none;
    min-width: 320px;
    color: var(--txt);
    font-family: var(--f-main)
}
table {
    width: 100%
}
h1, h2, h3, h4, h5, h6 {
    line-height: 1.4;
}
p, dd, dt, li, th, td, address {
    line-height: 2em;
    letter-spacing: 0;
}
p {
    margin: 0 0 1.77em;
}
p:last-child {
    margin-bottom: 0
}
.bold {
    font-weight: bold;
}
.left {
    text-align: left
}
.right {
    text-align: right;
}
.auto {
    margin-left: auto;
    margin-right: auto;
}
.red {
    color: var(--red);
}
.txt_line {
    text-decoration: underline;
}
.f_big {
    font-size: 150%;
}
.f_sm {
    font-size: 80%;
}
.m0a {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
:root {
    --txt: #1D1D1D;
    --mcolor: #0571BD;
    --scolor: #DE0000;
    --container: 1130px;
    --red: red;
    --f-main: 'Noto Sans JP', sans-serif;
    --f-en: "Barlow", sans-serif;
}
#wrapper {
    min-width: 1260px;
    overflow: hidden;
    margin: 0 auto
}
.inner {
    width: var(--container);
    margin: 0 auto;
    position: relative;
    max-width: 100%;
    padding: 0 15px;
}
/*==========================================================
                       H E A D E R
==========================================================*/
/* HAMBUGER BUTTON */
.hamburger {
    font: inherit;
    display: block;
    overflow: visible;
    margin: 0;
    padding: 10px 8px 5px;
    cursor: pointer;
    transition-timing-function: linear;
    transition-duration: .15s;
    transition-property: opacity, filter;
    text-transform: none;
    color: inherit;
    border: 0
}
.hamburger-box {
    position: relative;
    display: inline-block;
    width: 35px;
    height: 24px
}
.hamburger-inner {
    top: 50%;
    display: block;
    margin-top: -2px
}
.hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {
    position: absolute;
    width: 35px;
    height: 2px;
    transition: all ease 0.15s;
    background-color: var(--mcolor);
}
.hamburger-inner::after, .hamburger-inner::before {
    display: block;
    content: ""
}
.hamburger-inner::before {
    top: -10px
}
.hamburger-inner::after {
    bottom: -10px
}
.hamburger--3dxy .hamburger-box {
    perspective: 80px
}
.hamburger--3dxy .hamburger-inner {
    transition: transform .15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0 cubic-bezier(0.645, 0.045, 0.355, 1) .1s
}
.hamburger--3dxy .hamburger-inner::after, .hamburger--3dxy .hamburger-inner::before {
    transition: transform cubic-bezier(0.645, 0.045, 0.355, 1) .1s
}
.hamburger--3dxy.is_active .hamburger-inner {
    transform: rotateX(180deg) rotateY(180deg);
    background-color: transparent !important
}
.hamburger--3dxy.is_active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg)
}
.hamburger--3dxy.is_active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg)
}
header {
    position: relative;
    z-index: 9;
}
.h_box, .head_ttl, .h_right {
    transition: all 0.3s;
}
header.active .h_box {
    backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.6);
    filter: brightness(1);
}
header.active .h_left {
    background: none;
}
header.active .h_right {
    padding-top: 24px;
}
header.active .h_contact_tel a {
    color: var(--mcolor);
}
header.active .h_contact_tel .time {
    color: var(--txt);
}
h1 {
    flex-shrink: 0;
}
.head_ttl {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 5px;
    width: 425px;
    text-align: left;
}
.h_right {
    display: flex;
    flex-direction: column;
    padding-top: 46px;
    padding-right: 30px;
}
.h_left {
    width: 540px;
    height: 160px;
    background: #fff;
    border-radius: 0 0 17px 0;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 5px;
}
.h_box {
    width: 100%;
    position: fixed;
}
.h_inner {
    display: flex;
    justify-content: space-between;
    /* align-items: center; */
    height: 100%;
    width: 100%;
    padding: 0px;
}
.h_contact {
    display: flex;
    align-items: center;
    margin-left: auto;
    margin-bottom: 18px;
}
.h_contact > p {
    margin-bottom: 0;
}
.h_contact > p:not(:last-child) {
    margin-right: 32px;
}
.h_contact_mail a, .h_contact_line a {
    box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.16);
    width: 305px;
    height: 61px;
    position: relative;
    border-radius: 10px;
    color: #FFF;
    font-weight: 700;
}
.h_contact_mail a, .h_contact_line a, .h_contact_mail a span, .h_contact_line a span {
    display: flex;
    justify-content: center;
    align-items: center;
}
.h_contact_mail a {
    background-color: var(--scolor);
}
.h_contact_line a {
    background: #05ac08;
}
.h_contact_mail a span, .h_contact_line a span {
    position: absolute;
    z-index: 2;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #FCE800;
    color: #DE0000;
    font-size: 13px;
    font-weight: bold;
    left: -23px;
    top: -11px;
}
.h_contact_line a span {
    color: #009603;
}
.h_contact > p.h_contact_tel {
    margin-right: 46px;
}
.h_contact_tel {
    color: #fff;
}
.h_contact_tel a {
    color: #fff;
    font-weight: bold;
    line-height: 1;
    display: block;
    font-family: var(--f-en);
    font-size: 36px;
    letter-spacing: 0.05em;
    transition: all 0.3s;
}
.h_contact_tel .time {
    font-size: 16px;
    display: block;
    line-height: 1.6;
    text-align: center;
    transition: all 0.3s;
}
.sub ul li a span {
    font-weight: bold;
}
/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main {
    position: relative;
    z-index: 2;
    padding-top: 17px;
}
.mv {
    position: relative;
    padding: 0;
    height: 923px;
    overflow: hidden;
}
.mv::before {
    width: 100%;
    height: 100%;
    background: rgba(29, 29, 29, 0.26);
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    z-index: 1;
}
.mv .inner {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: 9;
    height: 100%;
}
.mv video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
    z-index: 0;
}
.mv_tt01 {
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 22px;
    letter-spacing: 0.03em;
}
.mv_tt01_sub1{
    display: inline-block;
    width: max-content;
    padding: 15px 20px;
    font-size: 46px;
    color: #0571bd;
    text-shadow: none;
    background-color: #fff;

}

.mv_txt {
    text-align: center;
    color: #fff;
    padding-top: 301px;
}
.mv_txt h2 {
    margin-bottom: 28px;
    /* padding-left: 15px; */
}
.mv_list {
    display: flex;
    justify-content: center;
}
.mv_list li {
    width: 212px;
    height: 115px;
    background: var(--mcolor);
    color: #fff;
    border-radius: 20px;
    border: 4px rgba(255, 255, 255, 0.5) solid;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.47;
    box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 0.16);
    letter-spacing: 0.035em;
    padding-top: 2px;
}
.box_news {
    position: absolute;
    background: #fff;
    width: 696px;
    height: 117px;
    border-radius: 59px 0 0 59px;
    right: 0;
    bottom: 42px;
    display: flex;
    align-items: center;
    padding-left: 50px;
    z-index: 9;
    overflow: hidden;
}
.box_news_ttl {
    font-size: 28px;
    font-weight: 700;
    color: var(--mcolor);
    margin-bottom: 0px;
    margin-right: 20px;
}
.idx_load_news {
    width: 400px;
    margin-right: 20px;
}
.idx_load_news dl {
    position: relative;
    padding-right: 35px;
    cursor: pointer;
    transition: all 0.3s;
    margin: 0 5px;
}
.idx_load_news dl dd {
    letter-spacing: 0.02em;
    position: relative;
    top: -3px;
}
.idx_load_news dl:before {
    position: absolute;
    content: "";
    width: 48px;
    height: 48px;
    background: url("../images/arrow_w.svg")var(--scolor) no-repeat center center/8px;
    border-radius: 50px;
    top: calc(50% - 24px);
    right: 0;
    transition: all 0.3s;
}
.idx_load_news dt {
    font-size: 16px;
    color: #777777;
}
.idx_load_news dd a {
    color: #414141;
    display: block;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 300px;
}
.btn_dc a{
background: #0571bd;
  color: white;
  padding: 5px 10px;
  border-radius: 25px;
  font-size: 16px;
  line-height: 1em;
}
.btn_dc a:hover{
opacity: .8;
}
/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl_h3 {
    text-align: center;
    font-weight: bold;
}
.ttl_h3:not(:last-child) {
    margin-bottom: 30px;
}
.ttl_h3 span {
    display: block;
}
.ttl_h3 .ja {
    font-size: 32px;
}
.ttl_h3 .en {
    font-size: 16px;
}
.en {
    font-family: var(--f-en);
    font-weight: 700;
}
.ttl {
    font-weight: 700;
}
/* DEFAUTL NAME BUTTON */
.btn a {
    width: 334px;
    height: 68px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url('../images/arrow02_w.svg') no-repeat right 24px center /13px var(--scolor);
    font-size: 18px;
    color: #fff;
    font-weight: bold;
    box-shadow: 0px 5px 0px 0px rgba(0, 0, 0, 0.16);
    letter-spacing: 0.02em;
    padding-bottom: 1px;
    padding-left: 2px;
}
.btn.center a {
    margin-left: auto;
    margin-right: auto;
}
.btn_box:not(:last-child) {
    margin-bottom: 30px;
}
.btn_box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.btn_box .btn {
    margin: 10px;
}
.icon_idx a, .arrow_white, .icon_red a, .sec08_icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--scolor);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.icon_idx a:before {
    position: absolute;
    content: "";
    background: url("../images/arrow_w.svg") no-repeat center center/8px;
    width: 8px;
    height: 13px;
}
.arrow_white, .arrow_red a, .icon_red a, .sec08_icon {
    width: 106px;
    height: 106px;
    border-radius: 50%;
}
.sec06 .icon_red a {
    width: 86px;
    height: 86px;
}
.arrow_white {
    background: url("../images/arrow_blue.svg")#fff no-repeat center center/32px;
    margin: 0 auto;
}
.arrow_red, .icon_red a, .sec08_icon {
    background: url("../images/arrow_white.svg")var(--scolor) no-repeat center center/32px;
}
/*============= SEC01 ==============*/
.sec01 {
    padding: 0;
    margin-bottom: 100px;
}
.sec01 .inner {
    border: 3px var(--mcolor) solid;
    padding:30px 25px 40px;
}
.sec01-item {
    display: flex;
    justify-content: space-between;
}
.sec01-item .tt {
    font-weight: 700;
    font-size: 24px;
    margin-bottom: 10px;
    text-align: center;
}
.sec01-item .img {
    border: 1px #ddd solid;
}
.sec01_tt {
	font-weight: 700;
	font-size: 37px;
	text-align: center;
	color: var(--mcolor);
	    margin-bottom: 30px;
}
/*============= SEC02 ==============*/
.sec02 {
    position: relative;
    padding-top: 100px;
}
.sec02 .inner {
    width: 100%;
    padding: 0px
}
.sec02_en {
    font-size: 171px;
    color: #EDF8FF;
    white-space: nowrap;
    position: absolute;
    left: 0;
    right: 0;
    top: 48px;
    margin: 0 auto;
    text-align: center;
    line-height: 1;
}
.sec02_ttl {
    text-align: center;
    margin: 0 auto 78px;
    font-size: 45px;
    justify-content: center;
    left: -7px;
    position: relative;
    color: #414141
}
.sec02_ttl .wrap {
    background: url(../images/brush_l01.png) no-repeat left top 15px / 39px, url(../images/brush_r01.png) no-repeat right top 15px / 35px;
    padding: 0 60px 0 72px;
}
.sec02_ttl .wrap, .sec02_ttl .point, .sec02_ttl {
    display: flex;
    align-items: center;
}
.sec02_ttl .wrap .sm:nth-of-type(1) {
    margin-right: 26px;
}
.sec02_ttl .wrap .sm ~ .sm {
    margin-left: 9px;
}
.sec02_ttl .point {
    width: 94px;
    height: 94px;
    border-radius: 50%;
    background: var(--mcolor);
    color: #fff;
    flex-shrink: 0;
    position: relative;
    margin-left: -19px;
    justify-content: center;
    font-size: 60px;
    top: -2px;
    padding-bottom: 6px;
}
.sec02-item {
    display: flex;
    justify-content: space-between;
}
.sec02-item li {
    width: calc(50% - 10px);
    padding-top: 110px;
    color: #fff;
    padding-bottom: 117px;
    position: relative;
    transition: all 0.3s;
}
.sec02-item li:after, .sec02-item li:before {
    position: absolute;
    content: "";
}
.sec02-item li:after {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border: 7px #DDDDDD solid;
    z-index: 9;
    opacity: 0;
    transition: all 0.3s;
    pointer-events: none;
}
.sec02-item li.active:after {
    opacity: 1;
}
.sec02-item li:before {
    background: url("../images/arrow_down.svg") no-repeat center top/40px;
    width: 40px;
    height: 17px;
    top: -45px;
}
.sec02-item-l:after {
    border-radius: 0 18px 18px 0;
}
.sec02-item-r:after {
    border-radius: 18px 0 0 18px;
}
.sec02-item-l:before {
    right: 253px;
}
.sec02-item-r:before {
    left: 254px;
}
.sec02-item-l {
    background: url("../images/idx_img01.png")var(--mcolor) no-repeat left -8px bottom/950px;
    border-radius: 0 18px 18px 0;
    padding-right: 58px;
}
.sec02-item-r {
    background: url("../images/idx_img02.png")#E8E8E8 no-repeat right -8px bottom/950px;
    border-radius: 18px 0 0 18px;
    padding-left: 58px;
}
.sec02_wrap {
    width: 482px;
}
.sec02-item-l .sec02_wrap {
    margin-left: auto;
}
.sec02-item-r .sec02_wrap {
    margin-right: auto;
}
.sec02_txt p {
    height: 66px;
    line-height: 66px;
    background: #fff;
    border-radius: 38px;
    font-size: 18px;
    font-weight: bold;
    color: var(--mcolor);
    display: table;
    padding: 0 45px;
    margin-bottom: 33px;
    position: relative;
    z-index: 1;
}
.sec02_txt p:before {
    position: absolute;
    content: "";
    background: url("../images/bb_l.png") no-repeat left top/44px;
    width: 44px;
    height: 43px;
    left: 64px;
    bottom: -25px;
}
.sec02_txt p:nth-child(2n):before {
    background: url("../images/bb_r.png") no-repeat left top/44px;
    right: 37px;
    left: auto;
    bottom: -28px;
}
.sec02_txt p:nth-child(2), .sec02_txt p:nth-child(4) {
    margin-left: auto;
}
.sec02_txt p:nth-child(2) {
    margin-bottom: 36px;
}
.sec02_txt p:nth-child(3) {
    margin-left: 54px;
}
.sec02_txt p:nth-child(3):before {
    left: 37px;
}
.sec02-item-r .sec02_txt p:nth-child(3):before {
    left: 46px;
}
.sec02-item-r .sec02_txt p:nth-child(2) {
    margin-bottom: 33px;
}
.sec02-item-r .sec02_txt p:nth-child(3) {
    margin-left: 17px;
}
.sec02-item-r .sec02_txt p:nth-child(1):before {
    left: 54px;
}
.sec02-item-r .sec02_txt p:nth-child(2):before {
    right: 64px;
    bottom: -25px;
}
.sec02-item-r .sec02_txt p:nth-child(4) {
    margin-right: 54px;
}
.sec02-item-r .sec02_ttl01, .sec02-item-r .sec02_txt_sub {
    color: var(--mcolor);
}
.sec02_ttl01 {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-bottom: 50px;
}
.sec02_ttl01 .lg {
    font-size: 50px;
    font-weight: 900;
    margin-bottom: 21px;
    letter-spacing: 0.02em;
}
.sec02_ttl01 .lg span {
    font-size: 80%;
}
.sec02_ttl01 .sm {
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.sec02_txt {
    margin-bottom: 93px;
    text-align: center;
}
.sec02_txt_sub {
    line-height: 1.75;
    margin-bottom: 22px;
    text-align: center;
    font-weight: 500;
    letter-spacing: 0.02em;
    font-size: 20px;
}
.sec02_link {
    position: relative;
}
.sec02_link > a {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 9;
    left: 0;
    top: 0;
}
/*============= SEC03 ==============*/
.sec03 {
    height: 335px;
}
.sec03 .inner {
    position: relative;
    height: 100%;
    padding-top: 75px;
}
.sec03 .inner:before {
    width: 1510px;
    height: 100%;
    position: absolute;
    content: "";
    background: url(../images/idx_pp01.png) no-repeat left bottom / 263px, url(../images/idx_pp02.png) no-repeat right bottom / 275px;
    bottom: 0;
    left: calc(50% - 706px);
}
.sec03_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    color: #414141 /* left: 4px; */
}
.sec03_ttl .mid {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 13px;
    letter-spacing: 0.03em;
}
.sec03_ttl .lg {
    font-size: 52px;
    font-weight: 700;
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}
.sec03_ttl .lg .blue {
    color: var(--mcolor);
    letter-spacing: 0.03em;
}
.sec03_ttl .lg .bg_blue {
    background: var(--mcolor);
    color: #fff;
    width: 204px;
    height: 45px;
    line-height: 44px;
    text-align: center;
    font-size: 25px;
    border-radius: 23px;
    margin: 0 15px;
    position: relative;
    top: 2px;
    /* padding-bottom: 10px; */
}
.sec03_ttl .black {
    letter-spacing: 0.025em;
}
.sec03_ttl .sm {
    font-size: 23px;
    font-weight: 700;
    color: var(--mcolor);
    letter-spacing: 0.03em;
}
.sec03.fix_top .inner:before{
    max-width: 1230px;
    left: -60px;
    right: 0;
}
.sec03.fix_top .sec03_ttl .mid{
    font-size: 32px;
}
.sec03.fix_top .sec03_ttl .lg{
    font-size: 40px;
}
.sec03.fix_top .sec03_ttl_h4{
    text-align: center;
    font-size: 23px;
    font-weight: 700;
    color: var(--mcolor);
    letter-spacing: 0.03em;
}
/*============= SEC04 ==============*/
.sec04 {
    background: url("../images/idx_ bg02.jpg") no-repeat center center/cover;
    position: relative;
    padding: 130px 0 98px;
    background-attachment: fixed;
}
/*.sec04::after {
    position: absolute;
    content: "";
    background: #fff;
    width: 100%;
    height: 194px;
    left: 0;
    bottom: 0
}*/
.sec04 .inner {
    position: relative;
    height: 100%;
}
.sec04:before {
    position: absolute;
    content: "";
}
.sec04:before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 27px 16px 0 16px;
    border-color: #fff transparent transparent transparent;
    left: 0;
    right: 0;
    top: 0;
    margin: 0 auto;
}
.sec04_ttl {
    flex-direction: column;
    color: #fff;
    text-align: center;
    margin: 0 auto 17px;
}
.sec04_ttl, .sec04_ttl .sm, .sec04_ttl .lg, .sec04_ttl .lg .bg_white {
    display: flex;
    align-items: center;
}
.sec04_ttl .sm {
    font-size: 24px;
    font-weight: 700;
    width: 361px;
    height: 45px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border-radius: 30px;
    justify-content: center;
    margin-bottom: 17px;
    letter-spacing: 0.03em;
    filter: brightness(1.2);
    padding-bottom: 1px;
}
.sec04_ttl .lg {
    font-size: 63px;
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: 0.02em;
}
.sec04_ttl .lg .bg_white {
    width: 204px;
    height: 45px;
    background: #fff;
    border-radius: 23px;
    font-size: 25px;
    font-weight: bold;
    color: var(--mcolor);
    justify-content: center;
    margin: 0 10px;
    position: relative;
    top: 8px;
    left: 2px;
}
.sec04_ttl .lg .yl {
    color: #FCE800;
    font-weight: 900;
}
.sec04_ttl .lg .yl span {
    color: #fff;
    font-size: 85%;
    font-weight: 700;
}
.sec04-txt {
    margin-bottom: 43px;
}
.sec04-txt p {
    color: #fff;
    font-weight: 500;
    text-align: center;
    line-height: 1.77;
    letter-spacing: 0.025em;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.16)
}
.sec04_wrap {
    display: flex;
    background: url("../images/idx_par01.png") repeat left 23px top 6px;
    width: 1100px;
    height: 387px;
    position: relative;
    border-radius: 20px;
    border: 7px #fff solid;
    color: #fff;
    box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.16);
    padding-top: 60px;
    padding-left: 72px;
    margin-top: 74px;
	z-index: 9
}
.sec04_wrap > a {
    position: absolute;
    width: calc(100% + 14px);
    height: calc(100% + 14px);
    left: -7px;
    top: -7px;
    z-index: 9;
}
.sec04_r {
    margin-bottom: 0;
    position: absolute;
    right: 81px;
    bottom: -7px;
}
.sec04_img {
    text-align: center;
    margin-top: 56px;
}
.sec04_l_bb {
    margin-bottom: 22px;
    display: flex;
}
.sec04_l_bb span {
    background: #fff;
    border-radius: 9px;
    font-size: 27px;
    font-weight: 700;
    color: var(--mcolor);
    height: 45px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sec04_l_bb span:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px 0;
    border-color: transparent #fff transparent transparent;
    left: 62px;
    bottom: -10px;
}
.sec04_l_bb span.sec04_l_bb02:before {
    border-width: 10px 10px 0 0;
    border-color: #fff transparent transparent transparent;
    left: 28px;
}
.sec04_l_bb01 {
    width: 129px;
}
.sec04_l_bb02 {
    width: 71px;
}
.sec04_l_bb span:not(:last-of-type) {
    margin-right: 7px;
}
.sec04_l_ttl01 {
    font-size: 39px;
    font-weight: 700;
    letter-spacing: 0.01em;
    margin-bottom: 8px;
    line-height: 1;
    letter-spacing: 0.022em;
}
.sec04_l_ttl01 .lg {
    font-size: 138%;
    font-weight: 900;
    color: #FCE800
}
.sec04_l_ttl02 {
    font-size: 29px;
    font-weight: 700;
    margin-bottom: 3px;
    letter-spacing: 0.007em;
}
.sec04_l_ttl02 span {
    font-size: 65%;
}
.sec04_l_txt {
    line-height: 1.65;
    letter-spacing: 0.03em;
}
.sec04_arrow {
    position: absolute;
    right: 28px;
    top: 28px;
    width: 106px;
    height: 106px;
    border-radius: 50%;
    transition: all 0.3s;
}

.sec04 .box04_iframe{
    padding-bottom: 95px;
    width: 100%;
    max-width: 95%;
    margin: 0 auto;
}
.sec04 .sec04_ttl_yt{
    font-size: 45px;
    text-align: center;
    font-weight: 700;
    color: #fff;
    padding-bottom: 40px;
}
.sec04 .box04_flex_iframe{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.sec04 .box04_flex_iframe .item_yt{
    width: 24%;
}
.sec04 .box04_flex_iframe .item_yt .wrap_yt{
    position:relative;
    width:100%;
    padding-top:56.25%;
}
.sec04 .box04_flex_iframe .item_yt .wrap_yt iframe{
    position:absolute;
    top:0;
    right:0;
    width:100%;
    height:100%;
}
/*============= SEC05 ==============*/
.sec05 {
    position: relative;
    padding-bottom: 99px;
}
.sec05-img {
    position: relative;
    width: 466px;
}
.sec05-img:before {
    border: 8px var(--mcolor) solid;
    border-radius: 50%;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    content: "";
}
.sec05-item {
    display: flex;
    position: relative;
}
.sec05-item:before {
    position: absolute;
    content: "";
    background: url("../images/idx_pp05.png") no-repeat left bottom/324px;
    width: 324px;
    height: 290px;
    left: -132px;
    bottom: -99px;
    z-index: 9;
}
.sec05_bb {
    position: absolute;
    left: 0px;
    top: -19px;
}
.sec05_sm {
    font-size: 26px;
    color: #fff;
    line-height: 1.46;
    margin-bottom: 8px;
    letter-spacing: 0.02em;
}
.sec05_sm span {
    font-size: 77%;
}
.sec05_ttl {
    font-size: 39px;
    line-height: 1.54;
    margin-bottom: 30px;
    letter-spacing: 0.025em;
}
.sec05_ttl, .sec05_sm {
    font-weight: 700;
}
.sec05_ttl .blue {
    font-size: 118%;
    color: #fff;
    font-weight: 900;
}
.sec05_ttl .blue .line {
    position: relative;
    z-index: 1;
}
.sec05_ttl .blue .line:before {
    position: absolute;
    content: "";
    width: 114%;
    height: 16px;
    left: -5%;
    right: 0;
    margin: 0 auto;
    bottom: 0px;
    z-index: -1;
    background: #FCE800;
}
.sec05_en {
    margin-bottom: 0px;
    position: absolute;
    bottom: -19px;
    font-size: 171px;
    font-weight: 700;
    color: #EDF8FF;
    z-index: -1;
    left: -97px;
}
.sec05-item-r {
    position: relative;
    padding-top: 78px;
}
.sec05_txt {
    margin-bottom: 67px;
}
.sec05_txt p {
    line-height: 1.67;
    letter-spacing: 0.03em;
	color: #fff;
}
.sec05-item-l {
    padding-top: 88px;
    margin-right: 65px;
}
.sec05-item-r .btn a {
    margin-left: auto;
}
/*============= SEC06 ==============*/
.sec06 .inner {
    overflow: hidden;
    width: 100%;
    padding: 0px;
    position: relative;
}
.sec06-slide {
    z-index: 1;
}
.sec06-slide.slick-dotted.slick-slider {
    margin-bottom: 0px;
}
.sec06-slide .slick-dots {
    bottom: 236px;
    left: 121px;
    pointer-events: none;
}
.sec06-slide .slick-dots li, .sec06-slide .slick-dots li button {
    width: 10px;
    height: 10px;
}
.sec06-slide .slick-dots li {
    margin: 0 7px;
    pointer-events: auto;
}
.sec06-slide .slick-dots li button {
    background: #EFEFEF;
    border-radius: 50%;
    transition: all 0.3s;
}
.sec06-slide .slick-dots .slick-active button {
    background: var(--scolor);
}
.sec06-slide .slick-dots .slick-active {
    pointer-events: none;
}
.sec06-slide .slick-dots li button:before {
    display: none;
}
.sec06-img {
    width: 100%;
    height: 1042px;
    margin-bottom: 0px;
}
.sec06-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sec06-item-con {
    position: absolute;
    z-index: 9;
    top: 289px;
    width: calc(50% + 10px);
    left: calc(50% - 10px);
    background: #fff;
    border-radius: 20px 0 0 20px;
    padding: 68px 0 50px 90px;
    min-height: 605px;
    display: flex;
    flex-direction: column;
}
.sec06-item-con .icon_red {
    position: relative;
    right: 10px;
    margin-top: auto;
    width: 477px;
    display: block;
    margin-left: 394px;
}
.sec06-item-w {
    width: 480px;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.sec06-item-w .icon_red a {
    margin-left: auto;
}
.sec06_ttl02 {
    font-size: 35px;
    font-weight: bold;
    line-height: 1.54;
    color: var(--mcolor);
    margin-bottom: 25px;
    letter-spacing: 0.025em;
}
.sec06_ttl03 {
    font-weight: 700;
    margin-bottom: 25px;
    letter-spacing: 0em;
    font-size: 22px;
}
.sec06_num {
    margin-bottom: 0;
    position: absolute;
    font-size: 137px;
    font-weight: 700;
    font-family: var(--f-en);
    line-height: 1;
    color: var(--mcolor);
    top: -136px;
    left: 345px;
}
.sec06_ttl {
    position: absolute;
    color: #fff;
    z-index: 9;
    top: 49px;
    left: -26px;
}
.sec06_ttl .en {
    font-size: 171px;
    color: rgba(237, 248, 255, 0.18);
    line-height: 1;
}
.sec06_ttl .ja {
    font-size: 60px;
    font-weight: bold;
    position: absolute;
    left: calc(50% - 37px);
    top: 103px;
    letter-spacing: 0.02em;
}
.sec06-slide_nav {
    position: absolute;
    width: 1100px;
    margin: 0 auto;
    z-index: 99;
    left: -99px;
    right: 0;
    top: 506px;
}
.sec06-slide_nav, .sec06-slide_nav_w, .sec06-slide_nav .slick-list {
    pointer-events: none;
}
.sec06-slide_nav_w {
    width: 100% !important;
}
.sec06-slide_nav .slick-track {
    transform: translate3d(0px, 0px, 0px) !important;
    margin: 0px;
    width: 481px !important;
    display: flex;
    flex-direction: column;
}
.sec06-slide_nav_bt:first-of-type {
    letter-spacing: 0em;
}
.sec06-slide_nav_bt {
    width: 481px;
    height: 89px !important;
    display: flex !important;
    align-items: center;
    border-radius: 10px;
    border: 1px rgba(255, 255, 255, 0.48) solid;
    color: #fff;
    padding-left: 20px;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.47;
    margin-bottom: 10px;
    cursor: pointer;
    pointer-events: auto;
    background: url("../images/arrow_w02.svg") no-repeat right 20px center;
    transition: all 0.3s;
    letter-spacing: 0.02em;
}
.sec06-slide_nav_bt.slick-current {
    pointer-events: none;
}
.sec06-slide_nav_bt.slick-current {
    background: url("../images/arrow_blue02.svg") #fff no-repeat right 20px center;
    color: var(--mcolor);
}
.sec06-slide_nav_bt span {
    font-family: var(--f-en);
    font-weight: 600;
    font-size: 30px;
    width: 50px;
    flex-shrink: 0;
    letter-spacing: 0em;
}
.sec06_txt p {
    line-height: 1.66;
    letter-spacing: 0.03em;
}
.sec06_txt {
    margin-bottom: 48px;
}
/*============= SEC07 ==============*/
.sec07 {
    /*background: var(--mcolor);*/
    padding-bottom: 60px;
    padding-top: 100px;
}
.sec07_ytb {
    display: block;
    margin: 0 auto 30px;
    position: relative;
    z-index: 9;
}
.sec07_ytb lite-youtube {
    max-width: 677px;
    margin: 0 auto;
}
.sec07_ytb iframe {
    width: 677px;
    height: 380px;
}
.sec07_ytb:before {
    position: absolute;
    content: "";
    width: 831px;
    height: 100%;
    background: url("../images/brush02_l.png") no-repeat left center/38px, url("../images/brush02_r.png") no-repeat right center/38px;
    left: calc(50% - 414px);
    top: 39px;
    pointer-events: none;
}
.sec07_txt {
    margin-bottom: 38px;
    text-align: center;
    color: var(--mcolor);
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.sec07_txt span {
    font-size: 80%;
}
/*============= SEC08 ==============*/
.sec08 {
    padding-top: 108px;
    padding-bottom: 224px;
    background: url("../images/idx_bg03.png") no-repeat center bottom/1920px;
}
.sec08_bnr {
    width: 100%;
    height: 229px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: url("../images/idx_par02.png")#f7f7f7 repeat left top;
    border-radius: 20px;
    border: 6px #BFBFBF solid;
    position: relative;
    justify-content: center;
    padding-bottom: 11px;
    margin-bottom: 85px;
    transition: all 0.3s;
    cursor: pointer;
}
.sec08_bnr > a {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 9;
    left: 0;
    top: 0;
}
.sec08_bnr:before {
    position: absolute;
    content: "";
    background: url("../images/idx_pp06.png") no-repeat center top/231px;
    width: 231px;
    height: 256px;
    bottom: -2px;
    left: 54px;
    display: none;
}
.sec08_bnr_tt01 {
    margin-bottom: 20px;
    width: 490px;
    height: 47px;
    background: var(--mcolor);
    color: #fff;
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 26px;
    transition: all 0.3s;
    letter-spacing: 0.03em;
}
.sec08_bnr_tt02 {
    margin-bottom: 0;
    font-weight: 700;
    font-size: 53px;
    color: var(--mcolor);
    line-height: 1;
    transition: all 0.3s;
    letter-spacing: 0.03em;
}
.sec08_icon {
    position: absolute;
    right: 49px;
    top: calc(50% - 53px);
    transition: all 0.3s;
}
.sec08_ttl {
    position: relative;
    text-align: center;
    margin-bottom: 124px;
    /* position: relative; */
    /* left: 5px; */
}
.sec08_en {
    font-size: 171px;
    color: #EDF8FF;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    line-height: 1;
    text-align: center;
}
.sec08_ttl .ja {
    font-size: 50px;
    font-weight: 700;
    position: relative;
    z-index: 1;
    top: 85px;
    background: url("../images/brush03_l.png") no-repeat left top 23px/35px, url("../images/brush03_r.png") no-repeat right top 23px/35px;
    padding: 0px 70px 0px 70px;
    letter-spacing: 0.02em;
    left: 0px;
    color: #414141;
}
.sec08_ttl .ja .point {
    position: relative;
}
.sec08_ttl .ja .point:before {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    top: -4px;
    margin: 0 auto;
    width: 9px;
    height: 9px;
    background: var(--mcolor);
    border-radius: 50%;
}
.sec08_ttl .ja .small {
    font-size: 90%;
}
.sec08-item {
    display: flex;
}
.sec08-item li {
    width: 356px;
    height: 402px;
    background: var(--mcolor);
    color: #fff;
    border-radius: 28px;
    padding: 34px 28px 20px 31px;
    position: relative;
    transition: all 0.3s;
    border: 5px var(--mcolor) solid;
    cursor: pointer;
}
.sec08-item li > a:before {
    transition: all 0.1s;
    width: 26px;
    height: 23px;
    bottom: -27px;
    right: 60px;
    background: var(--mcolor);
    clip-path: polygon(100% 0, 0 0, 0 100%);
    transform: rotate(0deg);
    background-color: transparent;
}
.sec08-item li:before {
    position: absolute;
    content: "";
    right: 65px;
    background: var(--mcolor);
    clip-path: polygon(100% 0, 0 0, 0 100%);
    transition: all 0.3s;
    width: 22px;
    height: 23px;
    bottom: -27px;
}
.sec08-item li:not(:last-child) {
    margin-right: 16px;
}
.sec08_tt01 {
    font-weight: 700;
    font-size: 28px;
    line-height: 1.46;
    margin-bottom: 13px;
    letter-spacing: 0.02em;
}
.sec08_txt {
    line-height: 1.66;
    margin-bottom: 15px;
    letter-spacing: 0.02em;
}
.sec08_tt01 span {
    color: #FCE800;
}
.sec08_icon01 {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: url("../images/arrow_blue02.svg")#fff no-repeat left 25px center/13px;
    display: flex;
    position: absolute;
    top: 294px;
    right: 27px;
}
.sec08-item li:after, .sec08-item li > a:before {
    position: absolute;
    content: "";
    cursor: pointer;
}
.sec08-item li > a {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 9;
}
.sec08-sub01:after {
    background: url("../images/idx_pp07.png") no-repeat center top/146px;
    width: 146px;
    height: 236px;
    bottom: -120px;
    left: 29px;
    transition: all 0.3s;
}
.sec08-sub02:after {
    background: url("../images/idx_pp08.png") no-repeat center top/146px;
    width: 146px;
    height: 236px;
    bottom: -120px;
    left: 39px;
    transition: all 0.3s;
}
.sec08-sub03:after {
    background: url("../images/idx_pp09.png") no-repeat center top/173px;
    width: 173px;
    height: 236px;
    bottom: -120px;
    left: 21px;
}
/*============= SEC08 ==============*/
.sec09 {
    background: url("../images/idx_bg04.jpg") no-repeat center top/cover;
    height: 804px;
    padding-top: 83px;
    position: relative;
    max-width: 1920px;
    margin: 0 auto;
    overflow: hidden;
	background-attachment: fixed
}
.sec09 .inner {
    position: relative;
    z-index: 1;
    padding-top: 77px;
    color: #fff;
    height: 100%;
}
.sec09 .inner:before, .sec09 .inner:after {
    position: absolute;
    content: "";
}
.sec09 .inner:after {
    background: url(../images/idx_pp10.png) no-repeat center top / 273px;
    width: 273px;
    height: 391px;
    right: -63px;
    bottom: 0;
}
.sec09 .inner:before {
    position: absolute;
    content: "";
    width: 1230px;
    height: 100%;
    backdrop-filter: blur(4px);
    right: 305px;
    top: 0;
    border-radius: 0 23px 0 0;
    z-index: -1;
    background: rgba(5, 113, 189, 0.12);
    filter: brightness(0.88);
}
.sec09_ttl01 {
    position: relative;
    margin-bottom: 30px;
}
.sec09_ttl01 .bb {
    position: absolute;
    left: -148px;
    top: -121px;
}
.sec09_ttl01 .txt {
    width: 454px;
    height: 61px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border-radius: 47px;
    font-size: 22px;
    font-weight: 700;
    color: var(--mcolor);
    box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.16);
}
.sec09_en {
    font-size: 171px;
    font-weight: 700;
    color: rgba(237, 248, 255, 0.18);
    line-height: 1;
    right: -42px;
    position: absolute;
    margin-bottom: 0px;
    z-index: 2;
    top: 122px;
}
.sec09_ttl {
    display: flex;
    flex-direction: column;
    font-weight: bold;
    margin-bottom: 30px;
    text-shadow: 0px 3px 0px rgba(0, 0, 0, 0.16);
}
.sec09_ttl .sm {
    font-size: 35px;
    margin-bottom: 3px;
    letter-spacing: 0.03em;
}
.sec09_ttl .lg {
    font-size: 46px;
    line-height: 1.36;
    letter-spacing: 0.03em;
}
.sec09_txt {
    width: 685px;
    margin-bottom: 37px;
}
.sec09_txt p {
    line-height: 1.66;
    letter-spacing: 0.025em;
}
/*============= SEC10 ==============*/
.sec10 {
    background: url("../images/idx_par03.jpg") repeat center top;
    padding-top: 125px;
    padding-bottom: 140px;
}
.sec10 .inner {
    position: relative;
    z-index: 2;
}
.sec10_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
    font-weight: 700;
    margin-bottom: 58px;
}
.sec10_ttl .en {
    font-size: 171px;
    font-family: var(--f-en);
    left: -106px;
    right: 0;
    top: -19px;
    margin: 0 auto;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    position: absolute;
    z-index: -1;
    line-height: 1;
}
.sec10_ttl .ja {
    font-size: 50px;
}
.sec10_bb {
    margin-bottom: 2px;
}
.sec10-item {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
    margin-bottom: 30px;
}
.sec10-item li {
    width: 356px;
    background: #fff;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.10);
    padding: 20px 19px 16px;
    margin-bottom: 15px;
    transition: all 0.3s;
    position: relative;
}
.sec10-item li > a {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 9;
    border-radius: 20px;
}
.sec10-img {
    text-align: center;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 19px;
    height: 202px;
}
.sec10-img img {
    max-width: 100%;
    max-height: 100%;
    flex-shrink: 0;
    width: auto;
    height: auto;
}
.sec10-tt, .sec10-point {
    text-align: center;
}
.sec10-tt {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 0px;
    line-height: 1.5;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    letter-spacing: 0.03em;
}
.sec10-point {
    font-size: 14px;
    letter-spacing: 0.05em;
}
/*============= SEC11 ==============*/
.sec11 {
    padding-top: 155px;
    padding-bottom: 120px;
    position: relative;
    background: url(../images/company_img_1.jpg) no-repeat 0 0 / 100%;
	margin-bottom: 100px;
}
.sec11::before {
    content: '';
    background: rgba(255,255,255,0.8);
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0
}
.sec11 .box_sec01{
    border: 3px var(--mcolor) solid;
    padding: 30px 25px 40px;
    width: var(--container);
    margin: 100px auto 0;
    position: relative;
    max-width: 100%;
    background: #fff
}
.sec11 .inner {
    position: relative;
    z-index: 1;
}
.sec11_ttl {
    margin-bottom: 64px;
}
.sec11_ttl .en, .sec11_ttl .ja, .sec11_ttl01 {
    font-weight: 700;
}
.sec11_ttl .en {
    position: absolute;
    font-size: 171px;
    font-family: var(--f-en);
    color: #EDF8FF;
    left: -28px;
    top: 45px;
    z-index: -1;
}
.sec11_ttl .ja {
    font-size: 50px;
    color: var(--mcolor);
    letter-spacing: 0.02em;
}
.sec11_ttl01 {
    font-size: 25px;
    color: var(--mcolor);
    line-height: 1.6;
    margin-bottom: 33px;
    letter-spacing: 0.025em;
}
.sec11_txt {
    width: 590px;
    margin-bottom: 45px;
}
.sec11_txt p {
    letter-spacing: 0.03em;
    line-height: 1.66;
}
.sec11-item {
    display: flex;
}
.sec11-item-l {
    width: 624px;
}
.sec11-img {
    position: relative;
    right: -30px;
}
/*.sec11_img01 {
    position: relative;
    border-radius: 50%;
    display: block;
}
.sec11_img01:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 11px #E0E0E0 solid;
    left: 0;
    top: 0;
}*/
.sec11_bb {
    position: absolute;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: var(--mcolor);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    left: 0px;
    bottom: -70px;
    line-height: 1.4;
    font-size: 19px;
    font-weight: 500;
    letter-spacing: 0.02em;
}
.sec11_bb .sm {
    font-size: 79%;
    margin-bottom: 2px;
}
.sec11-item-r {
    padding-top: 34px;
}
/*============= SEC12 ==============*/
.sec12 {
    padding-top: 80px;
}
.sec12 .inner {
    width: 100%;
    padding: 0px;
}
.sec12.maxw95 .inner{
    max-width: 95%;
}
.sec12-item {
    display: flex;
    justify-content: space-between;
}
.sec12_load {
    position: relative;
    z-index: 1;
}
.sec12_load dl {
    border-bottom: 1px #DEDEDE solid;
    display: flex;
    align-items: center;
    padding: 18px 0 19px;
    background: url("../images/arrow_gray.svg") no-repeat right 3px center;
    cursor: pointer;
}
.sec12_load dt {
    font-size: 15px;
    margin-right: 25px;
    cursor: pointer;
}
.sec12_load dd {
    width: calc(100% - 120px);
}
.sec12_load dd a {
    display: block;
    font-weight: 500;
    letter-spacing: 0.02em;
    width: 100%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.sec12-item li {
    width: 100%;
    background: #f7f7f7;
    padding-top: 88px;
    position: relative;
    padding-bottom: 88px;
}
.sec12-item-l {
    border-radius: 0 28px 28px 0;
    padding-right: 63px;
}
.sec12-item-r {
    border-radius: 28px 0 0 28px;
    padding-left: 63px;
}
.sec12.maxw95 .inner .sec12-item-l,
.sec12.maxw95 .inner .sec12-item-r{
    border-radius: 28px;
    padding: 88px 63px 88px 63px;
}
.sec12_wrap {
    width: 785px;
    margin: auto;
}
.sec12-item-l .sec12_wrap {
    margin-left: auto;
}
.sec12-item-r .sec12_wrap {
    margin-right: auto;
}
.sec12_ttl {
    z-index: 1;
}
.sec12_ttl .en {
    font-size: 141px;
    font-weight: bold;
    position: absolute;
    color: #fff;
    z-index: -1;
}
.sec12_ttl .ja {
    color: var(--mcolor);
    font-size: 26px;
    font-weight: 700;
    position: relative;
    top: 3px;
}
.sec12-item-l .sec12_ttl .en {
    left: 115px;
    top: 10px;
}
.sec12-item-r .sec12_ttl .en {
    right: 49px;
    bottom: 7px;
}
.sec12-item-r .sec12_ttl .ja {
    color: var(--scolor);
}
.sec12_wrap_tt {
    display: flex;
    justify-content: space-between;
    margin-bottom: 21px;
}
.sec12_btn {
    position: relative;
    z-index: 1;
}
.sec12_btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    width: 140px;
    height: 56px;
    border-radius: 28px;
    background: var(--mcolor);
    text-align: center;
    font-weight: 700;
}
.sec12-item-r .sec12_btn a {
    background: var(--scolor);
}
.sec13 {
    padding: 80px 0 0px;
}
.sec13 .inner {
    width: 1230px;
}
.sec13_ttl {
    font-size: 26px;
    font-weight: 700;
    background: var(--mcolor);
    color: #fff;
    text-align: center;
    padding: 10px 15px;
    margin-bottom: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sec13_ttl .sm {
    font-size: 80%;
    position: relative;
    top: 2px;
}
.sec13-item {
    display: flex;
    position: relative;
    padding: 0 15px
}
.sec13-item:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 60px;
    background: #FCE800;
    left: 0px;
    top: -15px;
    z-index: -1;
}
.sec13-item li:not(:last-child) {
    margin-right: 15px;
}
.sec13-item li .img {
    margin-bottom: 0px;
}
.sec13-item li .tt {
    padding: 10px;
    background: var(--mcolor);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.4;
    height: 105px;
}
.sec13-item li .tt .sm {
    font-size: 13px;
}
.sec13-item li .tt .lg {}
.sec13.fix_top{
    padding: 0 0 75px 0;
}
.sec13.fix_top .sec13_ttl{
    margin-bottom: 0 !important;
}
/*==========================================================
                        F O O T E R
==========================================================*/
footer {
    position: relative;
    z-index: 3;
}
.ft_map {
    height: 510px;
}
.ft_map iframe {
    width: 100%;
    height: 100%;
    filter: grayscale(1);
}
.ft_info ul {
    display: flex;
    height: 753px;
}
.ft_info_r {
    width: 50%;
    padding-top: 111px;
}
.ft_info_l {
    width: calc(50% - 146.5px);
    margin-right: 86px;
}
.ft_info_l p {
    margin-bottom: 0px;
}
.ft_info_l p, .ft_info_l img {
    width: 100%;
    height: 100%;
}
.ft_info_l img {
    object-fit: cover;
}
.ft_info_r_w {
    width: 620px;
}
.logo_ft {
    text-align: center;
    margin-bottom: 39px;
}
.ft_box_info {
    margin-bottom: 33px;
    padding-left: 51px;
}
.ft_tel {
    margin-bottom: 16px;
}
.ft_box_info dt {
    position: relative;
    width: calc(100% - 52px);
    margin-bottom: 10px;
}
.ft_box_info dt:before, .ft_box_info dt:after {
    position: absolute;
    content: "";
    width: 185px;
    height: 1px;
    background: #AAAAAA;
    top: 50%;
}
.ft_box_info dt:before {
    left: 0;
}
.ft_box_info dt:after {
    right: 0;
}
.ft_box_info dt span {
    display: table;
    margin: 0 auto;
    font-weight: 700;
}
.ft_info {
    background: url("../images/idx_par04.png") repeat-y left 700px top;
}
.ft_box_info dd p {
    display: flex;
    align-items: center;
    margin-bottom: 2px;
    letter-spacing: 0.025em;
}
.ft_box_info01 span {
    margin-right: 18px;
}
.ft_box_info02 span {
    margin-right: 10px;
}
.ft_box_info03 span {
    margin-right: 10px;
}
.ft_box_info dd span {
    width: 108px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-weight: 500;
    background: #EFEFEF;
    border-radius: 16px;
}
.ft_tel a {
    font-size: 47px;
    font-weight: 700;
    font-family: var(--f-en);
    color: var(--mcolor);
    display: table;
    margin: 0 auto;
    background: url("../images/icon_tel.png") no-repeat left center/56px;
    padding: 15px 0 15px 70px;
    letter-spacing: 0.05em;
}
.ft_bt {
    display: flex;
}
.ft_bt li a {
    width: 302px;
    height: 86px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    border-radius: 10px;
    box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.16);
    line-height: 1.4;
}
.ft_bt li.ft_bt_mail a {
    background: var(--scolor);
}
.ft_bt li.ft_bt_mail a span {
    background: url("../images/icon_mail.png") no-repeat left center/33px;
    padding-left: 44px;
}
.ft_bt li.ft_bt_line a {
    background: #05ac08;
}
.ft_bt li.ft_bt_line a span {
    background: url("../images/icon_line.png") no-repeat left center/43px;
    padding: 5px 0 5px 54px;
}
.ft_link {
    padding: 91px 0 78px;
    background: #F7F7F7;
}
.ft_link .inner {
    display: flex;
    justify-content: space-between;
}
.ft_link ul li.big {
    border-bottom: 1px #AAAAAA solid;
    padding-bottom: 5px;
    margin-bottom: 14px;
}
.ft_link ul li.big.mt01 {
    margin-top: 38px;
}
.ft_link ul li.big.mt02 {
    margin-top: 33px;
}
.ft_link ul li.big.mt03 {
    margin-top: 30px;
}
.ft_link ul li.big.mt04 {
    margin-top: 44px;
}
.ft_link ul li.big, .ft_link ul li.big a {
    color: var(--mcolor);
    font-size: 20px;
    font-weight: 700;
}
.ft_link ul:nth-child(1) {
    width: 328px;
}
.ft_link ul:nth-child(2) {
    width: 352px;
}
.ft_link ul:nth-child(3) {
    width: 260px;
}
.ft_link ul li {
    line-height: 1.85;
}
.ft_link ul li.ft_line {
    line-height: 1.3;
    margin-top: 6px;
}
.ft_link ul li a {
    font-size: 16px;
}
.ft_link ul li a span {
    font-weight: bold;
}
address {
    background-color: var(--mcolor);
    padding: 25px 20px 24px;
    color: #fff;
    text-align: center;
    font-size: 14px;
}
/* BACK TO TOP */
.to_top {
    position: fixed;
    z-index: 9;
    width: 70px;
    height: 70px;
    bottom: 10px;
    right: 10px;
    cursor: pointer;
    transition: all .2s;
    opacity: 0;
    visibility: hidden
}
.to_top img {
    border-radius: 50%;
    border: 1px #fff solid;
}
.to_top.show {
    transform: scale(1);
    opacity: 1;
    visibility: visible
}
a.txt_link{
	text-decoration: underline
}
a.txt_link:hover{
	text-decoration: none
}
#company main #content > .inner {
  order: 4;
}
#company main #content > .box_bg_fixed{
	background: url(../images/un_bg_bnr.jpg) no-repeat center center / cover;
    position: relative;
    background-attachment: fixed;
	order: 3;
	padding: 115px 0 0;
    margin-top: -110px;
    z-index: -1;
}
.supervisioninfo{
    width: 920px;
    padding: 20px 30px;
    border: 2px solid var(--mcolor);
    margin: 0 auto;
}
.supervisioninfo .ttldate{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
}
.supervisioninfo .ttldate .ttl{
    font-size: 22px;
    color: var(--mcolor);
    margin-bottom: 0;
}
.supervisioninfo .ttldate .date{
    margin-bottom: 0;
}
.supervisioninfo dl{
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}
.supervisioninfo dl dt{
    width: 240px;
    margin-top: 12px;
}
.supervisioninfo dl dd{
    width: calc(100% - 260px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap
}
.supervisioninfo dd .name{
    font-weight: bold;
    font-size: 22px;
    margin-bottom: 10px
}
.supervisioninfo dd .button{
    width: 260px;
    height: 50px;
    margin-bottom: 10px
}
.supervisioninfo dd .button a{
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: none;
    border-radius: 26px;
    border: 2px solid var(--mcolor);
    color: var(--mcolor);
    transition: 0.3s ease;
    padding-bottom: 3px;
}
.supervisioninfo dd .button a::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 10px;
    border-color: transparent transparent transparent var(--mcolor);
    position: absolute;
    top: calc(50% - 5px);
    right: 15px;
}
.supervisioninfo dd .button a:hover{
    opacity: 0.85
}
.supervisioninfo dd .cont{
    width: 100%;
}
/*--top-test*/
.h1_inner {
    width: 100%;
}
h1.top-h1 {
    font-size: 11px;
    padding: 5px 0 3px;
    width: 100%;
    box-sizing: border-box;
}
.top-test main ,
.index-page main{
    padding-top: 27px;
}
h2.h201 {
        font-size: 38px;
        text-align: center;
        font-weight: bold;
    }
h2.h201 span {
    font-size: 46px;
}
.top-test .sec12-item li,
.index-page .sec12-item li{
        width: calc(50% - 10px);
}
.top-test .sec12_wrap,
.index-page .sec12_wrap{
        width: 100%;
        box-sizing: border-box;
    }
.btn01 {
	max-width: 300px;
    background: var(--scolor);
    color: #fff;
    padding: 10px 40px 10px 10px;
    box-sizing: border-box;
    text-align: center;
    font-weight: bold;
    transition: 0.3s all;
    width: 100%;
    border-radius: 40px;
    position: relative;
    display: block;
    margin: 0 auto;
}
.btn01:hover {
    background: var(--mcolor);
}
.btn01:before {
    position: absolute;
    content: "";
    background: #fff;
    width: 40px;
    height: 40px;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
}
.btn01:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 9px 0 9px 13px;
    border-color: transparent transparent transparent var(--scolor);
    right: 21px;
    top: 50%;
    transform: translateY(-50%);
}
.btn_fix{
	position: fixed;
    z-index: 9;
    width: 150px;
    bottom: 100px;
    right: 10px;
    cursor: pointer;
    transition: all .2s;
	    opacity: 0;
    visibility: hidden;
}
.btn_fix.show {
    transform: scale(1);
    opacity: 1;
    visibility: visible;
}
.btn_fix a {
    width: 100%;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--scolor);
    font-size: 14px;
    color: #fff;
    font-weight: bold;
    box-shadow: 0px 5px 0px 0px rgba(0, 0, 0, 0.16);
    letter-spacing: 0.02em;
    padding: 3px;
	text-align: center;
    line-height: 1.7em;
}
.btn_fix a:hover {
        background: #fff;
        color: var(--mcolor);
    }
@media screen and (min-width: 751px) {
    .top-test h1.top-h1,
   h1.top-h1{display: none ;}

}
@media screen and (max-width: 750px) {
    .top-test main {
    padding-top: 75px;
    }
    .top-test .h_box {
        height: 75px;
    }
    .h_left {
        width: 240px;
        height: 50px;
    }
   h1.top-h1{
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;

    }
    nav {
        top: 75px;
    }
  .h_inner {
        height: auto;
    }
    /*  */
    .index-page main {
        padding-top: 75px;
        }
        .index-page .h_box {
            height: 75px;
        }
        .index-page .h_left {
            width: 240px;
            height: 50px;
        }
       h1.top-h1{
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
    
        }
        .index-page nav {
            top: 75px;
        }
        .index-page .h_inner {
            height: auto;
        }
    h2.h201 {
        font-size: 4vw;
        text-shadow: 0.2vw 0.2vw 0.4vw rgba(66, 68, 90, 1);
    }
    h2.h201 span {
        font-size: 5vw;
    }



}

/* FIREFOX ONLY */
@-moz-document url-prefix() {}
/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resolution: 0.001dpcm) {}