@charset "UTF-8";

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

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

body {
  line-height: 1;
}

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

nav,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  color: inherit;
}

/* change colours to suit your needs */
ins {
  background-color: #fff;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #fff;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

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

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

sup {
  font-size: smaller;
  vertical-align: super;
}
ol {
  list-style: none;
}

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

.imgSvg path {
  color: #c01920;
  fill: currentColor;
}
.imgSvg polygon {
  color: #c01920;
  fill: currentColor;
}
.imgSvg rect {
  color: #c01920;
  fill: currentColor;
}
.imgSvg.white path {
  color: #fff;
  fill: currentColor;
}
.imgSvg.white polygon {
  color: #fff;
  fill: currentColor;
}
.imgSvg.white rect {
  color: #fff;
  fill: currentColor;
}

@media screen and (max-width: 767px) {
  .spParts {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .spParts {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pcParts {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .pcParts {
    display: block;
  }
}
@media screen and (max-width: 767px) { .u_ov767  { display: none !important; } }
@media screen and (min-width: 768px) { .u_un767  { display: none !important; } }
@media screen and (min-width: 1001px) { .u_un1000 { display: none !important; } }
@media screen and (min-width: 1201px) { .u_un1200 { display: none !important; } }
@media screen and (min-width: 1301px) { .u_un1300 { display: none !important; } }
@media screen and (max-width: 1000px) { .u_ov1000 { display: none !important; } }
@media screen and (max-width: 1200px) { .u_ov1200 { display: none !important; } }
@media screen and (max-width: 1300px) { .u_ov1300 { display: none !important; } }

@media screen and (min-width: 768px) {
  a {
    transition: 0.3s opacity;
  }
  a:hover {
    opacity: 0.6;
  }
}

.mt0 {
  margin-top: 0 !important;
}
.mr3 {
  margin-right: 3px !important;
}
.mt10 {
  margin-top: calc(10 / 375* 100vw);
}
@media screen and (min-width: 768px),print {
  .mt10 {
    margin-top: 10px;
  }
}

.mt80-40 {
  margin-top: calc(40 / 375* 100vw) !important;
}
.mt80-30 {
  margin-top: calc(30 / 375* 100vw) !important;
}

@media screen and (min-width: 768px) {
  .mt80-40 {
    margin-top: 80px !important;
  }
  .mt80-30 {
    margin-top: 80px !important;
  }
}

@media screen and (min-width: 768px) {
  a:hover {
    opacity: 0.8;
    transition: 0.3s all ease;
  }
}
.taC {
  text-align: center;
}

/**************************
**** css 変数
**************************/
:root {
  /* カラー */
  --color_blue01:   #484AFE;
  --color_blue02:   #268CFE;
  --color_blue03:   #14AFF8;
  --color_blue04:   #DBF6FA;
  --color_blue05:   #E9F3FF;
  --color_green01: #03DBBD;
  --color_green02: #00B99F;
  --color_green03: #16C81F;
  --color_green04: #28E432;
  --color_green05: #A8EA3A;
  --color_black01: #000000;
  --color_white01: #ffffff;
  --color_gray01: #B9B9B9;
  --color_navy01: #000170;

  --grad02: linear-gradient(90deg,rgba(72, 74, 254, 1) 0%, rgba(20, 175, 248, 1) 50%, rgba(3, 219, 189, 1) 100%);
  --shadow_01:  0px 3px 20px 5px rgba(0,0,0,0.1);

}

/**************************
**** web font
**************************/
.font_en {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

/* Scss Document */
html {
  font-size: 10px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  font-feature-settings: "palt";
}

body {
  font-size: 16px;
  font-size: calc(16 / 375* 100vw);;
  line-height: 1.6;
  background-attachment: fixed;
  color: var(--color_black01);
}
@media screen and (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  img {
    max-width: 100%;
  }
}

#wrap {
  /*width: 100vw;*/
  /* overflow: hidden; */
}
@media screen and (min-width: 768px) {
  #wrap {
    /*width: 100%;*/
    min-width: 1200px;
  }
}

.inner {
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
  padding: 0 5.33vw;
}
@media screen and (min-width: 768px) {
  .inner {
    width: 1280px;
    /* max-width: 1280px; */
    margin: 0 auto;
    padding: 0 40px;
  }
}

.main {
  overflow: hidden;
}
/* @media screen and (min-width: 768px) {
  .main {

  }
} */
.color01 {
  color: var(--color_logo01);
}
.color02 {
  color: var(--color_gray01);
}
.fontB {
  font-weight: bold;
}
.fontN{
  font-weight: normal;
}

/**************************
**** btn
**************************/
.btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #fff;
}
.col__list > .btn {
  background: none;
}
.btn a {
  position: relative;
  padding-left: 30px;
  padding-right: 30px;
  width: 100%;
  background: var(--color_black01);
  color: #fff;
  font-size: 16px;
  font-size: calc(16 / 375* 100vw);
  transition: 0.3s all ease;
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.btn a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--color_white01);
  border-right: 2px solid var(--color_white01);
  margin: auto 0;
  rotate: 45deg;
}

@media screen and (max-width: 767px) {
  .btn a {
    padding: 1em 0;
  }
}
@media screen and (min-width: 768px) {
  .btn a {
    font-size: 16px;
    height: 56px;
  }
}
@media screen and (min-width: 768px) {
  .btn a:hover {
    opacity: 0.8;
    transition: 0.3s all ease;
    box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.1);
  }
}
.btn.white {
  background: transparent;
}
.btn.white a {
  background: #fff;
  color: #222;
}

