@charset "UTF-8";
@import "base.css";
@import "fonts.css";
/*==========================================================================*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/

/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
:root {
    --font-main: '游ゴシック体", "Yu Gothic", YuGothic, sans-serif';
    /* FONT SITE */
    --txt: #000;
    /* COLOR TEXT */
    --mcolor: #003b7d;
    /* MAIN COLOR  */
    --scolor: #999999;
    /* SUB COLOR */

    /* CUSTOM COLOR */
    --blue: blue;
    --gray: #e9e9e9;
    --red: red;
    --f-nts: 'Noto Sans JP', sans-serif;
    --f-nsr: 'Noto Serif JP', serif;
    --f-yumin: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
    --f-yugo: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
    font-size: 160%;
    -webkit-text-size-adjust: none;
    font-weight: 500;
}

a {
    transition: all ease 0.3s;
    text-decoration: none;
    color: var(--txt);
}

select {
    visibility: visible !important;
}

[href^="tel:"] {
    word-break: keep-all;
}

img {
    vertical-align: middle;
    max-width: 100%;
    flex-shrink: 0;
    height: auto;
}

*,
::before,
::after {
    box-sizing: border-box;
    outline: none;
}

/* RESET CHECK EMPTY */
/* img:not([alt]),
img[alt=''] {outline: 0 0 5px red;}
a[href=""],
a[href="#"],
a[href^="javascript:"],
a:not([href]) {background: red;} */

/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html {
    background: #fff;
}

body {
    color: var(--txt);
    -webkit-text-size-adjust: none;
    min-width: 320px;
    font-family: var(--font-main);
}

table {
    width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.4;
}

p,
dd,
dt,
li,
th,
td,
address {
    line-height: 1.4;
    letter-spacing: 0;
}

p {
    margin: 0 0 15px;
}

p:last-child {
    margin-bottom: 0;
}

#wrapper {
    min-width: 1260px;
    overflow: hidden;
    margin: 0 auto
}

.inner {
    width: 1152px;
    box-sizing: border-box;
    margin: 0 auto;
    position: relative;
    max-width: 100%;
}

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

/*==========================================================
                      C U S T O M 
==========================================================*/
.flex_wrap {
    display: flex;
    flex-wrap: wrap;
}

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

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

.flex_align {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.flex_col {
    display: flex;
    flex-direction: column;
}

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

.fixed {
    position: fixed;
}

.posr {
    position: relative;
}

.bold {
    font-weight: bold;
}

.center {
    text-align: center;
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

.auto {
    margin-left: auto;
    margin-right: auto;
}

.red {
    color: var(--red);
}

.txt_line {
    text-decoration: underline;
}

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

.f_big {
    font-size: 150%;
}

.f_sm {
    font-size: 80%;
}

/*==========================================================
                       H E A D E R
==========================================================*/
header {}

h1 {}

header.fixed {
    position: fixed;
    z-index: 999;
    background-color: #fff;
    top: -23px;
}

/*==========================================================
                  M A I N    V I S U A L
==========================================================*/

main {
    background-color: #fff;
}


/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* use private */
/* 
xanh đậm text hình main: 0f4e96
xanh nhạt text heading: #2584f6 , đậm: #0e5598
icon: #308cec
xanh nhạt heading: #1c95e5
xanh đậm bg: #124d94
xanh border: #478cb0
*/
.btn a {
    color: #fff !important;
}

a:hover {
    text-decoration: none;
}

.btn {
    text-align: center;
}

.btn a {
    display: inline-block;
    padding: 10px 24px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    border-radius: 8px;
    border: 2px solid #0f4e96;
    background-color: #0f4e96;
}

.btn a:hover {
    text-decoration: none;
    color: #0f4e96 !important;
    background-color: #fff !important;
}

.btn.btn_w a {
    color: #0f4e96 !important;
    background-color: #fff;
}

.btn.btn_w a:hover {
    text-decoration: none;
    color: #fff !important;
    background-color: #0f4e96 !important;
}

.btn.voice a {
    background: url(../images/voice.svg)no-repeat calc(50% - 75px) center #0f4e96;
    padding-left: 50px;
}

.btn.voice a:hover {
    background: url(../images/voice02.svg)no-repeat calc(50% - 75px) center #fff;
}

.btn.voice.v02 a {
    background: url(../images/voice.svg)no-repeat calc(50% - 96px) center #0f4e96;
    padding-left: 50px;
}

.btn.voice.v02 a:hover {
    background: url(../images/voice02.svg)no-repeat calc(50% - 96px) center #fff;

}


.btn.voice.btn_w a {
    background: url(../images/voice02.svg)no-repeat calc(50% - 75px) center #fff;
    padding-left: 50px;
}

.btn.voice.btn_w a:hover {
    background: url(../images/voice.svg)no-repeat calc(50% - 75px) center #0f4e96;
}

.btn.tel a {
    background: url(../images/tel.svg)no-repeat calc(50% - 60px) center;
    padding-left: 50px;
}

.btn.tel.btn_w a:hover {
    color: #fff;
    text-decoration: none;
    background-color: #0f4e96;
    background: url(../images/tel_w.svg)no-repeat calc(50% - 60px) center #0f4e96;
}

.btn.camera a {
    background: url(../images/camera.svg)no-repeat calc(50% - 85px) center #0f4e96;
    padding-left: 50px;
}

.btn.camera a:hover {
    background: url(../images/camera02.svg)no-repeat calc(50% - 85px) center #fff;
}

/*==================== SEC01 ===================*/
#sec01 {
    padding: 80px 0;
}

#sec01 p.tg_h1 {
    color: #000;
    font-size: 60px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}

