@charset "utf-8";
/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* all */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'UD Shin Go Regular', sans-serif;
font-style: normal;
font-weight: unset;
font-size: 16px;
max-width: 100%;
word-break: break-all;
letter-spacing: 0.05em;
}

html {
scroll-behavior: smooth;
scroll-padding-top: 8rem;
}

body {
overflow-wrap: break-word;
word-wrap: break-word;
}

body,button,input,select,optgroup,textarea {
color: #333333;
font-family: 'UD Shin Go Regular', sans-serif;
line-height: 1.75;
margin: 0;
padding: 0;
}

main {
display: block;
overflow-x: hidden;
}

b,strong {
font-family: 'UD Shin Go Medium', sans-serif;
}

img {
border-style: none;
width: 100%;
max-width: 100%;
height: auto;
vertical-align: bottom;
user-drag: none;
-webkit-user-drag: none;
-moz-user-select: none;
-webkit-backface-visibility: hidden;
}

a {
background-color: transparent;
text-decoration: none;
color: inherit;
cursor: pointer;
transition: all 0.4s ease;
}

a:hover {
opacity: 0.8;
}

ul,ol {
margin: 0;
padding: 0;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
img {
image-rendering: -webkit-optimize-contrast;
}
}

@media screen and (max-width: 960px) {
* {
font-size: max(calc(14 / 375 * 100vw), 10px);
}
}

/*--------------------------------------------------------------
# common
--------------------------------------------------------------*/

.c_container {
width: 100%;
max-width: calc(1080px + 5.25rem);
padding: 0 2.625rem;
margin: 0 auto;
}

/* display */
.c_block {
display: block;
}

.c_sp_block {
display: none;
}

.c_sp_inlineblock {
display: none;
}

.c_md_inlineblock {
display: none;
}

.c_inlineblock {
display: inline-block;
}

.c_md_block {
display: none;
}

@media screen and (max-width: 960px) {
.c_container {
max-width: 100%;
padding: 0 1.25rem;
}

.c_md_none {
display: none!important;
}

.c_md_block {
display: block;
}

.c_md_inlineblock {
display: inline-block;
}
}

/* margin padding */
.c_mt0 {
margin-top: 0!important;
}

.c_mb1 {
margin-bottom: 1rem;
}

.c_mb2 {
margin-bottom: 2rem;
}

.c_mb3 {
margin-bottom: 3rem;
}

.c_mb4 {
margin-bottom: 4rem;
}

.c_mb5 {
margin-bottom: 5rem;
}

/* text */
.c_sky {
color: #009CE0;
}

.c_yellow {
color: #F5921E;
}

.c_darksky {
color: #0091D2;
}

.c_bold {
font-family: 'UD Shin Go Medium', sans-serif;
}

.c_center {
text-align: center!important;
}

.c_right {
text-align: right!important;
}

.c_left {
text-align: left!important;
}

.c_justify {
text-align: justify;
}

/*--------------------------------------------------------------
# header
--------------------------------------------------------------*/
.header {
display: block;
z-index: 999;
position: fixed;
top: -0.5rem;
left: 50%;
transform: translateX(-50%);
width: 100%;
max-width: 1088px;
min-height: 5rem;
padding-top: 0.2rem;
background: #fff;
border-radius: 0 0 1rem 1rem;
box-shadow: 0.5rem 0.5rem 0 #CCECFA;
}

.header_inner {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1.25rem 2rem;
}

.header_title a {
display: flex;
align-items: center;
width: clamp(190px, calc(250 / 1080 * 100vw), 250px);
}

/* hamburger menu */
.header_hamburger {
display: none;
}

/* header nav */
.header_nav {
align-items: center;
}

.header_nav_list {
display: flex;
gap: min(calc(28 / 1366 * 100vw), 28px);
font-family: 'UD Shin Go Medium', sans-serif;
list-style: none;
line-height: 1.5;
}

.header_nav_link.--contact {
color: #009CE0;
}

.header_nav_link.--contact img {
width: 1.25rem;
vertical-align: middle;
}

@media screen and (max-width: 960px) {
.header {
box-shadow: 0rem 0.2rem 0 #CCECFA;
min-height: unset;
width: 94%;
}

.header_inner {
padding: 0.5rem 1.5rem 0.5rem 1rem;
}

/* hamburger menu */
.header_hamburger {
display: flex;
}

.hamburger {
position: relative;
width: 40px;
height: 48px;
border: none;
background: #FFF;
cursor: pointer;
}

.hamburger span {
position: relative;
display: block;
z-index: 100;
left: 50%;
width: 100%;
height: 3px;
transform: translateX(-50%);
background: #0091D2;
transition: all 0.4s;
border-radius: 1rem;
}

.hamburger span:nth-of-type(1) {
top: -8px;
}

.hamburger span:nth-of-type(2) {
top: 1px;
}

.hamburger span:nth-of-type(3) {
top: 10px;
}

.hamburger.is-active span:nth-of-type(1) {
top: 0;
transform: translateX(-50%) rotate(225deg);
}

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

.hamburger.is-active span:nth-of-type(3) {
top: -6px;
transform: translateX(-50%) rotate(-225deg);
}

/* header nav */
.header_nav {
display: flex;
z-index: 99;
position: absolute;
top: 0;
right: -100%;
flex-direction: column;
align-items: center;
justify-content: center;
width: 70%;
height: 100vh;
background: transparent;
opacity: 0;
transition: 0.6s;
padding-top: 3rem;
padding-bottom: 3rem;
}

.header_nav.is-active {
position: fixed;
top: 0.5rem;
right: -4%;
background: #FFF;
opacity: 1;
transition: 0.6s;
border-radius: 1rem 0 0 1rem;
box-shadow: -0.1rem 0 0.5rem #0000001a;
}

.header_nav_list {
display: block;
width: 100%;
padding: 1rem;
}

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

.header_nav_link {
display: block;
width: 100%;
height: 100%;
padding: 1.3rem 0;
text-align: center;
background: url(../images/bg_border.svg) repeat-x bottom left / 8px 2px;
}
}