.m_btn01 {
  background: var(--grad02);
  color: var(--color_black01);
  font-size: calc(16 / 375* 100vw);
  font-weight: bold;
  display: flex;;
  justify-content: center;;
  flex-wrap: wrap;
  width: calc(315 / 375* 100vw);
  min-height: calc(50 / 375* 100vw);
  border-radius: calc(50 / 375* 100vw);
  position: relative;
  box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.3);
  border: none;
}
.s_typeB.m_btn01 {
  font-size: calc(14 / 375* 100vw);
}
.m_btn01_inn {
  background-color: #fff;
  display: flex;;
  justify-content: center;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  min-height: calc(44 / 375* 100vw);
  margin: auto;
  border-radius: 50px;;
  align-items: center;;
  
}
.m_btn01_text {
  padding-right: calc(25 / 375* 100vw);
  position: relative;
}
.m_btn01_text::before {
  content: "";
  display: block;
  width: calc(10 / 375* 100vw);;
  height: calc(10 / 375* 100vw);;
  border-top: 2px solid var(--color_blue01);
  border-right: 2px solid var(--color_blue01);
  rotate: 45deg;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.m_btn01_icon {
  width: auto;
  height: calc(24 / 375* 100vw);
  padding-right: calc(15 / 375* 100vw);
  vertical-align: middle;;
}
.s_typeB .m_btn01_icon {
  height: calc(16 / 375* 100vw);
  margin-bottom: calc(2 / 375* 100vw);;
  padding-right: calc(10 / 375* 100vw);
}

@media screen and (min-width: 768px),print {
  .m_btn01 {
    font-size: 2.4rem;
    width: 100%;
    border-radius: 45px;
    min-height: 90px;
    transition: 0.3s opacity;
  }
  .m_btn01:hover {
    opacity: 0.5;
  }
  .s_typeB.m_btn01 {
    font-size: 2.6rem;
    width: 650px;
    margin-left: auto;
    margin-right: auto;
  }
  .m_btn01_inn {
    min-height: 82px;
  }
  .m_btn01_text {
    padding-right: 25px;
  }
  .m_btn01_text::before {
    width: 10px;
    height: 10px;
  }
  .m_btn01_icon {
    height: 40px;
    padding-right: 15px;
  }
  .s_typeB .m_btn01_icon {
    height: 40px;
    padding-right: 20px;
  }

}
.m_linkArrow01 {
  font-size: calc(14 / 375* 100vw);
  padding-left: calc(26 / 375* 100vw);
  font-weight: bold;
  position: relative;
  display: inline-block;
}
.m_linkArrow01::before {
  content: "";
  display: block;
  width: calc(20 / 375* 100vw);;
  height: calc(20 / 375* 100vw);
  background-color: var(--color_logo01);
  border-radius: 50%;
  position: absolute;
  top: 0.1em;
  left: 0;
}
.m_linkArrow01::after {
  content: "";
  display: block;
  width: calc(5 / 375* 100vw);;
  height: calc(5 / 375* 100vw);;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: calc(9 / 375* 100vw);;
  left: calc(6 / 375* 100vw);
  rotate: -45deg;
}
@media screen and (min-width: 768px),print {
  .m_linkArrow01 {
    font-size: 1.6rem;
    padding-left: 26px;
  }
  .m_linkArrow01:hover {
    text-decoration: underline;
  }
  .m_linkArrow01::before {
    width: 20px;
    height: 20px;
  }
  .m_linkArrow01::after {
    width: 5px;
    height: 4px;
    top: 10px;
    left: 6px;

  }
}
.m_link01 {
  text-decoration: underline;
  color: var(--color_blue01);
  font-weight: bold;
}
@media screen and (min-width: 768px),print {
  .m_link01:hover {
    text-decoration: none;;
  }
}
.m_color01 {
  color: var(--color_blue01);
}
.m_color02 {
  color: #333;
}

.m_titleA {
  text-align :center;
  margin-bottom: calc(40 / 375* 100vw);
  font-size: 2.6rem;
  font-weight: 400;
}
.m_titleA_img {
  width: auto;
  height: calc(40 / 375* 100vw);
}
.m_titleA_text {
  display: block;;
  margin-top: calc(10 / 375* 100vw);
}
@media screen and (min-width: 768px),print {
  .m_titleA {
    margin-bottom: 80px;
    font-size: 4.0rem;
  }
  .m_titleA_img  {
    height: 60px;
  }
  .m_titleA_text {
    margin-top: 20px;
  }
}
.m_titleB {
  font-size: calc(18 / 375* 100vw);
  font-weight: bold;
  color: var(--color_logo01);
  margin-bottom: calc(15 / 375* 100vw);
  margin-top: calc(40 / 375* 100vw);
}
@media screen and (min-width: 768px),print {
  .m_titleB {
    font-size: 2.6rem;
    margin-bottom: 30px;
    margin-top: 80px;;
  }
}

.m_titleC {
  font-size: calc(20 / 375* 100vw);;
  font-weight: bold;
  text-align: center;
  position: relative;
  padding-bottom: calc(24 / 375* 100vw);
  margin-bottom: calc(20 / 375* 100vw);
}
.m_titleC::before {
  content: "";
  display: block;
  width: calc(60 / 375* 100vw);
  height: calc(10 / 375* 100vw);;
  background: var(--grad02);
  border-radius: calc(5 / 375* 100vw);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (min-width: 768px),print {
  .m_titleC {
    font-size: 2.6rem;
    padding-bottom: 20px;
    margin-bottom: 30px;
  }
  .m_titleC::before {
    width: 60px;
    height: 10px;
    border-radius: 5px;
  }
}

.m_titleD {
  font-size: calc(20 / 375* 100vw);
  font-weight: bold;
  position: relative;
  padding-bottom: calc(15 / 375* 100vw);
  margin-bottom: calc(20 / 375* 100vw);
  margin-top: calc(50 / 375* 100vw);
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: var(--color_black01)
}
.m_titleD::before {
  content: "";
  display: block;
  width: calc(60 / 375* 100vw);;
  height: calc(10 / 375* 100vw);;
  position: absolute;
  left: 0;
  bottom: 0;
  background: var(--grad02);
  border-radius: calc(5 / 375* 100vw);
}
@media screen and (min-width: 768px),print {
  .m_titleD {
    font-size: 2.6rem;
    padding-bottom: 15px;
    margin-bottom: 30px;
    margin-top: 60px;
  }
  .m_titleD::before {
    width: 60px;
    height: 10px;
    border-radius: 5px;;
  }
}

/* #search_occupation ul {
  display: flex;
  flex-wrap: wrap;
  margin: calc(-20 / 375* 100vw);
} */

@media screen and (min-width: 768px) {
  /* #search_occupation ul {
    margin: -10px;
  } */
}


/* ---------- occupation_card ---------- */
.occupation_card {
  width: 33.33%;
  border-radius: 10px;
  padding: calc(20 / 375* 100vw);
}
@media screen and (max-width: 767px) {
  .occupation_card {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .occupation_card {
    padding: 10px;
  }
}

.occupation_card a {
  position: relative;
  display: block;
  width: 100%;
  font-size: 16px;
  font-size: calc(16 / 375* 100vw);
  transition: 0.3s all ease;
  box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  height: 100%;
  background: #FFF9EF;
  border-radius: 20px;
}

@media screen and (min-width: 768px) {
  .occupation_card a {
    font-size: 16px;
    border-radius: 20px;
  }
  .occupation_card a:hover {
    opacity: 0.8;
    transition: 0.3s all ease;
    box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.1);
  }
}



/**************************
**** バナー
**************************/
.bnrCol {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.bnrCol a {
  display: block;
}


/**************************
**** コンテンツ
**************************/



/*****リスト*****/
.list {
}
.list > li {
  position: relative;
}
.list > li + li{
	margin-top: 5px;
}
.list.s_circle{
}
.list.s_circle > li {
}
.list.s_circle > li:before {
	content: "●";
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (min-width: 768px) {
  .list.s_circle{
    font-size: 16px;
  }
}

.list.s_note{
	font-size: calc(14 / 375* 100vw);
}
.list.s_note > li {
	text-align: left;
	padding-left: 1em;
}
.list.s_note > li:before{
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (min-width: 768px) {
  .list.s_note{
    font-size: 14px;
  }
}

.list02Head {
  float: left;
  display: block;
  margin-right: 3px;
}
.list02Body {
  overflow: hidden;
  display: block;
}

.m_note01 {
  margin-top: calc(5 / 375* 100vw);
  font-size: calc(14 / 375* 100vw);
}
.m_note01Head {
  float: left;
  display: block;
  margin-right: 3px;
}
.m_note01Body {
  overflow: hidden;
  display: block;;
}
@media screen and (min-width: 768px),print {
  .m_note01 {
    font-size: 1.4rem;
    margin-top: 10px;
  }
}

.m_sectionS {
  margin-top: calc(20 / 375* 100vw);
}
.m_sectionSS {
  margin-top: calc(10 / 375* 100vw);
}
.m_sectionXS {
  margin-top: calc(5 / 375* 100vw);
}
@media screen and (min-width: 768px),print {
  .m_sectionS {
    margin-top: 20px;
  }
  .m_sectionSS {
    margin-top: 10px;
  }
  .m_sectionXS {
    margin-top: 5px;
  }
  
}

.m_width01 {
  width: 5.5em;
}


@media screen and (max-width: 767px) {
  .sp2col ul {
    display: flex;
    flex-wrap: wrap;
  }
  .sp2col ul li {
    margin: 0 4% 4% 0;
    width: 48%;
  }
  .sp2col ul li:nth-child(2n) {
    margin-right: 0%;
  }
}


/* Scss Document */
/**************************
**** header
**************************/
#header {
  transition: 0.3s all ease;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  background-color: rgba(255,255,255,0.9);
  display: flex;;
  align-items: center;
  height: 50px;
  box-shadow: var(--shadow_01);
}
#header.open {
}
#header.scroll {
  background: rgba(255,255,255,0.9);
}
#header.scroll.open {
  background-color: #fff;
}
#header .inner {
  /* position: relative; */
  width: 100%;
  padding: 5px 20px;;
  display: flex;
  /* flex-wrap: wrap; */
  align-items: center;
}
@media screen and (min-width: 1000px) {
  #header {
    max-width: 1880px;
    margin-left: auto;
    margin-right: auto;
    right: 0;
    height: 80px;
  }
  #header .inner {
    display: flex;
    /* flex-wrap: wrap; */
    /* justify-content: flex-start; */
    /*max-width: 100%;*/
    /* min-width: 1080px; */
    align-items: center;
    /* padding: calc(8 / 1920* 100vw) calc(20 / 1920* 100vw) calc(8 / 1920* 100vw) calc(50 / 1920* 100vw);; */
    max-width: none;
    min-width: 1280px;

  }
}
@media screen and (min-width: 1920px) {
  /* #header {
    height: 100px;
  }
  #header .inner {
    display: flex;
    align-items: center;
    padding: 8px 20px 8px 50px;
    max-width: none;
  } */
}
.header_logo {
  transition: 0.3s all ease;
  display: flex;
  align-items: center;
  margin-right: 20px;
  width: 104px;
}