#sec01 .txt-sub {
    color: #0f4e96;
    font-size: 24px;
    font-weight: bold;
}

#sec01 .txt-sub2 {
    font-size: 20px;
}

.contact-btn {
    margin: 45px 0;
    display: flex;
    justify-content: center;
    gap: 30px;
}

.s01-box01 .sec01_merit_list {
    /*width: 896px;*/
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.s01-box01 .sec01_merit_list .sec01_merit_item {
    /*width: 278px;
    height: 222px;*/
	width: 362px;
	background: #bdd7ee;
    padding: 0;
    /*border: 1px solid #a7a7a7;
    border-radius: 8px;*/
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;

    display: flex;
    flex-direction: column;
    /*justify-content: center;*/
    align-items: center;
}

.s01-box01 .sec01_merit_list .sec01_merit_item p {
    margin-bottom: 0;
}

.s01-box01 .sec01_merit_list .sec01_merit_item .img {
    display: block;
    text-align: center;
    margin-bottom: 15px;
}

.s01-box01 .sec01_merit_list .sec01_merit_item img {
    /*width: 48px;
    height: 48px;*/
}

.s01-box01 .sec01_merit_list .sec01_merit_item h4 {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    
}
.merit_txt {
	padding: 10px 15px 15px;
	line-height: 1.5;
	font-size: 16px;
}


.contact-btn li a {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 208px;
    height: 40px;
    border: 2px solid #0f4e96;
    border-radius: 4px;
    font-size: 18px;
    font-weight: bold;
    color: #0f4e96;

    padding-left: 30px;
}

.contact-btn li.mail a {
    color: #fff;
    background-color: #0f4e96;
    background: url(../images/mail.svg)no-repeat left 10px center #0f4e96;
}

.contact-btn li.mail a:hover {
    color: #0f4e96;
    text-decoration: none;
    background-color: #fff;
    background: url(../images/mail02.svg)no-repeat left 10px center #fff;
}

.contact-btn li.tel a {
    background: url(../images/tel.svg)no-repeat left 15px center;
}

.contact-btn li.tel a:hover {
    color: #fff;
    text-decoration: none;
    background-color: #0f4e96;
    background: url(../images/tel_w.svg)no-repeat left 15px center #0f4e96;
}


/*==================== SEC02 ===================*/
#sec02 {
    padding: 80px 0;
}

#sec02 h2 {
    color: #0f4e96;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}

#sec02 .txt-sub,
#sec02 .txt-sub2 {
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
}

#sec02 .txt-sub2 {
    margin-bottom: 32px;
}

.s02-box01 {
    padding: 64px 0;
}