/*--------------------------------------------------------------
# fv
--------------------------------------------------------------*/
.fv {
aspect-ratio: 1366 / 828;
background: url(../images/fv.svg) no-repeat top center / 100%;
}

.fv_title {
padding-top: min(calc(127 / 1366 * 100vw));
}
.fv_title_main {
width: calc(520 / 1366 * 100vw);
margin: 0 auto calc(8 / 1366 * 100vw);
}

.fv_title_lead {
font-size: calc(23 / 1366 * 100vw);
font-family: 'UD Shin Go Medium', sans-serif;
letter-spacing: 0.1em;
}

@media screen and (max-width: 960px) {
.fv {
aspect-ratio: 768 / 988;
background: url(../images/fv_sp.svg) no-repeat top center / 100%;
}

.fv_title {
padding-top: 6.5rem;
}

.fv_title_main {
width: calc(628 / 768 * 100vw);
margin-bottom: 0.75rem;
}

.fv_title_lead {
font-size: calc(26 / 768 * 100vw);
}
}


/*--------------------------------------------------------------
# onayami
--------------------------------------------------------------*/
.onayami {
position: relative;
padding: 3.75rem 0 calc(52 / 1366 * 100vw);
background: url(../images/bg_yellow.svg) no-repeat center bottom / 100%;
background-color: #CCECFA;
}

.onayami::before {
content: '';
position: absolute;
top: -1px;
left: 0;
width: 100%;
height: 1px;
background-color: #CCECFA;
}

.onayami_title {
margin-bottom: 2.625rem;
font-size: 2rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 2;
}

.onayami_title strong {
display: inline-block;
padding: 0 0.5rem;
font-size: 2.5rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.6;
letter-spacing: 0.05em;
-webkit-text-emphasis: dot #333;
text-emphasis: dot #333;
}

/* onayami_exp */
.onayami_exp {
position: relative;
aspect-ratio: 1080/410;
min-height: 410px;
background-image: url(../images/il_onayami.svg);
background-position: center bottom;
background-repeat: no-repeat;
background-size: min(calc(340 / 1366 * 100vw), 340px) auto;
}

.onayami_exp_item {
position: absolute;
display: inline-block;
padding: 1.75rem 2rem;
background-color: #FFF;
border-radius: 0.75rem;
font-family: 'UD Shin Go Medium', sans-serif;
font-size: 1.25rem;
line-height: 1.5;
}

.onayami_exp_item.--01 {
top: 0;
left: min(calc(100 / 1366 * 100vw), 100px);
}

.onayami_exp_item.--02 {
bottom: min(calc(137 / 1366 * 100vw), 137px);
}

.onayami_exp_item.--03 {
top: 0;
right: min(calc(40 / 1366 * 100vw), 40px);
}

.onayami_exp_item.--04 {
bottom: min(calc(137 / 1366 * 100vw), 137px);
right: min(calc(20 / 1366 * 100vw), 20px);
}

.onayami_exp_item::before {
content: '';
position: absolute;
display: block;
z-index: 0;
}

.onayami_exp_item.--01::before {
bottom: 0;
right: 1rem;
width: 2.815rem;
aspect-ratio: 45/50;
transform: translate(0, 75%);
background: url(../images/onayami_exp_bg1.svg) no-repeat center center / 100%;
}

.onayami_exp_item.--02::before {
top: 2rem;
right: 0rem;
width: 5rem;
aspect-ratio: 2/1;
transform: translate(85%, 0);
background: url(../images/onayami_exp_bg2.svg) no-repeat center center / 100%;
}

.onayami_exp_item.--03::before {
bottom: 0;
left: 1rem;
width: 2.815rem;
aspect-ratio: 45/50;
transform: translate(0, 75%);
background: url(../images/onayami_exp_bg3.svg) no-repeat center center / 100%;
}

.onayami_exp_item.--04::before {
top: 2rem;
left: 0rem;
width: 5rem;
aspect-ratio: 75/41;
transform: translate(-85%, 0);
background: url(../images/onayami_exp_bg4.svg) no-repeat center center / 100%;
}

.onayami_exp_item strong {
color: #009CE0;
font-size: 1.5rem;
}


@media screen and (max-width: 960px) {
.onayami {
padding: 3.75rem 0 calc(40 / 1366 * 100vw);
}

.onayami_title {
font-size: 1.5rem;
}

.onayami_title strong {
font-size: 2.3rem;
}

/* onayami_exp */
.onayami_exp {
position: relative;
aspect-ratio: 768/1380;
min-height: unset;
background-size: 70% auto;
padding-bottom: 12rem;
background-position-x: 55%;
}

.onayami_exp_item {
position: absolute;
padding: 1.25rem 1.75rem;
font-size: 1.125rem;
}

.onayami_exp_item.--01 {
top: 0;
left: 0;
}

.onayami_exp_item.--02 {
right: 0;
bottom: unset;
top: 7rem;
}

.onayami_exp_item.--03 {
top: 14rem;
right: unset;
}

.onayami_exp_item.--04 {
top: 21rem;
bottom: unset;
}

.onayami_exp_item.--01::before {
bottom: 3rem;
right: -1.6rem;
}

.onayami_exp_item.--02::before {
top: 1rem;
right: unset;
left: -2rem;
width: 2.815rem;
aspect-ratio: 45/50;
transform: translate(0, 75%);
background: url(../images/onayami_exp_bg3.svg) no-repeat center center / 100%;
}

.onayami_exp_item.--03::before {
bottom: 0;
right: 1rem;
width: 2.815rem;
aspect-ratio: 45/50;
transform: translate(0, 75%);
background: url(../images/onayami_exp_bg1.svg) no-repeat center center / 100%;
}

.onayami_exp_item.--04::before {
top: unset;
bottom: -1.75rem;
left: unset;
right: 0rem;
transform: translate(-55%, 0);
}

.onayami_exp_item strong {
font-size: 1.25rem;
}
}