.header_title {
  font-size: 1.4rem;
  line-height: 1.4;
}
@media screen and (min-width: 1000px) {
  .header_logo {
    width: 110px;;
    margin-right: 0;;
  }
  .header_title {
    font-size: 1.3rem;;
    padding-left: 20px;;
  }
  #header .inner #logo {
    /* margin: 0 34px 0 0;
    height: 60px;
    flex-basis: auto; */
  }
  #header .inner #logo img {
    /* transition: 0.3s all ease;
    height: auto;
    width: 100%;
    max-height: 60px; */
  }
}
/* @media screen and (min-width: 1920px) {
  .header_logo {
    width: 128px;
    margin-right: 32px;
  }
  .header_title {
    font-size: 1.5rem;
    padding-left: 32px;
  }
} */
@media screen and (min-width: 1000px) {
  /* #header .inner #nav {
    flex-basis: 520px;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  } */
  #nav {
    margin-left: auto;
  }
  .pc_nav {
    margin-left: auto;
  }
  .pc_navList {
    display: flex;;
    gap: 20px;;
    margin-left: auto;;
  }
  .pc_navWrap {
    display: flex;;
    align-items: center;
    flex: 1;
    margin-left: 10px;
  }
  .pc_navLink {
    text-align: center;
  }

  .pc_navText {
    font-size: 1.3rem;;;
    font-weight: bold;
    color: var(--color_black01);
    position: relative;
    padding-right: 20px;
    display: inline-block;
  }
  .pc_navText::before {
    content: "";
    display: block;
    width: 10px;
    height: 5px;
    background: url(../images/icon_arrow_01.png) no-repeat left center;
    background-size: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    
  }


}
@media screen and (min-width: 1600px) {
  .pc_nav {
    margin-left: 50px;
  }
  .pc_navList {
    display: flex;;
    gap: 30px;
    margin-left: 50px;
  }
  .pc_navIcon {
    width: auto;
    height: 30px;
  }
  .pc_navText {
    font-size: 1.6rem;
  }
  .pc_navIconWrap {
    margin-bottom: 10px;
  }
}




#header .inner #pageTitle {
  /* display: none; */
}
@media screen and (min-width: 1280px) {
  #header .inner #pageTitle {
    /* display: block; */
    flex-basis: 248px;
    max-width: 248px;
  }
}
@media screen and (min-width: 768px) {
  #header .inner #pageTitle {
    display: block;
    flex-basis: 210px;
    max-width: 210px;
  }
}
#header .inner #pageTitle {
  flex-basis: auto;
  max-width: 100%;
  margin-right: 10px;
  color: var(--color_black01);
}
#header .inner #pageTitle h1 {
  font-size: 2.6666666667vw;
  font-size: 11px;
  font-weight: normal;
}
@media screen and (min-width: 1280px) {
  #header .inner #pageTitle h1 {
    font-size: 14px;
  }
}
@media screen and (max-width: 370px) {
  #header .inner #pageTitle h1 {
    font-size: 10px;
  }
}
#header .inner #pageTitle h1 span {
  display: block;
}
#header.scroll .inner #logo {
  transition: 0.3s all ease;
}
@media screen and (min-width: 768px) {
  /* #header.scroll .inner #logo {
    margin: 0 2em 0 0;
    height: 40px;
    max-width: 200px;
  } */
}
@media screen and (min-width: 768px) {
  /* #header.scroll .inner #logo img {
    transition: 0.3s all ease;
    width: auto;
    max-height: 40px;
  } */
}


/********************************
**  ハンバーガー
********************************/
.overlay {
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.75);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.5s;
}

.overlay.open {
  width: 100%;
  height: 100vh;
  opacity: 1;
}

.menu-triggerWrap {
  margin-left: auto;
}

#menu-trigger {
  margin-left: auto;
  display: inline-block;
  width: 32px;
  height: 28px;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
  z-index: 9999;
}

#menu-trigger span {
  display: inline-block;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  border-radius: 1.5px;
  background-color: var(--color_black01);
  transition: all 0.5s;
}

/* #menu-trigger.active span {
   background-color: #fff;
} */

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

#menu-trigger.active span:nth-of-type(1) {
  transform: translateY(7px) rotate(-45deg);
}

#menu-trigger span:nth-of-type(2) {
  bottom: 6px;
}

#menu-trigger.active span:nth-of-type(2) {
  transform: translateY(-7px) rotate(45deg);
}

#sp_nav {
  width: 300px;
  height: 100%;
  padding-top: 100px;
  background-color: var(--color_black01);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
  transform: translate(300px);
  transition: all 0.5s;
}

#sp_nav.open {
  transform: translateZ(0);
}

#sp_nav li {
  color: var(--color_white01);
  text-align: left;
  padding: 20px 0;
  margin: 0 10px;
  border-bottom: 2px solid var(--color_gray01);
}
#sp_nav li a {
  /* display: block;
  width: 100%;
  height: 100%;
  font-size: 16px;
  position: relative; */

}
#sp_nav li a span {
  /* display: inline-block;
  padding: 0 30px;
  font-weight: bold; */
}
/* #sp_nav li a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 40px;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--color_white01);
  border-right: 2px solid var(--color_white01);
  margin: auto 0;
  rotate: 45deg;
} */


/* gunma humberger */
#menu-trigger {
  width: 50px;
  height: 50px;
  background-color: var(--color_blue01);
  position: absolute;
  top: 0;
  right: 0;
  border-radius:  10px 0 0 10px;
  border: none;
}