.s02-box01 ul {
    width: 1152px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.s02-box01 ul li {
    width: 362px;
    height: 324px;
    padding: 32px 24px;
    border: 1px solid #a7a7a7;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;

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

.s02-box01 ul li p {
    margin-bottom: 0;
}

.s02-box01 ul li .img {
    text-align: center;
    margin-bottom: 15px;
    width: 64px;
    height: 64px;

    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background-color: #f0f4f7;
}

.s02-box01 ul li img {
    width: 32px;
    height: 32px;
}

.s02-box01 ul li h3 {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}

.s02-box01 ul li p {
    font-size: 16px;
    text-align: center;
}

.s02-box02 {
    padding: 48px 48px;
    border-radius: 5px;
    background: #f0f4f7;
    box-shadow: rgba(17, 17, 26, 0.1) 0px 1px 0px;
}

.s02-box02 h3 {
    color: #0f4e96;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}

/*==================== SEC03 ===================*/
#sec03 {
    padding: 80px 0;
}

#sec03 h2 {
    color: #0f4e96;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}

#sec03 .txt-sub,
#sec03 .txt-sub02 {
    font-size: 18px;
}

#sec03 .sec03_box_tit .img_r{ max-width: 168px; height: auto;}

.s03-box01 {
    padding: 30px 0 64px;
}

.s03-box01 ul {
    width: 1152px;
    margin: 0 auto;
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    justify-content: space-between;
}

.s03-box01 ul li {
    width: 362px;
    min-height: 324px;
    padding: 24px 26px;
    border: 1px solid #a7a7a7;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;

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

.s03-box01 ul li .img {
    text-align: center;
    margin-bottom: 15px;
    width: 64px;
    height: 64px;

    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background-color: #f0f4f7;
}

.s03-box01 ul li img {
    width: 32px;
    height: 32px !important;
}

.s03-box01 ul li h3 {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}

.s03-box01 ul li p {
    font-size: 16px;
    text-align: center;
    margin-bottom: 10px;
}

.s03-box01 ul li p.txt2 {
    font-size: 14px;
}

#sec03 .txt-sub02 {
    margin-bottom: 32px;
}

.btn_group.flex_center {
    gap: 15px;
}

/*==================== SEC04 ===================*/
#sec04 {
    padding: 80px 0;
    background-color: #fbfcfd;
}

#sec04 h2 {
    color: #0f4e96;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}

#sec04 .txt-sub {
    font-size: 18px;
    margin-bottom: 0;
}

#sec04 .txt-sub02 {
    font-size: 18px;
    margin-bottom: 32px;
}

.s04-box01 {
    padding: 20px 0 64px;
    max-width: 1100px;
    margin: 0 auto;
}

.s04-box01 ul {
    width: 100%;
    margin: 0 auto 30px;
    display: flex;
    justify-content: space-between;
}

.s04-box01 ul li {
    width: 362px;
    height: 386px;
    padding: 24px 32px;
    border: 1px solid #a7a7a7;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;

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

.s04-box01 ul li p {
    margin-bottom: 0;
}

.s04-box01 ul li .img {
    text-align: center;
    margin-bottom: 15px;
    width: 64px;
    height: 64px;

    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background-color: #f0f4f7;
}

.s04-box01 ul li img {
    width: 32px;
    height: 32px;
}

.s04-box01 ul li h3 {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}

.s04-box01 ul li .price {
    color: #0f4e96;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
    line-height: 1.4
}

.s04-box01 ul li:first-child .img {
    background-color: #ffeddc;
}

.s04-box01 ul li:first-child .price {
    color: #ff8e1e;
}

.s04-box01 ul li p {
    font-size: 16px;
    text-align: center;
}

.s04-box01 ul li .txt {
    margin-bottom: 15px;
}

.s04-box01 ul li .txt-fr {
    width: 100%;
    display: block;
    font-size: 14px;
    text-align: center;
    padding: 12px 24px;
    color: #0f4e96;
    background-color: #f0f4f7;
    border-radius: 6px;
}

.s04-box01 ul li:first-child .txt-fr {
    color: #ff8e1e;
    background-color: #ffeddc;
}

.s04-box01 ul li:nth-child(2) {
    border: none;
    box-shadow: none;
}

.s04-box01 ul li:nth-child(2) .txt {
    color: #0f4e96;
    font-weight: bold;
}

/*-----*/
.s04-box01 ul li.org,
.s04-box01 ul li.blue {
    width: 40%;
    height: inherit;
    padding: 24px 25px !important;
    border: 1px solid #a7a7a7;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #fff !important;
}

.s04-box01 ul li.arr {
    width: 20%;
    height: inherit
}

.s04-box01 ul li.org .price {
    color: #ff8e1e;
}

.s04-box01 ul li.blue .price {
    color: #0f4e96;
}

.s04-box01 ul li.org .txt-fr {
    color: #ff8e1e;
    background-color: #ffeddc;
}

.s04-box01 ul li.blue .txt-fr {
    color: #0f4e96;
    background-color: #f0f4f7;
}

/*-----*/
.s04-box02 {
    margin-bottom: 64px;
    padding: 30px 48px;
    border-radius: 8px;
    background-color: #f0f4f7;

}

.s04-box02 ul {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    justify-content: center;
}

.s04-box02 ul li.full {
    width: 100%;
}

.s04-box02 ul li {
    width: 40%;
    text-align: center;
}

.s04-box02 ul li p.txt {
    font-size: 18px;
}

.s04-box02-i.i01 {
    display: flex;
    align-items: center;
    justify-content: center;
}

.s04-box02-i.i01 .img {
    margin-right: 15px;
}

.s04-box02-i.i01 .content {
    text-align: center;
}

.s04-box02-i.i01 .content h3 {
    font-size: 24px;
    font-weight: bold;
}

.s04-box02-i.i01 .content p {
    font-size: 16px;
}

.s04-box02-i .price {
    color: #0f4e96;
    font-size: 48px;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 10px;
}

.s04-box02-i.i02 .price {
    color: #2584f6;
}


.s04-box03 {
    margin-bottom: 48px;
    padding: 32px 32px;
    border-radius: 8px;
    box-shadow: rgba(50, 50, 105, 0.15) 0px 2px 5px 0px, rgba(0, 0, 0, 0.05) 0px 1px 1px 0px;
}

.s04-box03 h4 {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 32px;
}

.s04-box03-item {
    display: flex;
    align-items: center;
    margin-bottom: 24px;
}

.s04-box03-item dt {
    width: 80px;
    font-size: 14px;
}

.s04-box03-item dd {
    position: relative;
    width: calc(100% - 80px);
    height: 32px;
    background: #e4f4ff;
    border-radius: 40px;
    overflow: hidden;
}

.s04-box03-item.i01 dd::before {
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    background-color: #ff8e1e;
}

.s04-box03-item.i01 dd::after {
    position: absolute;
    content: "¥120,000";
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
}

.s04-box03-item.i02 dd:before {
    position: absolute;
    content: "";
    height: 100%;
    width: 58.33%;
    background-color: #0f4e96;
    border-radius: 40px;
}

.s04-box03-item.i02 dd::after {
    position: absolute;
    content: "¥70,000";
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    top: 50%;
    transform: translateY(-50%);
    width: 58.33%;
    left: 0;
    text-align: right;
    padding-right: 20px;
}

.s04-box03-item.i03 dd:before {
    position: absolute;
    content: "";
    height: 100%;
    width: 41.67%;
    background-color: #2584f6;
    border-radius: 40px;
}

.s04-box03-item.i03 dd::after {
    position: absolute;
    content: "¥50,000";
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    top: 50%;
    transform: translateY(-50%);
    width: 41.67%;
    left: 0;
    text-align: right;
    padding-right: 20px;
}

/*==================== SEC05 ===================*/
#sec05 {
    padding: 80px 0;
}