/*--------------------------------------------------------------
# now
--------------------------------------------------------------*/
.now {
position: relative;
margin-top: -0.8px;
padding: 3.75rem 0 9rem;
background: url(../images/bg_yellow2.svg) no-repeat center bottom -1px / 100%;
background-color: #FFFFE5;
}

.now::before {
content: '';
position: absolute;
bottom: 0;
left: 50%;
width: 2.8125rem;
height: 12.125rem;
transform: translate(-50%, 30%);
background: url(../images/i_arrow_bottom.svg) no-repeat center center / 100%;
}

.now_title {
position: relative;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 2.5rem;
font-family: 'UD Shin Go Medium', sans-serif;
font-size: 2.5rem;
}

.now_title strong {
display: inline-block;
margin: 0 0.5rem;
padding: 0 0.75rem;
background-color: #FFF;
border-radius: 0.5rem;
font-size: 3rem;
line-height: 1.3;
}

.now_title::before,
.now_title::after {
content: '';
width: 2.233rem;
height: 3.66rem;
background: no-repeat center center / 100%;
}

.now_title::before {
background-image: url(../images/i_strong_left.svg);
margin-right: 2rem;
}

.now_title::after {
background-image: url(../images/i_strong_right.svg);
margin-left: 2rem;
}

/* now_plan */
.now_plan {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 920px;
margin: 0 auto 2rem;
gap: 1.5rem;
}

.now_plan_logo {
display: flex;
align-items: center;
justify-content: center;
width: 15.625rem;
aspect-ratio: 1/1;
background-color: #FFF;
border-radius: 100rem;
}

.now_plan_logo img {
width: 10rem;
}

.now_plan_name {
padding-bottom: 1.5rem;
background: url(../images/bg_border.svg) repeat-x left bottom /  9px 3px;
}

.now_plan_name_sub {
display: inline-block;
margin-bottom: 1.5rem;
background-color: #009CE0;
border-radius: 10rem;
color: #FFF;
font-size: 1.375rem;
font-family: 'UD Shin Go Medium', sans-serif;
padding: 0.2rem 1.5rem;
}

.now_plan_name_main {
color: #009CE0;
font-size: 3rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.3;
}

/* now_exp */
.now_exp {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: min(calc(75 / 1366 * 100vw), 75px);
max-width: 920px;
margin: auto;
padding: 2.75rem;
background-color: #EDEDED;
border-radius: 1rem 1rem 0 0;
}

.now_exp_first {
flex: 1;
}

.now_exp_first_title {
display: inline-block;
margin-bottom: 1.5rem;
padding: 0.2rem 1.5rem;
background-color: #0091D2;
border-radius: 10rem;
color: #FFF;
font-size: 1.25rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.5;
}

.now_exp_first_lead {
margin-bottom: 1.5rem;
color: #0091D2;
font-family: 'UD Shin Go Medium', sans-serif;
font-size: 1.5rem;
letter-spacing: 0.1em;
line-height: 1.5;
}