#menu-trigger .menu-trigger-text {
  color: #fff;
  font-size: 10px;
  line-height: 1;
  text-align: center;
  margin-top: 8px;
  font-weight: 400;
  letter-spacing: 0.13em;;
  display: block;;
  background-color: transparent;
}
#menu-trigger .menu-trigger-bar {
  background-color: var(--color_white01);
  width: 20px;
  left: 0;
  right: 0;
  margin: auto;
  border-radius: 2px;;
  height: 2px;
}
#menu-trigger .menu-trigger-bar:nth-of-type(1) {
  top: 9px;
}
#menu-trigger .menu-trigger-bar:nth-of-type(2) {
  top: 16px;
  bottom: auto;
}
#menu-trigger .menu-trigger-bar:nth-of-type(3) {
  top: 23px;
  bottom: auto;
}
#menu-trigger.active .menu-trigger-bar:nth-of-type(1) {
  transform: rotate(-45deg);
  top: 15px;
}
#menu-trigger.active .menu-trigger-bar:nth-of-type(2) {
  transform: translateX(10px);
  opacity: 0;
}
#menu-trigger.active .menu-trigger-bar:nth-of-type(3) {
  transform: rotate(45deg);
  top: 15px;
}
#sp_nav {
  background: rgba(233,243,255,1);
  height: auto;
  width: 100%;
  transform: none;
  top: -9999px;
  left: 0;
  right: 0;
  opacity: 0;
  transition: 0.1s top 0s, 0.5s opacity 0s;
  /* padding-top: 0; */
  padding: 80px 20px 40px;
  border-radius: 0 0 30px 30px;
  max-height: calc(100vh - 75px);
  overflow-y: scroll;;
  visibility: hidden;
}
#sp_nav.open {
  top: 0;
  opacity: 1;
  visibility: visible;
}
#sp_nav li {
  border: none;
  color: var(--color_black01);
  padding: 0;
  /* transform: translateY(-20px); */
  opacity: 0;
  transition: 0.5s transform 1s , 0.5s opacity 0.2s;
}


#sp_nav.open li {
  transform: translateY(0);
  opacity: 1;
  /* transition-delay: 0; */
  margin-left: 30px;
  margin-right: 30px;
}

#sp_nav li + li {
  margin-top: 30px;
}
/* #sp_nav li a::before {
  border-color: var(--color_black01);
  rotate: 135deg;
} */
.sp_navLink {
  font-size: 2.4rem;;
  font-weight: bold;
  position: relative;
  padding-right: 20px;
  display: block;
}
.sp_navLink::before {
  content: "";
  display: block;
  width: 15px;
  height: 8px;
  background: url(../images/icon_arrow_01.png) no-repeat left top;
  background-size: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}



.sp_navBtn01Wrap {
  margin-top: 50px;
  /* margin-top: 100px; */
  opacity: 0;
  transition: 0.5s opacity  0.3s;
}
/* .sp_navBtn01Wrap {
  transition-delay: 1.6s;
} */
#sp_nav.open  .sp_navBtn01Wrap {
  opacity: 1;
}
.navBtn01 {
  display: flex;;
  justify-content: center;
  align-items: center;
  font-size: 2.4rem;
  font-weight: bold;
  max-width: 335px;
  width: 100%;
  height: 70px;
  position: relative;
  border-radius: 35px;;
  margin-left: auto;
  margin-right: auto;
}

.navBtn01 + .navBtn01 {
  margin-top: 30px;
}
.navBtn01.s_01 {
  background-color: var(--color_blue01);
  color: var(--color_white01);
}
.navBtn01.s_02 {
  background-color: var(--color_green02);
  color: var(--color_white01);
}

.navBtn01_sub {
  display: inline-flex;;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -11px;
  right: 55px;
  font-size: 1.1rem;
  font-weight: bold;
  /* width: 145px; */
  height: 22px;
  border-radius: 11px;
  padding: 0 12px;
}
.s_01.navBtn01_sub {
  background-color: var(--color_yellow01);
  color: #000;
}
.s_02.navBtn01_sub {
  background-color: var(--color_white01);
  color: var(--color_black01);
  border: 1px solid var(--color_green02);
}

.navBtn01_sub::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: 97%;
  left: 25px;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
}
.s_01.navBtn01_sub::before {
  border-bottom: 4px solid var(--color_yellow01);
  rotate: -45deg;
}
.s_02.navBtn01_sub::before {
  border-bottom: 4px solid var(--color_white01);
  rotate: -45deg;
}

.navBtn01Text {
  position: relative;
  display: inline-block;;
  padding-right: 30px;
}
.navBtn01Text::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 3px solid var(--color_white01);
  border-right: 3px solid var(--color_white01);
  rotate: 45deg;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  transform: skew(8deg,8deg);
}

@media screen and (min-width: 1000px) {
  .pc_navBtnWrap  {
    display: flex;;
    justify-content: center;;
    gap: 10px;;
    margin-left: 20px;
  }
  .navBtn01 {
    display: flex;
    width: 200px;
    font-size: 1.6rem;;;
    padding: 0;;
    height: 50px;
  }
  .navBtn01 + .navBtn01 {
    margin-top: 0;
  }
  .navBtn01_sub {
    /* top: 14px; */
    right: 30px;
    font-size:1.3rem;;
    height: 22px;
    border-radius: calc(11 / 1920* 100vw);
    padding: 0 12px;
  }
  .navBtn01_sub::before {
    top: 94%;
    left: 25px;
  }
  .navBtn01Text {
    padding-right: 20px;
  }
}
@media screen and (min-width: 1600px),print {
  .pc_navBtnWrap {
    gap: 20px;
    margin-left: 50px;
  }
  .navBtn01 {
    display: inline-flex;
    width: auto;
    font-size: 1.8rem;
    padding: 0 25px;
    height: 50px;
  }
  .navBtn01_sub {
    top: -11px;
    right: 20px;
    font-size: 1.1rem;
    height: 22px;
    border-radius: 11px;
    padding: 0 12px;
  }
}
/**************************
**** MV
**************************/
.mv {
  margin-top: calc(-30 / 375* 100vw);
}
@media screen and (min-width: 1000px),print {
  .mv {
    margin-top: -80px;
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
  }
}