#sec05 h2 {
    color: #0f4e96;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}

#sec05 .txt-sub {
    font-size: 18px;
}

.s05-box01 {
    padding: 64px 0;
}

.s05-box01 ul {
    position: relative;
    display: flex;
    gap: 30px;
    align-items: flex-start;
    justify-content: space-between;
}

.s05-box01 ul::after {
    position: absolute;
    z-index: 0;
    content: "";
    height: 2px;
    width: 100%;
    top: 64px;
    left: 0;
    right: 0;
    background-color: #003b7d;
}


.s05-box01 ul li {
    position: relative;
    z-index: 1;
    width: calc(100% / 5);
}

.s05-box01 ul li .step-img {
    margin: 0 auto 30px;
    width: 128px;
    height: 128px;
    border-radius: 50%;
    background-color: #003b7d;
    display: flex;
    align-items: center;
    justify-content: center;
}

.s05-box01 ul li:nth-child(2n) .step-img {
    background-color: #2584f6;
}

.s05-box01 ul li .content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.s05-box01 ul li h3 {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}

.s05-box01 ul li .content .en-ttl {
    font-size: 14px;
    font-weight: bold;
    line-height: 1;
    margin: 0 auto 10px;
    padding: 6px 18px;
    border-radius: 15px;
    display: inline-block;
    background-color: #003b7d;
    color: #fff;
}

.s05-box01 ul li:nth-child(2n) .content .en-ttl {
    background-color: #2584f6;
}

.s05-box01 ul li .content .txt {
    font-size: 14px;
    text-align: center;
}

.s05-box02 {
    padding-bottom: 64px;
}

.s05-box02 ul {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.s05-box02 ul li {
    width: 362px;
    height: 238px;
    padding: 24px 17px;
    border: 1px solid #a7a7a7;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;

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

.s05-box02 ul li .img {
    display: block;
    text-align: center;
    margin-bottom: 15px;
}

.s05-box02 ul li img {
    width: 48px;
    height: 48px;
}

.s05-box02 ul li h3 {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}

.s05-box02 ul li p {
    font-size: 14px;
    text-align: center;
    margin-bottom: 0;
}

#sec05 .txt-sub02 {
    font-size: 18px;
    margin-bottom: 32px;
	font-weight: bold;
}




/*==================== SEC06 ===================*/
#sec06 {
    padding: 80px 0;
}

