@charset "utf-8";

/*☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

Parts

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆*/
:root {
  --white: #FFFFFF;
  --black: #333333;
  --blue: #0d1e5f;
  --lightblue: #f0faff;
  --gray: #EFF2F5;
}
img { max-width: 100%; height: auto; vertical-align: bottom; }

/*===================================================================================
Grid Layout
===================================================================================*/
.d-grid { display: grid; }
.g-clm-gap40px { column-gap: 40px; }
.g-row-gap30px { row-gap: 30px; }
.g-gap20px { gap: 20px; }
.g-gap30px { gap: 30px; }
.gtc-2clm { grid-template-columns: repeat(2, 1fr); }
@media screen and (min-width: 600px) {
  .pc_d-grid { display: grid; }
  .pc_gtc-2clm { grid-template-columns: repeat(2, 1fr); }
  .pc_gtc-3clm { grid-template-columns: repeat(3, 1fr); }
  .pc_gtr-2row { grid-template-rows: 1fr 1fr; }
  .pc_g-gap30px { gap: 30px; }
}
@media screen and (max-width: 599px) {
  .sp_gtc-1clm { grid-template-columns: 1fr; }
}

/*===================================================================================
Flexbox
===================================================================================*/
.d-flex { display: flex; }
.fd-column { flex-direction: column; }
.fw-wrap { flex-wrap: wrap; }
.jc-center { justify-content: center; }
.ai-center { align-items: center; }
.f-gap30px { gap: 30px; }
@media screen and (min-width: 600px) {
  .pc_d-flex { display: flex; }
  .pc_fd-row-r { flex-direction: row-reverse; }
  .pc_fw-wrap { flex-wrap: wrap; }
  .pc_jc-center { justify-content: center; }
  .pc_jc-around { justify-content: space-around; }
  .pc_jc-between { justify-content: space-between; }
  .pc_jc-evenly { justify-content: space-evenly; }
  .pc_ai-center { align-items: center; }
  .pc_f-gap30px { gap: 30px; }
  .pc_f-gap70px { gap: 70px; }
}

/*===================================================================================
width
===================================================================================*/
.min-w150px { min-width: 150px; }
.w20px { width: 20px; }
.w30px { width: 30px; }
.w50px { width: 50px; }
@media screen and (min-width: 600px) {
  .pc_w450px { width: 450px; }
  .pc_w580px { width: 580px; }
  .pc_w790px { width: 790px; }
  .pc_w50per { width: 50%; }
}

/*===================================================================================
margin
===================================================================================*/
/* margin-top */
.mtauto { margin-top: auto; }
.mt5px { margin-top: 5px; }
.mt10px { margin-top: 10px; }
.mt15px { margin-top: 15px; }
.mt20px { margin-top: 20px; }
.mt25px { margin-top: 25px; }
.mt30px { margin-top: 30px; }
.mt35px { margin-top: 35px; }
.mt40px { margin-top: 40px; }
.mt45px { margin-top: 45px; }
.mt50px { margin-top: 50px; }
.mt55px { margin-top: 55px; }
.mt60px { margin-top: 60px; }
.mt65px { margin-top: 65px; }
.mt70px { margin-top: 70px; }
.mt75px { margin-top: 75px; }
.mt80px { margin-top: 80px; }
.mt90px { margin-top: 90px; }
.mt100px { margin-top: 100px; }
/* margin-right */
.mr5px { margin-right: 5px; }
.mr10px { margin-right: 10px; }
.mr15px { margin-right: 15px; }
.mr20px { margin-right: 20px; }
.mr25px { margin-right: 25px; }
.mr30px { margin-right: 30px; }
/* margin-bottom */
.mb5px { margin-bottom: 5px; }
.mb10px { margin-bottom: 10px; }
.mb20px { margin-bottom: 20px; }
.mb30px { margin-bottom: 30px; }
/* margin-left */
.ml5px { margin-left: 5px; }
.ml10px { margin-left: 10px; }
.ml20px { margin-left: 20px; }
.ml30px { margin-left: 30px; }
@media screen and (min-width: 600px) {
  /* margin-left */
  .pc_ml5px { margin-left: 15px; }
  .pc_ml10px { margin-left: 10px; }
}
@media screen and (max-width: 599px) {
  /* margin-top */
  .sp_mt10 , .sp_mt10px { margin-top: 10px; }
  .sp_mt20px { margin-top: 20px; }
  .sp_mt30px { margin-top: 30px; }
  /* margin-bottom */
  .sp_mb20px { margin-bottom: 20px; }
}