/**************************
**** サーチコンテンツ
**************************/
.sec01 {
  background: url(../images/sec01_bg01_sp.png) no-repeat center top;
  background-size: 100%;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px),print {
  .sec01 {
    background-image: url(../images/sec01_bg01_pc.png);
    background-size: 1600px;
  }
}
.sec01_title {
  text-align: center;
  font-size: calc(60 / 375* 100vw);
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (min-width: 768px),print {
  .sec01_title {
    font-size: 12rem;
  }
}

.sec01_btnWrap {
  display: flex;;
  flex-direction: column;
  gap: calc(20 / 375* 100vw);
  width: calc(315 / 375* 100vw);
  margin: calc(-10 / 375* 100vw) auto 0;
  padding-bottom: calc(40 / 375* 100vw);;
}
@media screen and (min-width: 768px),print {
  .sec01_btnWrap {
    flex-direction: row;
    gap: 48px;
    width: 100%;
    margin: -20px auto 0;
    padding-bottom: 50px;
  }
}
.sec01_textBoxInn {
  position: relative;
  width: calc(315 / 375* 100vw);
}
.textbox {
  background-color: #fff;
  width: 100%;
  border: 1px solid var(--color_gray01);
  height: calc(50 / 375* 100vw);
  font-size: calc(16 / 375* 100vw);
  font-weight: bold;
  border-radius: calc(30 / 375* 100vw);
  padding: 0 calc(50 / 375* 100vw) 0 calc(20 / 375* 100vw);;;
}
.search_btn {
  position: absolute;
  top: 0;
  bottom: 0;
  right: calc(20 / 375* 100vw);;
  margin: auto;
  display: block;
  width: calc(24 / 375* 100vw);
  height: calc(24 / 375* 100vw);
}

@media screen and (min-width: 768px),print {
  .sec01_textBoxInn {
    width: 100%;
  }
  .textbox {
    height: 90px;
    font-size: 2.4rem;
    border-radius: 45px;
    padding: 0 50px 0 20px;
  }
  .search_btn {
    width: 35px;
    height: 35px;
    right: 20px;
  }
  .sec01_btn {
    flex: 1;
  }
}
.sec01_02 {
  background-color: var(--color_blue04);
  border-radius: calc(50 / 375* 100vw) calc(50 / 375* 100vw) 0 0;
  padding-top: calc(50 / 375* 100vw);
  padding-bottom: calc(120 / 375* 100vw);
  position: relative;
  z-index: 0;
}
.sec01_02_titleImg {
  width: auto;
  height: calc(45 / 375* 100vw);
  margin-bottom: calc(30 / 375* 100vw);
}

@media screen and (min-width: 768px),print {
  .sec01_02 {
    border-radius: 200px 200px 0 0;
    padding-top: 80px;
    padding-bottom: 150px;
  }
  .sec01_02_titleImg {
    height: 86px;
    margin-bottom: 50px;
  }
  .sec01_02_bgImg {
    position: absolute;
    top: 16%;
    left: 0;
    width: 400px;
    z-index: -1;
  }
}
.sec01_02_mapWrap {
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px),print {
  .sec01_02_mapWrap {
    margin-top: -100px;
    max-width: 743px;
    margin-left: auto;
    margin-right: auto;
  }

}
.sec01_mapBtn {
  display: block;
  position: absolute;
  border-radius: 50px;
  text-indent: -9999px;
  opacity: 0;
}
.sec01_mapBtn.s_01 {
  top: 0;
  right: 0;
  width: 42%;
  height: 13%;
  /* background-color: rgba(255,255,0,0.5); */
}
.sec01_mapBtn.s_02 {
  top: 17%;
  left: 0;
  width: 34%;
  height: 12%;
  /* background-color: rgba(0,255,0,0.5); */
}
.sec01_mapBtn.s_03 {
  top: 50.3%;
  right: 0;
  width: 34%;
  height: 12%;
  /* background-color: rgba(0,255,255,0.5); */
}
.sec01_mapBtn.s_04 {
  top: 82.2%;
  left: 0;
  width: 32.5%;
  height: 12%;
  /* background-color: rgba(0,0,255,0.5); */
}
.sec01_mapBtn.s_05 {
  top: 82.2%;
  right: 20%;
  width: 32.5%;
  height: 12%;
  /* background-color: rgba(0,255,0,0.5); */
}
@media screen and (min-width: 768px),print {
  .sec01_mapBtn {
    background-color: #fff;
    transition: 0.3s opacity;
  }
  .sec01_mapBtn:hover {
    opacity: 0.5;
  }
  .sec01_mapBtn.s_01 {
    top: 20.2%;
    right: 0;
    width: 24.7%;
    height: 9%;
  }
  .sec01_mapBtn.s_02 {
    top: 23.5%;
    left: 0;
    width: 24.7%;
    height: 9%;
  }
  .sec01_mapBtn.s_03 {
    top: 57.6%;
    right: 0;
    width: 24.6%;
    height: 9%;
  }
  .sec01_mapBtn.s_04 {
    top: 70.6%;
    left: 0;
    width: 24.6%;
    height: 9%;
  }
  .sec01_mapBtn.s_05 {
    top: 85%;
    right: 22.8%;
    width: 24.8%;
    height: 9%;
  }
}
.sec01_modalLead {
  font-weight: bold;
  color: #333;
  text-align: center;
}
.sec01_modalNote {
  font-size: calc(14 / 375* 100vw);
  text-align: center;
}
@media screen and (min-width: 768px),print {
  .sec01_modalNote {
    font-size: 1.4rem;
  }
}
.sec01_modalBtnList {
  margin-top: calc(20 / 375* 100vw);
  display: flex;;
  flex-wrap: wrap;
  gap: calc(20 / 375* 100vw);
}
.sec01_modalBtnListItem {
  width: calc(50% - calc(10 / 375* 100vw));
}
.sec01_modalBtn {
  /* width: calc(137 / 375* 100vw); */
  width: 100%;
  display: flex;
  height: calc(50 / 375* 100vw);
  color: #fff;
  font-weight: bold;
  justify-content: center;;
  position: relative;
  align-items: center;
  border-radius: calc(25 / 375* 100vw);
  padding: 5px calc(25 / 375* 100vw) 5px calc(16 / 375* 100vw);;
}
.s_01 .sec01_modalBtn {
  background-color: var(--color_green02)
}
.s_02 .sec01_modalBtn {
  background-color: var(--color_green03);
}
.s_03 .sec01_modalBtn {
  background-color: var(--color_blue01);
}
.s_04 .sec01_modalBtn {
  background-color: var(--color_blue03);
}
.s_05 .sec01_modalBtn {
  background-color: var(--color_blue02);
}
.sec01_modalBtn::before {
  content: "";
  display: block;
  width: calc(10 / 375* 100vw);;
  height: calc(10 / 375* 100vw);;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  rotate: 45deg;
  position: absolute;
  top: 0;
  bottom: 0;
  right: calc(15 / 375* 100vw);;
  margin: auto;
}
.sec01_modalBtnList{
  overflow-y: auto;
}
@media screen and (min-width: 768px),print {
  .sec01_modalBtnList {
    margin-top: 30px;
    gap: 29px;
    width: 1030px;
    margin-left: auto;
    margin-right: auto;
  }
  .sec01_modalBtnListItem {
    width: 314px;
  }
  .sec01_modalBtn {
    height: 80px;
    border-radius: 40px;
    font-size: 2.4rem;
    padding: 5px 25px;
  }
  .sec01_modalBtn::before {
    width: 14px;
    height: 14px;
    right: 30px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
  }
}

.sec01_03 {
  margin-top: calc(50 / 375* 100vw);;
  position: relative;
  z-index: 0;
}
.sec01_03_bgImg {
  position: absolute;
  bottom: calc(30 / 375* 100vw);;
  right: -5.33vw;
  width: calc(115 / 375* 100vw);
  z-index: -1;
}
@media screen and (min-width: 768px),print {
  .sec01_03 {
    padding-top: 75px;
    margin-top: 0;
  }
  .sec01_03_bgImg {
    bottom: 0;
    right: -200px;
    width: 500px;
  }
}
.sec01_occupationList {
  display: flex;;
  flex-wrap: wrap;
  gap: calc(30 / 375* 100vw) calc(20 / 375* 100vw);
}
.sec01_occupationListItem {
  width: calc(50% - calc(10 / 375* 100vw));
}
.sec01_occupationLink {
  display: block;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 2px 2px 0px 0px var(--color_blue01);
  height: 100%;
  overflow: hidden;
}
.sec01_occupationImgWrap {
  background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(219, 246, 250, 1) 100%);
}
.sec01_occupationTextWrap {
  padding: calc(15 / 375* 100vw) calc(10 / 375* 100vw);;
  text-align: center;
  line-height: 1.3;
}
.sec01_occupationTitle {
  font-weight: bold;
}
.sec01_occupationText {
  margin-top: calc(3 / 375* 100vw);
  font-size: calc(14 / 375* 100vw);
}
@media screen and (min-width: 768px),print {
  .sec01_occupationLink {
    box-shadow: 3px 3px 0px 0px var(--color_blue01);

  }
  .sec01_occupationList {
    gap: 28px;
  }
  .sec01_occupationListItem {
    width:calc(25% - 21px);
  }
  .sec01_occupationTextWrap {
    padding: 20px;
  }
  .sec01_occupationTitle {
    font-size: 2.4rem;
  }
  .sec01_occupationText {
    margin-top: 10px;
    font-size: 1.6rem;
  }
}
.sec01_03_btnWrap {
  margin-top: calc(50 / 375* 100vw);
}
@media screen and (min-width: 768px),print {
  .sec01_03_btnWrap {
    margin-top: 80px;
  }
  .sec01_occupationLink {
    transition: opacity 0.3s;
  }
  .sec01_occupationLink:hover {
    opacity: 0.5;
  }
}