#sec06 h2 {
    color: #0f4e96;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}

#sec06 .txt-sub02 {
    font-size: 18px;
    margin-bottom: 32px;
	font-weight: bold;
}

.s06-box01 ul {
    width: 1152px;
    padding: 64px 0;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.s06-box01 ul li {
    width: 362px;
    height: 218px;
    padding: 24px 24px;
    border: 1px solid #a7a7a7;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;

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

.s06-box01 ul li .num {
    font-size: 36px;
    font-weight: bold;
    color: #2584f6;
    margin-bottom: 10px;
}

.s06-box01 ul li h3 {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}

.s06-box01 ul li p {
    font-size: 14px;
    text-align: center;
    margin-bottom: 0;
}

.s06-box02 ul {
    width: 1152px;
    padding: 0 0 64px;
    margin: 0 auto;
    display: flex;
    gap: 35px 0;
    flex-wrap: wrap;
    justify-content: space-between;
}

.s06-box02 ul li {
    width: 362px;
    padding: 24px 0;
    border: 1px solid #a7a7a7;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;

    display: flex;
    flex-direction: column;
    transition: all ease 0.3s;
}

.s06-box02 ul li:hover {
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 10px;
}

.s06-box02 ul li>.img {
    position: relative;
    width: 100%;
    height: 192px;
    overflow: hidden;
    margin-bottom: 20px;
}

.s06-box02 ul li>.img::before {
    position: absolute;
    content: "";
    z-index: 1;
    width: 24px;
    height: 24px;
    right: 20px;
    bottom: 20px;
    background: url(../images/s06-camera.svg)no-repeat;
    background-size: contain;
}


.s06-box02 ul li>.img img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}

.s06-box02 ul li>.img span.cate {
    position: absolute;
    left: 10px;
    top: 10px;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    background-color: #003b7d;
    padding: 2px 8px;
    border-radius: 3px;
}

.s06-box02 ul li>.img span.cate.cate02 {
    background-color: #2584f6;
}

.s06-box02 ul li>.s06-content {
    padding: 24px 24px;
}

.s06-box02 ul li>.s06-content .ttl-sub {
    padding-left: 28px;
    margin-bottom: 12px;
    color: #003b7d;
    font-size: 14px;

    background: url(../images/s06-sub01.svg)no-repeat left 0 center;
    background-size: 20px auto;
}

.s06-box02 ul li>.s06-content .ttl-sub.sub02 {
    background: url(../images/s06-sub02.svg)no-repeat left 0 center;
    background-size: 20px auto;
}

.s06-box02 ul li>.s06-content .ttl-sub.sub03 {
    background: url(../images/s06-sub03.svg)no-repeat left 0 center;
    background-size: 20px auto;
}

.s06-box02 ul li>.s06-content .ttl-sub.sub04 {
    background: url(../images/s06-sub04.svg)no-repeat left 0 center;
    background-size: 20px auto;
}

.s06-box02 ul li>.s06-content .ttl-sub.sub05 {
    background: url(../images/s06-sub05.svg)no-repeat left 0 center;
    background-size: 20px auto;
}

.s06-box02 ul li>.s06-content .ttl-sub.sub06 {
    background: url(../images/s06-sub06.svg)no-repeat left 0 center;
    background-size: 20px auto;
}

.s06-box02 ul li>.s06-content h3 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}

.s06-box02 ul li>.s06-content .txt {
    font-size: 14px;
    margin-bottom: 16px;
}

.s06-box02 ul li>.s06-content .txt-sub {
    margin-bottom: 0;
    display: flex;
    justify-content: space-between;
}

.s06-box02 ul li>.s06-content .txt-sub .s01 {
    font-size: 14px;
}

.s06-box02 ul li>.s06-content .txt-sub .s02 {
    font-size: 14px;
    font-weight: bold;
}


.s06-box03 h3 {
    margin-bottom: 32px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.s06-box03 ul {
    padding: 32px 32px;
    margin-bottom: 48px;
    display: flex;
    gap: 30px;
    align-items: flex-start;
    justify-content: center;
}

.s06-box03 ul li {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.s06-box03 ul li>span.img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    margin-bottom: 15px;
    background-color: #f0f4f7;
    display: flex;
    align-items: center;
    justify-content: center;
}

.s06-box03 ul li>span.img img {
    width: 32px;
    height: 32px;
}

.s06-box03 ul li>.txt01 {
    font-size: 16px;
    font-style: italic;
    margin-bottom: 16px;
}

.s06-box03 ul li>.txt02 {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 0;
    padding-bottom: 0;
    border: none
}

.s06-box03 ul li>.txt03 {
    font-size: 14px;
}


/*==================== SEC07 ===================*/
#sec07 {
    padding: 80px 0;
}