.now_exp_first_more {
display: inline-block;
margin-bottom: 0.5rem;
background: linear-gradient(transparent 60%, #FFFAB2 60%);
color: #0091D2;
font-family: 'UD Shin Go Medium', sans-serif;
}

.now_exp_first_text {
font-size: 0.875rem;
line-height: 2.5;
}

.now_exp_first_text strong {
display: inline-block;
margin-right: 0.3rem;
background: linear-gradient(transparent 50%, #FFF 50%);
color: #0091D2;
font-size: 1.4375rem;
letter-spacing: 0.1em;
line-height: 1.2em;
}

.now_exp_graph {
flex: 1;
max-width: 374px;
padding: 1.75rem 1rem;
background: url(../images/now_exp_graph.svg) no-repeat center / 75%;
background-color: #FFF;
border-radius: 0.875rem;
}

.now_exp_graph_list {
list-style: none;
line-height: 2;
}

.now_exp_graph_hosoku {
font-size: 0.75rem;
}

/* now_onayami */
.now_onayami {
max-width: 920px;
margin: auto;
padding: 3.75rem 2.75rem;
background: url(../images/arrow_bottom_gray.svg) no-repeat top center / 8.5rem;
background-color: #FFF;
border: 0.65rem solid #EDEDED;
border-radius: 0 0 1rem 1rem;
}

.now_onayami_lead {
font-family: 'UD Shin Go Medium', sans-serif;
font-size: 1.375rem;
}

.now_onayami_exp {
display: flex;
align-items: flex-end;
justify-content: center;
gap: 1rem 3.75rem;
}

.now_onayami_exp_img {
width: auto;
height: 10.125rem;
}

.now_onayami_exp_title {
font-size: 1.5rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.5;
}

.now_onayami_exp_list {
list-style: none;
padding-left: 1.25rem;
}

.now_onayami_exp_list li {
position: relative;
}

.now_onayami_exp_list li::before {
content: '';
display: block;
position: absolute;
top: 0.5em;
left: -1.25rem;
width: 0.625rem;
height: 0.625rem;
border-radius: 1rem;
box-sizing: border-box;
}

.now_onayami_exp.--syogai .now_onayami_exp_list li::before {
border: 2px solid #009CE0;
}

.now_onayami_exp.--koyo .now_onayami_exp_list li::before {
border: 2px solid #F5921E;
}

@media screen and (max-width: 960px) {
.now_title {
flex-wrap: wrap;
position: relative;
font-size: 2.25rem;
}

.now_title::before,
.now_title::after {
content: '';
position: absolute;
display: block;
bottom: 10%;
}

.now_title::before {
margin-right: 0;
left: 0;
}

.now_title::after {
margin-left: 0;
right: 0;
}


/* now_plan */
.now_plan {
gap: 0rem;
}

.now_plan_logo {
width: 7rem;
}

.now_plan_logo img {
width: 5rem;
}

.now_plan_name {
padding-bottom: 1.2rem;
}

.now_plan_name_sub {
font-size: 1rem;
margin-bottom: 0.75rem;
}

.now_plan_name_main {
font-size: 2.1rem;
}

/* now_exp */
.now_exp {
flex-direction: column;
padding: 2.75rem 1.25rem;
}

.now_exp_first {
width: 100%;
text-align: center;
}

.now_exp_first_lead {
font-size: 1.375rem;
}

.now_exp_first_text {
font-size: 1rem;
}

.now_exp_graph {
max-width: 100%;
width: 100%;
}

/* now_onayami */
.now_onayami_exp {
flex-direction: column;
align-items: center;
}

.now_onayami_exp:nth-child(3) {
flex-direction: column-reverse;
}

.now_onayami_exp_title {
text-align: center;
}
}


/*--------------------------------------------------------------
# office
--------------------------------------------------------------*/
.office {
padding: 5rem 0 7.8125rem;
background-color: #FFFAB2;
}

.office_titile_sub {
position: relative;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 0.5rem;
color: #009CE0;
font-size: 1.5rem;
font-family: 'UD Shin Go Medium', sans-serif;
}

.office_titile_sub::before,
.office_titile_sub::after {
content: '';
width: 1.26rem;
height: 2rem;
background: no-repeat center center / 100%;
}

.office_titile_sub::before {
background-image: url(../images/i_strong_left_sky.svg);
margin-right: 2rem;
}

.office_titile_sub::after {
background-image: url(../images/i_strong_right_sky.svg);
margin-left: 2rem;
}

.office_titile_main {
display: inline-block;
padding: 0 0.5rem;
background: linear-gradient(transparent 50%, #FFF 50%);
color: #009CE0;
font-size: 3rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.4;
}

/* office_merit */
.office_merit {
display: flex;
align-items: center;
justify-content: space-between;
gap: min(calc(58 / 1366 * 100vw), 58px);
margin-bottom: 3.375rem;
}

.office_merit_image {
max-width: 480px;
}

.office_merit_list {
list-style: none;
width: min(50%, 540px);
flex-shrink: 0;
}

.office_merit_list li {
margin-bottom: 1.5rem;
padding: 1.5rem 2rem;
background-color: #FFF;
border-left: 1rem solid #009CE0;
border-radius: 0.5rem;
color: #009CE0;
font-size: 1.5rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.45;
}

/* office_point */
.office_point {
padding: 4rem 2rem;
border-radius: 2.625rem;
background-color: #FFF;
}

.office_point_title {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 4.375rem;
}

.office_point_title_sub {
font-size: 1.5rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.5;
}

.office_point_title_main {
font-size: 2.25rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.3;
}

.office_point_contents {
display: flex;
justify-content: space-between;
gap: min(calc(60 / 1366 * 100vw), 60px);
}

.office_point_item {
position: relative;
flex: 1;
}

.office_point_item:not(:last-child):before {
content: '';
position: absolute;
top: 0;
right: min(calc(-30 / 1366 * 100vw), -30px);
width: 0.375rem;
height: 100%;
background: url(../images/border_botted_sky.png) repeat-y top right / 0.375rem;
}

.office_point_item_number {
display: flex;
align-items: center;
justify-content: center;
gap: 0.6rem;
margin-bottom: 1.5rem;
color: #009CE0;
line-height: 1;
}

.office_point_item_number span:first-child {
font-size: 1.375rem;
font-family: 'UD Shin Go Medium', sans-serif;
letter-spacing: 0.1em;
}

.office_point_item_number span {
font-size: 3rem;
}

.office_point_item_image {
width: 90%;
margin: 0 auto 2rem;
}

.office_point_item_title {
text-align: center;
color: #009CE0;
font-size: 1.5rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.5;
}

@media screen and (max-width: 960px) {
.office_titile_sub {
font-size: 1.25rem;
}

.office_titile_sub::before {
margin-right: 1rem;
}

.office_titile_sub::after {
margin-left: 1rem;
}

.office_titile_main {
padding: 0;
font-size: 1.8rem;
}

/* office_merit */
.office_merit {
flex-direction: column;
}

.office_merit_image {
max-width: unset;
width: 90%;
}

.office_merit_list {
width: 100%;
}

.office_merit_list li {
margin-bottom: 1rem;
padding: 1rem 1.75rem;
font-size: 1.25rem;
}

/* office_point */
.office_point_title {
margin-bottom: 3rem;
}

.office_point_title_sub {
font-size: 1.25rem;
}

.office_point_title_main {
font-size: 1.9rem;
text-align: center;
}

.office_point_contents {
flex-direction: column;
gap: 5rem;
}

.office_point_item:not(:last-child):before {
width: 100%;
height: 0.5rem;
bottom: -2.5rem;
top: unset;
right: 0;
background: url(../images/border_botted_sky_column.png) repeat-x bottom center / 2.1rem;
}

.office_point_item_number {
margin-bottom: 1rem;
}

.office_point_item_image {
width: 80%;
margin-bottom: 1.5rem;
}

.office_point_item_title {
margin-bottom: 1rem;
}
}


/*--------------------------------------------------------------
# safe
--------------------------------------------------------------*/
.safe {
padding-bottom: 5.625rem;
background: linear-gradient(#FFFAB2 4rem, #CCECFA 4rem);
}

.safe_contents {
background-color: #F5F5F5;
}

.safe_title {
position: relative;
padding: 1.25rem;
text-align: center;
background: url(../images/i_question.svg) no-repeat right 2rem center / 3rem;
background-color: #009CE0;
border-radius: 1rem 1rem 0 0;
color: #FFF;
font-size: 2rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.5;
}

.safe_title::before {
content: '';
position: absolute;
display: block;
top: 0;
left: 2rem;
width: min(calc(201 / 1366 * 100vw), 201px);
aspect-ratio: 201/171;
transform: translateY(-35%);
background: url(../images/il_safe_title.svg) no-repeat center center / 100%;
}

.safe_subtitle {
padding: 4rem 1rem 2rem;
text-align: center;
background: url(../images/arrow_bottom_blue.svg) no-repeat top center / 8.5rem;
background-color: #F5F5F5;
color: #0091D2;
font-size: 1.25rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.5;
}

.safe_contents {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 1rem;
padding: 0 min(calc(60 / 1366 * 100vw), 60px) 4rem;
background-color: #F5F5F5;
border-radius: 0 0 1rem 1rem;
}

.safe_contents_exp {
max-width: 456px;
}

.safe_contents_exp_first {
margin-bottom: 1.5rem;
}

.safe_contents_exp_first strong {
color: #0091D2;
font-size: 1.125rem;
}

.safe_contents_exp_lead {
width: min(100%, 456px);
text-align: center;
margin-bottom: 1rem;
padding: 0.75rem;
border-radius: 5rem;
background: #fff;
border: 3px solid #009CE0;
color: #009CE0;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.375;
}

.safe_contents_graph {
max-width: 456px;
padding-top: 0.55rem;
}

@media screen and (max-width: 960px) {
.safe_title {
padding: 2rem 1.25rem 1.5rem;
font-size: 1.55rem;
background-image: none;
}

.safe_title::before {
width: 30%;
left: 50%;
transform: translateX(-35%);
top: -4.5rem;
}

.safe_subtitle {
padding: 3rem 1rem 2rem;
background-size: 5rem;
}

.safe_contents {
flex-direction: column;
}

.safe_contents_exp {
max-width: 100%;
}

.safe_contents_exp_lead {
width: 100%;
}

.safe_contents_graph {
max-width: 100%;
width: 100%;
}

}


/*--------------------------------------------------------------
# plan
--------------------------------------------------------------*/
.plan {
position: relative;
padding: 9rem 0 6.25rem;
background: url(../images/bg_yellow2.svg) no-repeat center top / 100%, linear-gradient(#CCECFA calc(55 / 1366 * 100vw), #FFFAB2 calc(55 / 1366 * 100vw));
background-color: #FFFFE5;
}

.plan::before {
content: '';
position: absolute;
top: 0;
left: 50%;
width: 2.8125rem;
height: 12.125rem;
transform: translate(-50%, -38%);
background: url(../images/i_arrow_bottom.svg) no-repeat center center / 100%;
}

.plan_title_sub {
position: relative;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 0.5rem;
color: #009CE0;
font-size: 1.5rem;
font-family: 'UD Shin Go Medium', sans-serif;
}

.plan_title_sub::before,
.plan_title_sub::after {
content: '';
width: 1.26rem;
height: 2rem;
background: no-repeat center center / 100%;
}

.plan_title_sub::before {
background-image: url(../images/i_strong_left_sky.svg);
margin-right: 2rem;
}

.plan_title_sub::after {
background-image: url(../images/i_strong_right_sky.svg);
margin-left: 2rem;
}

.plan_title_main {
display: inline-block;
margin-bottom: 3.375rem;
padding: 0 0.5rem;
background: linear-gradient(transparent 50%, #FFF 50%);
color: #009CE0;
font-size: 3rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.4;
}

/* plan_st */
.plan_st {
padding: 4rem 3rem;
border-radius: 1rem;
background-color: #FFF;
}

.plan_st_title {
margin-bottom: 0.75rem;
}

.plan_st_title span {
width: fit-content;
margin-bottom: 1.4rem;
color: #009CE0;
font-family: 'UD Shin Go Medium', sans-serif;
font-size: 1.75rem;
padding: 0 0.5rem;
background: linear-gradient(transparent 50%, #FFFAB2 50%);
line-height: 1.5;
}

.plan_st_name {
position: relative;
display: flex;
align-items: flex-start;
margin-bottom: 4rem;
padding: 2rem 1.5rem 1rem;
background-color: #009CE0;
border-radius: 0.5rem 0.5rem 0 0;
gap: 1.125rem;
}

.plan_st_name::before {
content: '';
position: absolute;
top: 0%;
right: 0%;
width: 9.125rem;
aspect-ratio: 146/134;
transform: translate(-20%, -55%);
background: url(../images/il_plan_st_name.svg) no-repeat center center / 100%;
}

.plan_st_name::after {
content: '';
position: absolute;
bottom: 1px;
right: 0%;
width: 100%;
aspect-ratio: 960/19;
transform: translate(0%, 97%);
background: url(../images/plan_st_name_bg.png) no-repeat center / 100%;
}

.plan_st_name_tag {
display: flex;
align-items: center;
justify-content: center;
color: #009CE0;
font-family: 'UD Shin Go Medium', sans-serif;
font-size: 1.125rem;
background-color: #FFF;
aspect-ratio: 1/1;
width: 5rem;
border-radius: 5rem;
}

.plan_st_name_title {
color: #FFF;
font-family: 'UD Shin Go Medium', sans-serif;
font-size: 3rem;
line-height: 1.3;
}

.plan_st_name_title span {
display: block;
font-family: 'UD Shin Go Medium', sans-serif;
font-size: 2rem;
line-height: 1.2;
letter-spacing: 0.1em;
}

/* plan_st_first */
.plan_st_first {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 2rem 3.125rem;
margin-bottom: 1.5rem;
}

.plan_st_first_exp {
width: min(55%, 454px);
flex-shrink: 0;
}

.plan_st_first_lead {
margin-bottom: 1.2rem;
font-size: 1.25rem;
line-height: 1.5;
}

.plan_st_first_lead strong {
font-size: 1.25rem;
}

.plan_st_first_hosoku {
margin-bottom: 1.2rem;
font-size: 0.75rem;
}

.plan_st_first_tsoc {
padding: 1.5rem 2rem;
border-radius: 0.5rem;
border: 3px solid #009CE0;
}

.plan_st_first_tsoc_title {
margin-bottom: 0.5rem;
font-family: 'UD Shin Go Medium', sans-serif;
font-size: 1.125rem;
}

.plan_st_first_tsoc_exp {
font-size: 0.875rem;
}

.plan_st_first_image {
width: 100%;
}

.plan_st_list {
margin-bottom: 4.5rem;
background-color: #E6F8FF;
list-style: none;
padding: 1.2rem 2rem 1rem 3.25rem;
border-radius: 0.5rem;
}

.plan_st_list li {
position: relative;
font-family: 'UD Shin Go Medium', sans-serif;
}

.plan_st_list li::before {
content: '';
display: block;
position: absolute;
top: 0.5em;
left: -1.25rem;
width: 0.625rem;
height: 0.625rem;
border-radius: 1rem;
box-sizing: border-box;
border: 2px solid #009CE0;
background-color: #FFF;
}

.plan_st_point.--security {
margin-bottom: 1.5rem;
}

.plan_st_point_title {
background-color: #FFFAB2;
border-radius: 1rem 1rem 0 0;
text-align: center;
}

.plan_st_point_title span {
position: relative;
display: inline-block;
padding: 1.25rem 1rem 0.75rem;
color: #009CE0;
font-family: 'UD Shin Go Medium', sans-serif;
font-size: 1.5rem;
text-align: center;
line-height: 1.4;
letter-spacing: 0.1em;
}

.plan_st_point_title span::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 4rem;
height: 4rem;
transform: translate(-90%, -20%);
background: url(../images/i_search.svg) no-repeat center center / 100%;
}

.plan_st_point_item {
padding: 2.3rem 1rem;
border: 8px solid #FFFAB2;
border-radius: 0 0 1rem 1rem;
}

.plan_st_point_item_exp {
font-size: 0.875rem;
}

.plan_st_point_item_image {
padding: 0.3rem 1rem;
}

.plan_st_point_attention {
margin-bottom: 4.25rem;
list-style: none;
}

.plan_st_point_attention li {
font-size: 0.75rem;
text-indent: -2.1em;
padding-left: 2.1rem;
}

@media screen and (max-width: 960px) {
.plan_title_sub {
font-size: 1.125rem;
}

.plan_title_sub::before {
margin-right: 0.75rem;
}

.plan_title_sub::after {
margin-left: 0.75rem;
}

.plan_title_main {
display: inline;
}

.plan_title_main {
font-size: 2.4rem;
margin-bottom: unset;
}

.plan_st {
margin-top: 2rem;
padding: 3rem 1.5rem;
}

.plan_st_title {
text-align: center;
margin-bottom: 2.4rem;
}

.plan_st_name {
margin-bottom: 3rem;
padding: 1.5rem 1.5rem 1rem;
flex-direction: column;
}

.plan_st_name::before {
transform: translate(-20%, -20%);
width: 7rem;
}

.plan_st_name_tag {
width: 4rem;
font-size: 0.875rem;
}

.plan_st_name_title {
font-size: 2.4rem;
}

.plan_st_name_title span {
margin-bottom: 0.5rem;
font-size: 1.25rem;
}

/* plan_st_first */
.plan_st_first {
flex-direction: column;
}

.plan_st_first_exp {
width: 100%;
}

.plan_st_list {
padding: 1.5rem 1.25rem 1.25rem 2.4rem;
}

.plan_st_point_title span {
font-size: 1.25rem;
}

.plan_st_point_title span::before {
width: 3rem;
height: 3rem;
transform: translate(-65%, -20%);
}

.plan_st_point_item {
padding: 2rem 1rem;
}

.plan_st_point_item_exp {
text-align: justify;
margin-bottom: 1rem;
}

.plan_st_point_item_image {
padding: 0.3rem 0;
}
}


/*--------------------------------------------------------------
# intro
--------------------------------------------------------------*/

.intro {
padding: 6.25rem 0;
}

.intro_title {
margin-bottom: 2rem;
}

.intro_title span {
display: inline-block;
margin-bottom: 3.375rem;
padding: 0 0.5rem;
background: linear-gradient(transparent 50%, #FFFAB2 50%);
color: #009CE0;
font-size: 3rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.4;
}

.intro_first {
display: flex;
align-items: center;
justify-content: space-between;
gap: 4rem 3rem;
margin-bottom: 5rem;
}

.intro_company_logo {
margin-bottom: 2.5rem;
max-width: 419px;
}

.intro_company_address {
margin-bottom: 2rem;
color: #007AB3;
font-family: 'UD Shin Go Medium', sans-serif;
font-size: 0.8rem;
line-height: 2;
}

.intro_company_mapbtn a {
display: inline-block;
padding: 1.125rem 3.5rem 1.125rem 2rem;
background: url(../images/i_map.svg) no-repeat center right 1.125rem / 1.13rem;
background-color: #009CE0;
border-radius: 5rem;
color: #FFF;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.5;
text-align: center;
}

.intro_first_image img {
max-width: 540px;
border-radius: 0.625rem;
}

.intro_point {
display: flex;
gap: 4rem 1.875rem;
}

.intro_point_item {
position: relative;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 2.5rem 1.25rem 2rem;
border: 3px solid #009CE0;
border-radius: 0.5rem;
}

.intro_point_item_number {
position: absolute;
top: 0;
left: 0.625rem;
transform: translateY(-50%);
width: 4rem;
}

.intro_point_item_title {
display: flex;
align-items: center;
justify-content: center;
min-height: 5rem;
margin-bottom: 1.25rem;
text-align: center;
color: #009CE0;
font-family: 'UD Shin Go Medium', sans-serif;
font-size: 1.25rem;
line-height: 1.5;
}

@media screen and (max-width: 960px) {
.intro_title span {
display: inline;
font-size: 2.4rem;
}

.intro_first {
flex-direction: column-reverse;
}

.intro_point {
flex-direction: column;
}
}


/*--------------------------------------------------------------
# form
--------------------------------------------------------------*/
.form {
padding: 5rem 0;
background-color: #CCECFA;
}

.form_contents {
position: relative;
padding: min(calc(120 / 1080 * 100vw), 135px) 1.25rem 5rem;
background-color: #FFF;
background: url(../images/form_bg.png) no-repeat top center / 100%, linear-gradient(transparent min(calc(120 / 1080 * 100vw), 135px), #FFF min(calc(120 / 1080 * 100vw), 135px));
border-radius: 0 0 1rem 1rem;
}

.form_contents::before {
content: '';
position: absolute;
top: 3%;
left: min(calc(64 / 1080 * 100vw), 64px);
width: min(calc(165 / 1080 * 100vw), 165px);
aspect-ratio: 165/135;
background: url(../images/il_form_left.svg) no-repeat center center / 100%;
z-index: 2;
}

.form_contents::after {
content: '';
position: absolute;
top: -2%;
right: min(calc(32 / 1080 * 100vw), 32px);
width: min(calc(230 / 1080 * 100vw), 230px);
aspect-ratio: 23/21;
background: url(../images/il_form_right.svg) no-repeat center center / 100%;
z-index: 2;
}

.form_title {
font-size: 2.5rem;
font-family: 'UD Shin Go Medium', sans-serif;
letter-spacing: 0.1em;
line-height: 1;
}

.form_item {
max-width: 736px;
margin: auto;
}

.form_item table {
border-collapse: collapse;
table-layout: fixed;
word-break: break-all;
word-wrap: break-all;
}

.form_item tr {
border-bottom: 1px solid #DDD;
}

.form_item th,
.form_item td {
padding: 1.75rem 0;
}

.form_item th {
min-width: 250px;
padding-right: 1.25rem;
text-align: left;
color: #009CE0;
font-size: 1.25rem;
font-family: 'UD Shin Go Medium', sans-serif;
vertical-align: text-top;
}

.form_item td {
width: 100%;
}

.form_need {
vertical-align: text-top;
padding: 0.2rem 0.3rem 0.2rem 0.5rem;
background-color: #FF8187;
border-radius: 1rem;
font-size: 0.75rem;
font-family: 'UD Shin Go Medium', sans-serif;
color: #FFF;
letter-spacing: 0.3em;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
color: #333;
border: 1px solid #009CE0;
background-color: #FFFFEE;
border-radius: 3px;
font-size: 1rem;
padding: 0.2rem 1rem;
min-height: 2.5rem;
width: 100%;
max-width: 100%;
}

.form_privacy {
height: 9.25rem;
padding: 1.5rem;
background-color: #F5FCFF;
border: 1px solid #DDD;
border-radius: 6px;
overflow-y: auto;
}

.form_privacy * {
font-size: 0.875rem;
}

#form_submit {
display: flex;
align-items: center;
justify-content: center;
margin: auto;
padding-right: 1rem;
gap: 0.5rem;
width: 15rem;
border: none;
box-shadow: 0 0.35rem 0 #EEEEEE;
cursor: pointer;
padding: 1rem;
background: url(../images/i_mail.svg) no-repeat right 3.75rem center / 1.5625rem;
background-color: #009CE0;
border-radius: 5rem;
cursor: pointer;
transition: 0.3s all;
letter-spacing: 0.5em;
color: #fff;
font-size: 1.25rem;
}

#form_submit[disabled] {
background-color: #ccc;
cursor: not-allowed;
}

@media screen and (max-width: 960px) {
.form_contents {
padding: 5.5rem 1.25rem 5rem;
}

.form_contents::before {
top: 0%;
width: min(calc(165 / 960 * 100vw), 165px);
}

.form_contents::after {
width: min(calc(230 / 960 * 100vw), 230px);
}

.form_title {
font-size: 2.125rem;
}

.form_lead {
margin-bottom: 1rem;
}

.form_item table {
width: 100%;
max-width: 100%;
}

.form_item th,
.form_item td {
display: block;
width: 100%;
max-width: 100%;
}

.form_item th {
padding-top: 1.25rem;
padding-bottom: 0.3rem;
}

.form_item td {
padding-top: 0rem;
padding-bottom: 1.25rem;
}

.form_privacy {
padding: 1.5rem 1rem;
}
}


/*--------------------------------------------------------------
# contact
--------------------------------------------------------------*/
.contact {
background-image: linear-gradient(0deg, transparent calc(100% - 1px), #CCECFA calc(100% - 1px)),
linear-gradient(90deg, transparent calc(100% - 1px), #CCECFA calc(100% - 1px));
background-color: #FFFFEE;
background-size: 1.5rem 1.5rem;
background-repeat: repeat;
background-position: center;
padding: 3rem 0;
}

.contact_contents {
display: flex;
align-items: center;
justify-content: center;
gap: min(calc(106 / 1366 * 100vw), 106px);
padding: 3rem 1rem;
background-color: #FFF;
border-radius: 1rem;
}

.contact_title {
font-size: min(calc(28 / 1366 * 100vw), 28px);
line-height: 1.4;
font-family: 'UD Shin Go Medium', sans-serif;
background: linear-gradient(transparent 60%, #FFFFD5 60%);
}

.contact_text {
position: relative;
}

.contact_text::before {
content: '';
position: absolute;
top: 0;
left: min(calc(-40 / 1366 * 100vw), -40px);
transform: translateX(50%) rotate(30deg);
width: 3px;
height: 90%;
background-color: #CCECFA;
}

.contact_number {
position: relative;
margin-left: 2.5rem;
}

.contact_number,
.contact_number a {
font-size: min(calc(53 / 1366 * 100vw), 53px);
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.2;
}

.contact_number::before {
content: '';
position: absolute;
bottom: 0.7rem;
left: -2.3rem;
width: min(calc(32 / 1366 * 100vw), 32px);
height: min(calc(32 / 1366 * 100vw), 32px);
background: url(../images/i_phone.svg) no-repeat center center / 100%;
}

.contact_time {
font-size: 0.875rem;
font-family: 'UD Shin Go Medium', sans-serif;
letter-spacing: 0.1em;
line-height: 1;
}

.contact .c_sky {
color: #0091D2;
}

@media screen and (max-width: 960px) {
.contact_contents {
flex-direction: column;
padding: 1.5rem 1rem;
gap: 0.5rem;
}

.contact_title {
font-size: 1.25rem;
}

.contact_text::before {
content: none;
}

.contact_number {
margin-bottom: 0.2rem;
}

.contact_number,
.contact_number a {
font-size: 2.2rem;
}

.contact_number::before {
width: 1.5rem;
height: 1.5rem;
left: -2rem;
bottom: 0.55rem;
}
}


/*--------------------------------------------------------------
# footer
--------------------------------------------------------------*/
.footer {
padding-top: 4rem;
border-top: 0.75rem solid #0091D2;
background-color: #FFF;
}

.footer_logo img {
max-height: 4.375rem;
width: auto;
}

.footer_address {
font-size: 0.8rem;
color: #007AB3;
}

.footer_last .c_container {
display: flex;
align-items: flex-start;
flex-wrap: wrap;
justify-content: space-between;
gap: 1rem;
padding: 1.5rem;
}

.footer_last_copyright {
color: #757575;
font-size: 0.75rem;
letter-spacing: 0.1em;
}

.footer_last_menu {
list-style: none;
}

.footer_last_menu a {
padding: 0 2rem;
color: #666;
border-left: #707070 1px solid;
border-right: #707070 1px solid;
}

.footer_miraito {
border-bottom: 1px solid #DDDDDD;
}

.footer_other {
border-bottom: 1px solid #DDDDDD;
}

.footer_other .c_container {
display: flex;
align-items: stretch;
}

.footer_other_item {
flex-shrink: 1;
}

.footer_other_item.--hotaru {
padding: 2.5rem 2.5rem 2.5rem 0;
border-right: 1px solid #DDDDDD;
}

.footer_other_item.--digital {
padding: 2.5rem 0 2.5rem 2.5rem;
}

.footer_other_tag {
max-width: 10rem;
padding: 0.5rem 0.2rem 0.4rem;
text-align: center;
color: #757575;
font-size: 0.75rem;
letter-spacing: 0.2em;
line-height: 1;
border: 1px solid #DDD;
}

.footer_other_item.--hotaru .footer_logo {
max-width: 9.25rem;
}

.footer_other_item.--digital .footer_logo {
max-width: 18.75rem;
}

.footer_other_list {
list-style: none;
padding-left: 1.25rem;
padding-right: 2.5rem;
}

.footer_other_list li {
position: relative;
font-size: 0.8rem;
}

.footer_other_list li::before {
content: '';
display: block;
position: absolute;
top: 0.5em;
left: -1.25rem;
width: 0.625rem;
height: 0.625rem;
border-radius: 1rem;
box-sizing: border-box;
border: 2px solid #F5921E;
}

.footer_other_address,
.footer_other_address a {
font-size: 0.8rem;
}

@media screen and (max-width: 960px) {
.footer_other .c_container {
flex-direction: column;
padding: 2rem 0;
}

.footer_other_tag {
max-width: 12rem;
}

.footer_other_item.--hotaru,
.footer_other_item.--digital {
padding: 1.5rem 2rem;
border-right: none;
}

.footer_last .c_container {
display: block;
}

.footer_last_copyright {
text-align: center;
margin-bottom: 1rem;
}

.footer_last_menu {
text-align: right;
}
}


/*--------------------------------------------------------------
# check
--------------------------------------------------------------*/
.check {
min-height: 100vh;
padding: 4rem 2rem;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
background-color: #FFFFD5;
}

.check .c_container {
max-width: 700px;
background-color: #FFF;
padding: 4rem 1.5rem;
border-radius: 1rem;
border: 0.32rem solid #009CE0;
}

.check_title {
color: #009CE0;
font-size: 1.5rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.4;
}

.check_table{
width:100%;
max-width: 100%;
margin:0 auto 1.5rem;
border-collapse:collapse;
table-layout: fixed;
word-break: break-all;
}

.check_table tr {
border-bottom: 1px solid #DDD;
}

.check_table th,
.check_table td {
display: block;
width: 100%;
max-width: 100%;
text-align: left;
}

.check_table th {
padding-right: 1.25rem;
text-align: left;
color: #009CE0;
font-size: 1.25rem;
font-family: 'UD Shin Go Medium', sans-serif;
vertical-align: text-top;
padding-top: 1.25rem;
padding-bottom: 0.3rem;
}

.check_table td {
padding-top: 0rem;
padding-bottom: 1.25rem;
}

.check_btn {
display: flex;
align-items: center;
justify-content: center;
margin: auto;
padding-right: 1rem;
gap: 0.5rem;
width: 14rem;
border: none;
box-shadow: 0 0.35rem 0 #EEEEEE;
cursor: pointer;
padding: 0.75rem;
background-color: #009CE0;
border-radius: 5rem;
cursor: pointer;
transition: 0.3s all;
letter-spacing: 0.2em;
color: #fff;
font-size: 1.125rem;
}

.check_btn.--02 {
background-color: #ccc;
color: #555;
font-size: 1rem;
margin-bottom: 1rem;
box-shadow: none;
}

p.error_messe{
margin:5px 0;
color:red;
}


/*--------------------------------------------------------------
# thanks
--------------------------------------------------------------*/
.thanks {
min-height: 60vh;
padding: 10rem 2rem;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
background-color: #FFFFD5;
}

.thanks .c_container {
max-width: 700px;
background-color: #FFF;
padding: 5rem 2rem;
border-radius: 1rem;
border: 0.32rem solid #009CE0;
}

.thanks_title {
margin-bottom: 2rem;
color: #009CE0;
font-size: 1.5rem;
font-family: 'UD Shin Go Medium', sans-serif;
line-height: 1.4;
}

.thanks_backbtn a {
display: block;
background-color: #2ec353;
color: #FFF;
font-family: 'UD Shin Go Medium', sans-serif;
border-radius: 5rem;
padding: 1rem 2rem;
width: fit-content;
margin: 0 auto;
}