/**************************
**** sec02
**************************/
.sec02 {
  background: url(../images/sec02_bg01_sp.png) no-repeat left top;
  background-size: 100%;
  padding: calc(30 / 375* 100vw) 0;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}
.sec02_link {
  display: block;
  background: var(--grad02);
  padding: calc(4 / 375* 100vw);;
  border-radius: calc(20 / 375* 100vw);
  position: relative;
}
.sec02_link::before {
  content: "";
  display: block;
  width: calc(40 / 375* 100vw);;
  height: calc(40 / 375* 100vw);;
  background-color: var(--color_blue01);
  border-radius: 50%;
  position: absolute;
  top: calc(30 / 375* 100vw);;
  right: calc(20 / 375* 100vw);
  z-index: 1;
}
.sec02_link::after {
  content: "";
  display: block;
  width: calc(10 / 375* 100vw);;
  height: calc(10 / 375* 100vw);;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  rotate: 45deg;
  position: absolute;
  top: calc(44 / 375* 100vw);
  right: calc(36 / 375* 100vw);
  transform: skew(5deg,5deg);
  z-index: 1;
}
.sec02_linkInn {
  background-color: #fff;
  padding: calc(30 / 375* 100vw) calc(20 / 375* 100vw);
  border-radius: calc(16 / 375* 100vw);
}
.sec02_title {
  font-size: calc(26 / 375* 100vw);;
  font-weight: bold;
  color: #333;
  margin-bottom: calc(15 / 375* 100vw);
  line-height: 1;
}
.sec01_imgWrap {
  text-align: center;
  width: calc(217 / 375* 100vw);
  margin-left: auto;
  margin-right: auto;
}
.sec02_textWrap {
  margin-top: calc(20 / 375* 100vw);
}
.sec02_lead {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .sec02 {
    padding: 50px 0;
    background-image: url(../images/sec02_bg01_pc.png);
  }
  .sec02_link {
    padding: 4px;
    border-radius: 20px;
    transition: 0.3s opacity;
  }
  .sec02_link:hover {
    opacity: 0.6;
  }
  .sec02_link::before {
    width: 60px;
    height: 60px;
    top: 0;
    bottom: 0;
    right: 30px;
    margin: auto;
  }
  .sec02_link::after {
    width: 12px;
    height: 12px;
    top: 0;
    bottom: 0;
    right: 54px;
    margin: auto;
  }
  .sec02_linkInn {
    padding: 30px 120px 30px 300px;
    border-radius: 16px;
    position: relative;
  }
  .sec01_imgWrap {
    position: absolute;
    top: 30px;
    left: 30px;;
    width: 247px;
  }
  .sec02_title {
    font-size: 3.4rem;
    margin-bottom: 20px;
  }
  .sec02_textWrap  {
    margin-top: 20px;
  }
}

/**************************
**** sec03
**************************/
.sec03 {
  background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(3, 219, 189, 1) 50%, rgba(20, 175, 248, 1) 75%, rgba(72, 74, 254, 1) 100%);
  padding-left: calc(10 / 375* 100vw);
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  color: #333;
}
.sec03__inn {
  background-color: #fff;
  border-radius: calc(200 / 375* 100vw) 0 0 0;
  padding: calc(50 / 375* 100vw) calc(20 / 375* 100vw) calc(70 / 375* 100vw) calc(10 / 375* 100vw);
  position: relative;
  z-index: 0;
}
.sec03_01_bgImg {
  position: absolute;
  z-index: -1;
  top: 25.8%;
  right: 0;
  width: calc(115 / 375* 100vw);
}
.sec03_contents {
  background-color: rgba(255,255,255,0.6);
}
@media screen and (min-width: 768px),print {
  .sec03 {
    padding-left: 50px;
  }
  .sec03__inn {
    border-radius: 300px 0 0 0;
    padding: 65px 0 100px;
  }
  .sec03_contents {
    width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
  }
  .sec03_01_bgImg {
    width: 500px;
    top: 63.1%;
  }
}
.sec03_title {
  text-align: center;
  margin-bottom: calc(50 / 375* 100vw);
}
.sec03_lead {
  text-align: center;
}
.sec03_btnWrap {
  margin-top: calc(20 / 375* 100vw);
  text-align: center;
}
.sec03_btn {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px),print {
  .sec03_title {
    margin-bottom: 50px;
  }
  .sec03_note01 {
    text-align: center;
  }
  .sec03_note01 > .m_note01Head,
  .sec03_note01 > .m_note01Body {
    float: none;
    display: inline-block;;
    vertical-align: middle;;
  }
  .sec03_btnWrap {
    margin-top: 20px;
  }
}

.sec03_tglArea {
  border: 1px solid var(--color_blue01);
  border-radius: calc(10 / 375* 100vw);
  box-shadow: 3px 3px 0px 0px var(--color_blue01);
  margin-top: calc(50 / 375* 100vw);
}

.sec03_tglBtn {
  padding: calc(20 / 375* 100vw) calc(10 / 375* 100vw);
  display: flex;;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  margin-top: 0;
  margin-bottom: 0;
  /* margin-bottom: calc(20 / 375* 100vw); */
  position: relative;
  padding-right: calc(44 / 375* 100vw);
}
.sec03_tglContents {
  padding: 0 calc(10 / 375* 100vw) calc(20 / 375* 100vw);

}
.sec03_tglBtn::before {
  content: "";
  display: block;
  width: calc(15 / 375* 100vw);;
  height: calc(8 / 375* 100vw);;
  background: url(../images/icon_arrow_02.png) no-repeat center top;
  background-size: 100%;
  position: absolute;
  right: calc(10 / 375* 100vw);;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: 0.3s rotate;
  rotate: 0deg;
}
.s_close .sec03_tglBtn::before {
  rotate: 180deg;
}
.sec03_tglBtn .m_titleD {
  margin-top: 0;
  margin-bottom: 0;
}
.sec03_tglBtnText {
  font-size: calc(14 / 375* 100vw);
  color: #333;
}
.sec03_tglBtnText.s_openText {
  display: none;
}
.sec03_tglBtnText.s_closeText {
  display: block;
}
.s_close .sec03_tglBtnText.s_openText {
  display: block;
}
.s_close .sec03_tglBtnText.s_closeText {
  display: none;
}
@media screen and (min-width: 768px),print {
  .sec03_tglArea {
    margin-top: 60px;
    border-radius: 10px;
  }
  .sec03_tglContents {
    padding: 0 30px 30px;
  }
  .sec03_tglBtn {
    padding: 30px 70px 30px 30px;
    /* margin-bottom: 30px;
    margin-top: 60px; */
  }
  .sec03_tglBtnText {
    font-size: 1.6rem;
  }
  .sec03_tglBtn::before {
    width: 25px;
    height: 15px;
    right: 30px;
  }

}