#sec07 h2 {
    color: #0f4e96;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}

#sec07 .txt-sub,
#sec07 .txt-sub2 {
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
}

.s07-box01 {
    padding: 64px 0;
    display: flex;
    gap: 35px;
    align-items: flex-start;
}

.s07-box01 .s07-contact-form {
    width: 50%;
    border: 1px solid #a7a7a7;
    border-radius: 8px;
    padding: 56px 32px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.s07-contact-form h3 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 24px;
}

.s07-contact-form .btn.tel a {
    width: 100%;
    height: 40px;
    padding: 6px 24px;
    background: url(../images/tel.svg) no-repeat left 35% center;
    background-size: 18px 18px;
}

.s07-box01 .s07-contact-info {
    width: 50%;
}

.s07-contact-info .s07-info01 {
    padding: 56px 32px;
    margin-bottom: 32px;
    border: 1px solid #a7a7a7;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.s07-info01 h3 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 24px;
}

.s07-info01 dl {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin-bottom: 24px;
}

.s07-info01 dl.last {
    margin-bottom: 0;
}

.s07-info01 dt {
    flex-shrink: 0;
    margin-right: 15px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: #e4f4ff;
    display: flex;
    justify-content: center;
}

.s07-info02 dt .img,
.s07-info01 dt .img {
    display: flex;
    justify-content: center;
    align-items: center;
}

.s07-info01 dd {
    display: flex;
    gap: 10px;
    flex-direction: column;
}

.s07-info01 dd .ttl {
    font-size: 16px;
    font-weight: bold;
}

.s07-info01 dd .txt {
    font-size: 14px;
}

.s07-info01 dd .tel-num {
    font-size: 24px;
    font-weight: bold;
    color: #2584f6;
}

.s07-info01 dd .mail-txt {
    font-size: 18px;
}

.s07-contact-info .s07-info02 {
    padding: 56px 32px;
    margin-bottom: 32px;
    border: 1px solid #a7a7a7;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.s07-info02 h3 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 24px;
}

.s07-info02 dl {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin-bottom: 24px;
}

.s07-info02 dl.last {
    margin-bottom: 0;
}

.s07-info02 dt {
    flex-shrink: 0;
    margin-right: 15px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: #e4f4ff;
    display: flex;
    justify-content: center;
}

.s07-info02 dd {
    display: flex;
    gap: 10px;
    flex-direction: column;
}

.s07-info02 dd .ttl {
    font-size: 16px;
    font-weight: bold;
}

.s07-info02 dd .txt1 {
    font-size: 16px;
    margin-bottom: 10px;
}

.s07-info02 dd .txt2 {
    font-size: 14px;
}

.s07-contact-info .s07-info03 {
    padding: 56px 32px;
    margin-bottom: 32px;
    border: 1px solid #a7a7a7;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.s07-info03 h3 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 24px;
}

.s07-info03 ul li {
    margin-bottom: 14px;
    padding-left: 32px;
    font-size: 14px;
    background: url(../images/s07-info03-01.svg)no-repeat left 0 center;
    background-size: 20px auto;
}

.s07-info03 ul li.it02 {
    background: url(../images/s07-info03-02.svg)no-repeat left 0 center;
    background-size: 20px auto;
}

.s07-info03 ul li.it03 {
    background: url(../images/s07-info03-03.svg)no-repeat left 0 center;
    background-size: 20px auto;
}

.s07-info03 ul li.it04 {
    background: url(../images/s07-info03-04.svg)no-repeat left 0 center;
    background-size: 20px auto;
}

.s07-info03 ul li.it05 {
    background: url(../images/s07-info03-05.svg)no-repeat left 0 center;
    background-size: 20px auto;
}

.s07-box02 {
    padding: 32px 32px;
    border-radius: 5px;
    background-color: #f0f4f7;
    box-shadow: rgba(17, 17, 26, 0.1) 0px 1px 0px;
}

.s07-box02 h3 {
    color: #0f4e96;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}

.s07-box02 .txt-sub2 {
    margin-bottom: 32px;
    font-size: 18px;
}

/*==========================================================
                        CUSTOMER CSS
==========================================================*/
.lp_page #header.top-test .head_contact a {
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
    background: #000 url(../images/head_mail_white.png) no-repeat 10% 18px;
    font-size: 16px;
    border-radius: 8px;
}