/*===================================================================================
padding
===================================================================================*/
.pd5px { padding: 5px; }
.pd10px { padding: 10px; }
.pd15px { padding: 15px; }
.pd20px { padding: 20px; }
.pd25px { padding: 25px; }
.pd30px { padding: 30px; }
.pd35px { padding: 35px; }
.pd40px { padding: 40px; }
.pd45px { padding: 45px; }
.pd50px { padding: 50px; }
.pd60px { padding: 60px; }
/* top */
.pt5px { padding-top: 5px; }
.pt10px { padding-top: 10px; }
.pt15px { padding-top: 15px; }
.pt20px { padding-top: 20px; }
.pt25px { padding-top: 25px; }
.pt30px { padding-top: 30px; }
.pt35px { padding-top: 35px; }
.pt40px { padding-top: 40px; }
.pt45px { padding-top: 45px; }
.pt50px { padding-top: 50px; }
.pt55px { padding-top: 55px; }
.pt60px { padding-top: 60px; }
.pt65px { padding-top: 65px; }
.pt70px { padding-top: 70px; }
.pt75px { padding-top: 75px; }
.pt80px { padding-top: 80px; }
/* bottom */
.pb5px { padding-bottom: 5px; }
.pb10px { padding-bottom: 10px; }
.pb15px { padding-bottom: 15px; }
.pb20px { padding-bottom: 20px; }
.pb25px { padding-bottom: 25px; }
.pb30px { padding-bottom: 30px; }
.pb35px { padding-bottom: 35px; }
.pb40px { padding-bottom: 40px; }
.pb45px { padding-bottom: 45px; }
.pb50px { padding-bottom: 50px; }
.pb55px { padding-bottom: 55px; }
.pb60px { padding-bottom: 60px; }
.pb65px { padding-bottom: 65px; }
.pb70px { padding-bottom: 70px; }
.pb75px { padding-bottom: 75px; }
.pb80px { padding-bottom: 80px; }
@media screen and (min-width: 600px) {
  .pc_pd5px { padding: 5px; }
  .pc_pd10px { padding: 10px; }
  .pc_pd15px { padding: 15px; }
  .pc_pd20px { padding: 20px; }
  .pc_pd25px { padding: 25px; }
  .pc_pd30px { padding: 30px; }
  .pc_pd35px { padding: 35px; }
  .pc_pd40px { padding: 40px; }
  .pc_pd45px { padding: 45px; }
  .pc_pd50px { padding: 50px; }
  .pc_pd60px { padding: 60px; }
  /* top */
  .pc_pt80px { padding-top: 80px; }
  /* padding-left */
  .pc_pl5px { padding-left: 5px; }
  .pc_pl10px { padding-left: 10px; }
  .pc_pl20px { padding-left: 20px; }
  .pc_pl30px { padding-left: 30px; }
}
@media screen and (max-width: 599px) {
  .sp_pd5px { padding: 5px; }
  .sp_pd10px { padding: 10px; }
  .sp_pd15px { padding: 15px; }
  .sp_pd20px { padding: 20px; }
  .sp_pd25px { padding: 25px; }
  .sp_pd30px { padding: 30px; }
  .sp_pd35px { padding: 35px; }
  .sp_pd40px { padding: 40px; }
  .sp_pd45px { padding: 45px; }
  .sp_pd50px { padding: 50px; }
}

/*===================================================================================
background-color
===================================================================================*/
.bgcol-white { background-color: var(--white); }
.bgcol-black { background-color: var(--black); }
.bgcol-blue { background-color: var(--blue); }
.bgcol-gray { background-color: var(--gray); }

/*===================================================================================
color
===================================================================================*/
.col-white { color: var(--white); }
.col-black { color: var(--black); }
.col-blue { color: var(--blue); }


/*===================================================================================
font-size
===================================================================================*/
.fs14px { font-size: 14px; }
.fs15px { font-size: 15px; }
.fs16px { font-size: 16px; }
.fs17px { font-size: 17px; }
.fs18px { font-size: 18px; }
.fs19px { font-size: 19px; }
@media screen and (min-width: 600px) {
  .pc_fs22px { font-size: 22px; }
}
@media screen and (max-width: 599px) {
  .sp_fs19px { font-size: 19px; }
}

/*===================================================================================
font-weight
===================================================================================*/
.fw400 { font-weight: 400; }
.fw700 { font-weight: 700; }

/*===================================================================================
border
===================================================================================*/
.bod-none { border: none; }

/*===================================================================================
border-radius
===================================================================================*/
.bod-r05px { border-radius: 5px; }
.bod-r10px { border-radius: 10px; }
.bod-r15px { border-radius: 15px; }
.bod-r20px { border-radius: 20px; }
.bod-r25px { border-radius: 25px; }
.bod-r30px { border-radius: 30px; }
.bod-r40px { border-radius: 40px; }
.bod-r50px { border-radius: 50px; }
.bod-r50per { border-radius: 50%; }