.table01 {
  border-radius: 4px;
  margin-top: calc(20 / 375* 100vw);
  border: 1px solid var(--color_blue01);
  border-collapse: separate;
  border-spacing: 0;;
}
.table01 .s_w01 {
  width: calc(114 / 375* 100vw);
}
.table01 .s_w02 {
  width: calc(221 / 375* 100vw);
}
.table01 thead th {
  background-color: var(--color_blue01);
  color: #fff;
  font-weight: bold;
  vertical-align: middle;;
  padding: calc(10 / 375* 100vw) calc(12 / 375* 100vw);;
  text-align: left;
  /* border-radius: 4px; */

}
.table01 thead th + th {
  border-left: 1px solid #fff;
}
.table01 tbody th,
.table01 tbody td {
  padding: calc(15 / 375* 100vw) calc(10 / 375* 100vw);
  vertical-align: middle;;
  color: #333;
  border-top: 1px solid var(--color_blue01);
}
.table01 tbody th {
  font-weight: bold;
  text-align: left;
}
.table01 tbody td {
  border-left: 1px solid var(--color_blue01);
}
@media screen and (min-width: 768px),print {
  .table01 {
    margin-top: 30px;
  }
  .table01 .s_w01 {
    width: 320px;
  }
  .table01 .s_w02 {
    width: 880px;;
  }
  .table01 thead th {
    padding: 15px 20px
  }
  .table01 tbody th,
  .table01 tbody td {
    padding: 15px 20px;
  }
}

/**************************
**** sec04
**************************/
.sec04 {
  background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(3, 219, 189, 1) 50%, rgba(20, 175, 248, 1) 75%, rgba(72, 74, 254, 1) 100%);
  padding-right: calc(10 / 375* 100vw);
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}
.sec04__inn {
  background-color: var(--color_blue05);
  border-radius: 0 calc(200 / 375* 100vw) 0 0;
  padding: calc(50 / 375* 100vw) calc(10 / 375* 100vw) calc(70 / 375* 100vw) calc(20 / 375* 100vw);
}
@media screen and (min-width: 768px),print {
  .sec04 {
    padding-right: 50px;
  }
  .sec04__inn {
    border-radius: 0 300px 0 0;
    padding: 65px 0 100px;
  }
  .sec04_contents {
    width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
  }
}

.faq {
  background-color: #fff;
  border-radius: calc(10 / 375* 100vw);
  box-shadow: 3px 3px 0px 0px var(--color_blue01);
}
.faq + .faq {
  margin-top: calc(30 / 375* 100vw);
}
.faq_qBox,
.faq_aBox {
  display: flex;
  align-items: center;
  padding: calc(20 / 375* 100vw);
  gap: calc(10 / 375* 100vw);
}
.faq_aBox {
  position: relative;
}
.faq_aBox::before {
  content: "";
  display: block;
  width: calc(100% - 20px);
  height: 1px;
  background-color: var(--color_blue01);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.faq_qHead,
.faq_aHead {
  width: calc(30 / 375* 100vw);
  height: calc(30 / 375* 100vw);;
  border-radius: 50%;
  color: #fff;
  font-size: calc(18 / 375* 100vw);
  font-weight: bold;
  display: flex;
  justify-content: center;
}
.faq_qHead {
  background-color: var(--color_green02);
}
.faq_aHead {
  background-color: var(--color_blue01);
}
.faq_qBody,
.faq_aBody {
  width: calc(100% - calc(40 / 375* 100vw)) ;
}
.faq_qBody {
  position: relative;
  padding-right: calc(35 / 375* 100vw);
  font-weight: bold;
}
.faq_qBody::before {
  content: "";
  display: block;
  width: calc(15 / 375* 100vw);;
  height: calc(8 / 375* 100vw);;
  background: url(../images/icon_arrow_02.png) no-repeat left top;
  background-size: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  transition: 0.3s rotate;
  rotate: 0deg;
}
.s_close .faq_qBody::before {
  rotate: 180deg;
}
@media screen and (min-width: 768px),print {
  .faq {
    border-radius: 10px;
  }
  .faq + .faq {
    margin-top: 30px;
  }
  .faq_qBox,
  .faq_aBox {
    padding: 30px;
    gap: 20px;
  }
  .faq_aBox::before {
    width: calc(100% - 60px);
  }
  .faq_qHead,
  .faq_aHead {
    width: 50px;
    height: 50px;
    font-size: 3.0rem;
  }
  .faq_qBody,
  .faq_aBody {
    width: calc(100% - 60px)
  }
  .faq_qBody {
    padding-right: 40px;
  }
  .faq_qBody::before {
    width: 25px;
    height: 15px;
  }
}

/**************************
**** sec05
**************************/
.sec05 {
  background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(3, 219, 189, 1) 50%, rgba(20, 175, 248, 1) 75%, rgba(72, 74, 254, 1) 100%);
  padding-left: calc(10 / 375* 100vw);
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}
.sec05__inn {
  position: relative;
  z-index: 0;
  background-color: #fff;
  border-radius: calc(200 / 375* 100vw) 0 0 0;
  padding: calc(80 / 375* 100vw) calc(20 / 375* 100vw) calc(70 / 375* 100vw) calc(10 / 375* 100vw);
}
.sec05_01_bgImg {
  position: absolute;
  top: 18.3%;
  right: 0;
  width: calc(114 / 375* 100vw);
  z-index: -1;
}
@media screen and (min-width: 768px),print {
  .sec05 {
    padding-left: 50px;
  }
  .sec05__inn {
    border-radius: 300px 0 0 0;
    padding: 80px 0 100px;
  }
  .sec05_contents {
    width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
  }
  .sec05_01_bgImg {
    width: 400px;
    top: 31%;
  }
}
.sec05_lead {
  font-size: calc(20 / 375* 100vw);;
  font-weight: bold;
  text-align: center;
}
.sec05_btnWrap {
  margin-top: calc(20 / 375* 100vw);
}
@media screen and (min-width: 768px),print {
  .sec05_lead {
    font-size: 2.6rem;
  }
  .sec05_btnWrap {
    margin-top: 20px;
  }
}
.sec05_title {
  margin-top: calc(80 / 375* 100vw);
}
@media screen and (min-width: 768px),print {
  .sec05_title {
    margin-top: 80px;
  }
}