.lp_page #sec02 {
    background-color: #f0f4f7;
    box-shadow: rgba(17, 17, 26, 0.1) 0px 1px 0px;
}

.lp_page .s02-box01 ul li {
    background: #fff;
    box-shadow: rgba(50, 50, 105, 0.15) 0px 2px 5px 0px, rgba(0, 0, 0, 0.05) 0px 1px 1px 0px;
}

.lp_page .s02-box02 {
    box-shadow: rgba(50, 50, 105, 0.15) 0px 2px 5px 0px, rgba(0, 0, 0, 0.05) 0px 1px 1px 0px;
    background: #fff;
}

.lp_page #sec04 {
    background-color: #f0f4f7;
    box-shadow: rgba(17, 17, 26, 0.1) 0px 1px 0px;
}

.lp_page .s04-box01 ul li {
    background: #fff;
    box-shadow: rgba(50, 50, 105, 0.15) 0px 2px 5px 0px, rgba(0, 0, 0, 0.05) 0px 1px 1px 0px;
}

.lp_page .s04-box01 ul li:nth-child(2) {
    background: none;
    box-shadow: none;
}

.lp_page .s04-box01 ul li .img {
    background: #fff;
}

.lp_page .s04-box02 {
    box-shadow: rgba(50, 50, 105, 0.15) 0px 2px 5px 0px, rgba(0, 0, 0, 0.05) 0px 1px 1px 0px;
    background: #fff;
}

.lp_page .s04-box03 {
    background: #fff;
}

.lp_page #sec06 {
    background-color: #f0f4f7;
    box-shadow: rgba(17, 17, 26, 0.1) 0px 1px 0px;
}

.lp_page .s06-box01 ul li {
    background: #fff;
    box-shadow: rgba(50, 50, 105, 0.15) 0px 2px 5px 0px, rgba(0, 0, 0, 0.05) 0px 1px 1px 0px;
}

.lp_page .s06-box02 ul li {
    background: #fff;
    box-shadow: rgba(50, 50, 105, 0.15) 0px 2px 5px 0px, rgba(0, 0, 0, 0.05) 0px 1px 1px 0px;
    padding: 0;
}

.lp_page .s06-box02 ul li>.img img {
    border-radius: 8px 8px 0 0;
}

.lp_page .s06-box03 ul li {
    background: #fff;
    box-shadow: rgba(50, 50, 105, 0.15) 0px 2px 5px 0px, rgba(0, 0, 0, 0.05) 0px 1px 1px 0px;
    padding: 20px;
    border-radius: 10px;
}

.lp_page header.fixed {
    top: 0;
    box-shadow: rgba(17, 17, 26, 0.1) 0px 1px 0px;
}

.lp_page .s07-box02 .btn.tel {
    background: #fff;
}

.lp_page .main_mv {
    background-color: #f0f4f7;
    box-shadow: rgba(17, 17, 26, 0.1) 0px 1px 0px;
    padding: 45px 20px;
    margin: 0 0 0px;
}

.lp_page .main_mv .contact-btn {
    margin: 20px 0 0;
    justify-content: center;
}

.lp_page #sec01 {
    padding: 40px 0 80px;
}

.mv_list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1400px;
    width: 100%;
    margin: auto;
}

#wrapper .mv_list .mv_item.it_left {
    width: 684px;
}

#wrapper .mv_list .mv_item.it_right .list_img {
    width: 684px;
    height: 400px;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
}

#wrapper .mv_list .mv_item.it_right p.img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#wrapper .mv_list .mv_item.it_right p.img>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#wrapper .mv_list .mv_item.it_right .caption {
    position: absolute;
    width: 274px;
    background: #fff;
    border-radius: 10px;
    display: block;
    padding: 10px;
    bottom: 20px;
    right: 20px;
    text-align: center;
    box-shadow: rgba(50, 50, 105, 0.15) 0px 2px 5px 0px, rgba(0, 0, 0, 0.05) 0px 1px 1px 0px;
}

#wrapper .mv_list .mv_item.it_right .caption>img {
    width: 250px;
    height: 250px;
    object-fit: cover;
}

#wrapper .mv_list .slick-dots {
    z-index: 10;
    bottom: 10px !important;
}

#wrapper .mv_list .slick-dots li {
    width: 15px;
}

#wrapper .mv_list .slick-dots li button:before {
    font-size: 18px;
}