/*===================================================================================
text-align
===================================================================================*/
.ta-center { text-align: center; }
.ta-left { text-align: left; }
.ta-right { text-align: right; }
@media screen and (min-width: 600px) {
  .pc_ta-right { text-align: right; }
}

/*===================================================================================
border
===================================================================================*/
/* border-bottom */
.bdb2px-blue { border-bottom: 2px solid var(--blue);}

/*===================================================================================
button
===================================================================================*/
input[type=submit] , input[type=button] { appearance: none; -webkit-appearance: none; display: inline-block; width: 80%; background-color: var(--blue); color: var(--white); position: relative; line-height: 20px; padding: 29px 0; border: 1px solid var(--blue); font-size: 16px; }
input[type=submit]:hover , input[type=button]:hover { background-color: var(--gray); color: var(--blue);  opacity: 0.8; }
@media screen and (min-width: 600px) {
  input[type=submit] , input[type=button] { width: 300px; }
}
.button_wrap { position: relative; }
.button_wrap::after { content: "〉"; position: absolute; top: 50%; right: 70px; transform: translateY(-50%); color: var(--white); }
.button_wrap:hover::after { color: var(--blue); }
@media screen and (min-width: 600px) {
  .button_wrap { width: 300px; }
  .button_wrap::after { right: 10px; }
}
/*===================================================================================
table
===================================================================================*/
.table01 { width: 100%; border-collapse: collapse; border-bottom: 1px solid var(--blue); }
.table01 th, .table01 td { display: block; border: 1px solid var(--blue); padding: 20px; border-bottom: none; }
.table01 th { background-color: var(--blue); color: var(--white); }
.table01 td { text-align: center; }
.table01 th.color-lightblue { background-color: var(--lightblue); color: var(--black); }
@media screen and (min-width: 600px) {
  .table01 th, .table01 td { display: table-cell; }
  .table01 td { text-align: left; }
}
.table01.--mailform { border-right: none; border-left: none; border-bottom: 1px solid var(--gray); }
.table01.--mailform th , .table01.--mailform td { border: 1px solid var(--gray); text-align: left; }
.table01.--mailform th { background-color: var(--lightblue); color: var(--black); font-weight: normal; }
@media screen and (min-width: 600px) {
  .table01.--mailform th { border-left: none; width: 25%; }
  .table01.--mailform td { border-right: none; }
}

/*===================================================================================
input / textarea
===================================================================================*/
.--mailform input , textarea { width: 100%; padding: 5px; }

/*===================================================================================
icon
===================================================================================*/
.light-icon { display: flex; align-items: flex-end; }
.light-icon::before { content: ""; display: inline-block; width: 30px; height: 40px; background: url('images/jigyo_icon@2x.png') no-repeat; background-size: cover; margin-right: 10px; }
/*===================================================================================
text-indent
===================================================================================*/
@media screen and (max-width: 599px) {
  .indent-list li { text-indent: -1.5em; padding-left: 1.5em; }
}

/*☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

Costom

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆*/
/*===================================================================================
header
===================================================================================*/
.header { transition: ease-in-out 0.3s; }
.header.active { background-color: var(--blue); }
@media screen and (min-width: 600px) {
  .header .inner { padding-top: 5px; }
}
@media screen and (max-width: 599px) {
  .header .inner { padding: 0 10px; }
}
@media only screen and (max-width: 350px) {
  .header h1 { line-height: 150%; }
}
/* gNavi */
@media screen and (min-width: 600px) {
  .gNav { padding-top: 90px; }
}

/*===================================================================================
mvIndex
===================================================================================*/
.mvIndex { background: url("images/SP_main@2x.png?20230510") no-repeat center left; background-size: cover; }
.mvIndex__inner { position: relative; width: 100%; height: 100%; }
.mvIndex__title { position: absolute; top: 25%; left: 0; transform: translateY(-20%); padding: 5%; color: var(--blue); font-size: min(7vw, 40px); line-height: 1.8; }
.mvIndex__title > span { display: block; }
.mvIndex__text-bg-color { background-color: rgba(255, 255, 255, 0.8); }
@media screen and (min-width: 600px) {
  .mvIndex { background: url("images/pc_main@2x.png?20230510") no-repeat top center; background-size: cover; }
}
@media screen and (min-width: 1000px) {
  .mvIndex__title { top: 20%; left: 15%; }
}
/*===================================================================================
contents
===================================================================================*/
#index .sec2 .box4 .img { background-image: url(images/top_image04.png); }
@media screen and (min-width: 600px) {
  #index .sec2 .box3 .txt { padding: 80px 40px 0; }
  #index .sec2 .box4 .img { border-radius: 25px 0 0 25px; order: 1; }
}