.sec05_link {
  display: block;;
  background: var(--grad02);
  padding: calc(4 / 375* 100vw);
  border-radius: calc(20 / 375* 100vw);
  box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.3);
  flex: 1;
}
.sec05_linkInn {
  background: #f5f5f5;
  padding: calc(20 / 375* 100vw) calc(10 / 375* 100vw);
  border-radius: calc(16 / 375* 100vw);
  height: 100%;
}
.sec05_linkTitle {
  font-weight: bold;
  line-height: 1.4;
}
.sec05_linkTitleSub {
  font-weight: normal;
}
.sec05_linkImgWrap {
  background-color: #fff;
  text-align: center;
  border-radius: calc(10 / 375* 100vw);
  margin: calc(10 / 375* 100vw) 0;
  padding: calc(10 / 375* 100vw) calc(5 / 375* 100vw);;
}
.sec05_linkText {
  font-size: calc(14 / 375* 100vw);
  line-height: 1.2;
}
.sec05_linkImg01,
.sec05_linkImg02 {
  width: auto;
  height: calc(60 / 375* 100vw);
}
.sec05_linkCol2 {
  display: flex;;
  gap: calc(20 / 375* 100vw);
}
@media screen and (min-width: 768px),print {
  .sec05_linkWrap {
    display: flex;;
    gap: 32px;
  }
  .sec05_linkItem {
  }
  .sec05_link {
    padding: 4px;
    border-radius: 20px;
    max-width: 276px;
    transition: 0.3s opacity;
  }
  .sec05_link:hover {
    opacity: 0.6;
  }
  .sec05_linkInn {
    padding: 20px;
    border-radius: 16px;
  }
  .sec05_linkTitle {
    font-size: 1.8rem;
  }
  .sec05_linkTitleSub {
    font-size: 1.6rem;
  }
  .sec05_linkImgWrap {
    border-radius: 10px;
    margin: 20px 0;
    padding: 10px
  }
  .sec05_linkText {
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .sec05_linkImg01 {
    height: 70px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .sec05_linkImg02 {
    height: 110px;
  }
  .sec05_linkCol2 {
    gap: 32px;
  }
}

.slick-next {
  right: 0;
}
.slick-prev {
  left: 0;
}
.slick-next:before,
.slick-prev:before {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  color: var(--color_black01);
}
.slick-next:before {
  content: "→";
  border: none;
}
.slick-prev:before {
  border: none;
  content: "←";
}
.slick-prev::after,
.slick-next::after {
  background-color: transparent;
  box-shadow: none;;
}

.modalContents {
  display: none;;
}
.modaal-container {
  background-color: transparent;
  max-width: none;

}
.modaal-content-container {
  padding: 30px 10px;
}
.modaal-inner-wrapper {
  padding: 0;
}
.modaal-close {
  right: calc(40 / 375 * 100vw);
  width: calc( 25/ 375* 100vw);
  height: calc(25 / 375* 100vw);
}
.modaal-close:after,
.modaal-close:before {
  top: calc(5 / 375* 100vw);
  width: calc(2 / 375* 100vw);
  height: calc(16 / 375* 100vw);
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.modaal-close:hover::after,
.modaal-close:hover::before {
  background-color: #fff;
}
.modaal-wrapper .modaal-close {
  background-color:  rgba(51,51,51,0.8);
}
.modaal-container {
}
@media screen and (min-width: 768px) {
  .modaal-close {
    width: 50px;
    height: 50px;
    top: 50px;
    right: 40px;;
  }
  .modaal-close:after,
  .modaal-close:before {
    width: 2px;
    height: 25px;
  }
}
@media screen and (min-width: 1100px) {
  .modaal-close {
    right: calc(50vw - 570px);
  }
}
@media screen and (max-width: 767px){
  .modaal-close {
    top: 9%;
  }
}


/**************************
**** js
**************************/

.js_tglBtn {
  cursor: pointer;
}
.js_tglArea.s_close .js_tglContents {
  display: none;;
}

.js_modalArea {
  position: fixed;
  top: 80px;
  bottom: 80px;
  left: 0;
  right: 0;
  z-index: 999;
  visibility: hidden;;
  opacity: 0;
  transition: 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}
.js_modalArea.s_show {
  visibility: visible;
  opacity: 1;
} 
.js_modalLayer {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100vw;
  height: 100vh;
  inset: 0;
}
.js_modalContents {
  background-color: #fff;
  width: calc(100% - 40px);
  max-height: 90vh;
  border-radius: calc(30 / 375* 100vw);
  position: relative;
  z-index: 0;
  padding-top: calc(40 / 375* 100vw);
  padding-bottom: calc(60 / 375* 100vw);
  padding-left: 20px;
  padding-right: 20px;
  transition: 0.5s opacity 0.3s;
  opacity: 0;
  visibility: hidden;
  margin: auto;
  display: flex;;
  flex-direction: column;
}
.s_overFlow.js_modalContents {
  overflow-y: scroll;;
}
.s_show .js_modalContents {
  opacity: 1;
  visibility: visible;
}
.js_modalClose {
  text-indent: -9999px;
  width: calc(40 / 375* 100vw);
  height: calc(40 / 375* 100vw);
  position: absolute;
  top: calc(20 / 375* 100vw);
  right: calc(20 / 375* 100vw);
  border: none;
  cursor: pointer;
  background-color: transparent;
  z-index: 10;
}
.js_modalClose::before,
.js_modalClose::after {
  content: "";
  display: block;
  width: 100%;;
  height: calc(4 / 375* 100vw);;
  border-radius: calc(4 / 375* 100vw);;
  background-color: var(--color_blue01);
  position: absolute;
  inset: 0;
  margin: auto;
}
.js_modalClose::before {
  rotate: 45deg
}
.js_modalClose::after {
  rotate: -45deg
}
.modal_title {
  text-align: center;
}
.modal_list01 {
  margin-top: calc(30 / 375* 100vw);;
  max-height: 52vh;
  overflow-y: scroll;
}
.modal_list01Item {
  border-top: 1px solid #F4E7DB;
}
.modal_list01Item:last-child {
  border-bottom: 1px solid #F4E7DB;
}
.modal_list01Link {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: calc(10 / 375* 100vw);
  font-size: calc(14 / 375* 100vw);
  font-weight: bold;
  position: relative;
  height: calc(60 / 375* 100vw);
}
.modal_list01Link::before {
  content: "";
  display: block;
  width: calc(20 / 375* 100vw);;
  height: calc(20 / 375* 100vw);;
  background-color: var(--color_logo01);
  border-radius: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: calc(20 / 375* 100vw);
}
.modal_list01Link::after {
  content: "";
  display: block;
  width: calc(5 / 375* 100vw);;
  height: calc(5 / 375* 100vw);;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: calc(28 / 375* 100vw);
  rotate: -45deg;
}
.modal_list01LinkFontS {
  font-size: calc(11 / 375* 100vw);
}
@media screen and (min-width: 768px),print {
  .js_modalArea {
    top: 100px;
    bottom: 80px;
  }
  .js_modalLayer {
    width: 100%;
    height: 100%;
  }
  .js_modalContents {
    /* width: 100%; */
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 100px;
    padding-bottom: 100px;
    border-radius: 30px;

  }
  .js_modalClose  {
    width: 50px;
    height: 50px;
    top: 30px;
    right: 30px;

  }
  .js_modalClose::before,
  .js_modalClose::after {
    height: 6px;
    border-radius: 3px;
  }
  .modal_list01 {
    margin-top: 30px;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
  }
  .modal_list01Item {
    border-bottom: 1px solid #F4E7DB;
    width: 380px;
  }
  .modal_list01Link {
    padding: 10px 50px 10px 15px;
    font-size: 1.6rem;
    height: 70px;
  }
  .modal_list01Link::before {
    width: 20px;
    height: 20px;
    right: 20px;
  }
  .modal_list01Link::after  {
    width: 5px;
    height: 5px;
    right: 28px;
  }
  .modal_list01LinkFontS {
    font-size: 1.4rem;
  }
}
/**************************
**** フッター
**************************/
/*=== ページトップへ ===*/
.pageTop {
  height: 0px;
  text-align: right;
  overflow: hidden;
  z-index: 400;
}

.pageTop > div {
  position: relative;
  display: inline-block;
  margin: 0 10px 10px 0;
  cursor: pointer;
  overflow: hidden;
  transition: 0.3s ease-out;
  -webkit-transition: 0.3s ease-out;
  -moz-transition: 0.3s ease-out;
  -ms-transition: 0.3s ease-out;
  position: fixed;
  bottom: 20px;
  right: 0;
  width: 50px;
  height: 50px;
  background: var(--color_blue01);
  border: 2px solid #fff;
  z-index: 10;
  border-radius: 50%;;
}

.pageTop > div::before {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(-45deg);
  top: 5px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}


.pageTop > div:hover {
  /* opacity: 0.4; */
}

#footer {
  text-align: center;
  background-color: #000;
  color: #fff;
  padding: 20px 0;
  font-size: 12px;
  font-size: calc(14 / 375* 100vw);
  line-height: 2.1;
}
@media screen and (min-width: 768px) {
  #footer {
    padding: 21px 0;
    font-size: 1.4rem;;
  }
}/*# sourceMappingURL=style.css.map */