#wrapper .mv_list .slick-dots li.slick-active button:before {
    opacity: .75;
    color: #fff;
}

#wrapper .mv_list .slick-dots li button:before {
    color: #fff;
}

#sec01 .mv_list p.tg_h1 {
    line-height: 1.6;
    /*margin-bottom: 10px;*/
    margin-bottom: 0px;
    /*text-align: left;*/
    margin-top: 0px;
    letter-spacing: 0;
    color: #0f4e96;
    font-size: 36px;
    display: grid;
}

#sec01 .mv_list p.tg_h1 span {
    display: inline-block;
    color: #000;
    font-size: 50px;
    margin-top: 15px;
}

.wsub {
    position: relative;
    display: inline-block;
    text-align: center;
}

.wsub::before {
    content: attr(data-sub);
    position: absolute;
    top: -1.2em;
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.6em;
    white-space: nowrap;
    font-weight: 500;
}

#sec01 .mv_list .txt-sub2 {
    font-size: 22px;
    /*text-align: left;*/
}

#sec01 .mv_list .txt-sub3 {
    font-size: 28px;
    font-weight: 600;
}

.mv_list .contact-btn .tel .sp {
    display: none;
}

.lp_page .copy {
    background: #0f4e96;
}

.lp_page #foot_sitemap .inner .block {
    width: 46%;
    padding: 0 20px 0 20px;
}

.lp_page #foot_sitemap .inner .block:first-child {
    border-left: 0;
}

.lp_page #foot_sitemap .inner .block:nth-child(2) {
    width: 42%;
}

.lp_page #foot_sitemap .inner .block:nth-child(3) {
    width: 22%;
}

.lp_page #foot_sitemap .inner .block .desc {
    color: #000;
}

.lp_page #foot_sitemap {
    background: #fff;
    padding: 20px 0 40px;
}

.lp_page .logo-ftr {
    margin-bottom: 20px;
}

.lp_page #sec01 .txt-sub {
    color: #fff;
    background: #0f4e96;
    font-size: 16px;
    width: max-content;
    padding: 5px 15px;
    border-radius: 20px;
}

.lp_page .contact-btn li.tel a {
    background: #fff url(../images/tel.svg) no-repeat left 15px center;
}

.lp_page .contact-btn li.tel a:hover {
    background: url(../images/tel_w.svg) no-repeat left 15px center #0f4e96;
}

.lp_page #foot_sitemap .inner .block p.ttl-zone {
    color: #000;
}

.lp_page #sec07 {
    padding: 80px 0 40px;
}

.block-logo {
    display: flex;
}

.sec01_problem {
    background: #bdd7ee;
    padding: 40px 20px 10px;
    box-sizing: border-box;
    margin-bottom: 80px;
}

.problem_tit {
    color: #000;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
}

.problem_list {
    display: flex;
    justify-content: space-between;
    gap: 5px;
    margin-bottom: 45px;
}

.problem_list li {
    width: 20%;
    max-width: 220px;
}

.problem_list li img {
    border-radius: 50%;
    width: 220px;
    height: 220px;
}

.problem_list li span {
    display: block;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    margin-top: 10px;
}

.problem_logo {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 20px;
}

.sec01_merit h3 {  
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 15px;
}
.sec01_merit h3 span {
	color: #0f4e96;
	font-size: 40px;
}
.img_l {
	float: left;
}
.img_r {
	float: right;
}
#sec04 h2 img {
	margin-left: 10px;
    max-width: 74px;
}
#sec04 h2 img.mw80{ max-width: 80px;}

.box_contact01 {
	max-width: 950px;
	margin: 0 auto;
    clear: both;
}

.box_contact02 {
	max-width: 720px;
	margin: 0 auto;
}

.s05_ct02{
    position: relative;
	max-width: 800px;
    margin-top: 100px;
    margin-bottom: 0;
}
.s05_ct02 .img_l{
    float: unset;
    position: absolute;
    left: -100px;
}

/*==========================================================
                        F O O T E R
==========================================================*/
footer {}

address {
    text-align: center;
    background-color: var(--mcolor);
    color: #fff;
    font-size: 14px;
    padding: 20px;
}

/* BACK TO TOP */
.to_top {
    position: fixed;
    z-index: 11;
    width: 60px;
    height: 60px;
    bottom: 70px;
    right: 20px;
    cursor: pointer;
    transition: all .2s;
    opacity: 0;
    visibility: hidden;
}

.to_top.show {
    transform: scale(1);
    opacity: 1;
    visibility: visible;
}

/* FIX EDGE ONLY  */
@supports (-ms-ime-align: auto) {}

/* 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) {}