@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
ul,
ol,
li {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*======SMACSS Base======*/
/*======normalize======*/
*,
*:before,
*:after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}

body {
  margin: 0;
  overflow-x: hidden;
  max-width: 100vw;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", verdana, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

figcaption,
figure,
main {
  /* 1 */
  display: block;
}

figure {
  margin: 1em 40px;
}

hr {
  overflow: visible;
  /* 2 */
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
}

pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

a {
  background-color: transparent;
  /* 1 */
  text-decoration: none;
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

b,
strong {
  font-weight: inherit;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

dfn {
  font-style: italic;
}

mark {
  background-color: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

audio,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

img {
  border-style: none;
  max-width: 100%;
}

svg:not(:root) {
  overflow: hidden;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  /* 2 */
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
}

button,
input {
  /* 1 */
  overflow: visible;
}

button,
select {
  /* 1 */
  text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: .35em .75em .625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  display: table;
  /* 1 */
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 3 */
  max-width: 100%;
  /* 1 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  outline-offset: -2px;
  /* 2 */
  -webkit-appearance: textfield;
  /* 1 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  font: inherit;
  /* 2 */
  -webkit-appearance: button;
  /* 1 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

body {
  margin: 0;
  padding: 0;
  position: relative;
}

dl {
  margin-block-start: 0;
  margin-block-end: 0;
}

dd {
  margin: 0;
}

p {
  margin: 0;
}

address, i {
  font-style: normal;
}

ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

ol {
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline-start: 1.2rem;
}

em {
  font-style: normal;
}

h2, h3, h4, h5 {
  margin: 0;
}

/* ---------- ---------- ---------- ---------- ---------- */
.d_ib {
  display: inline-block !important;
}

.d_b {
  display: block !important;
}

.d_n {
  display: none;
}

/* ---------- ---------- ---------- ---------- ---------- */
.fl_l {
  float: left;
}

.fl_r {
  float: right;
}

.cf {
  zoom: 1;
}

.cf::after .cf:after {
  clear: both;
}

/* ---------- ---------- ---------- ---------- ---------- */
.ta_r {
  text-align: right !important;
}

.ta_c {
  text-align: center !important;
}

.ta_l {
  text-align: left !important;
}

/* ---------- ---------- ---------- ---------- ---------- */
.fw_100 {
  font-weight: 100 !important;
}

.fw_200 {
  font-weight: 200 !important;
}

.fw_300 {
  font-weight: 300 !important;
}

.fw_400 {
  font-weight: 400 !important;
}

.fw_500 {
  font-weight: 500 !important;
}

.fw_600 {
  font-weight: 600 !important;
}

.fw_700 {
  font-weight: 700 !important;
}

.fw_800 {
  font-weight: 800 !important;
}

.fw_900 {
  font-weight: 900 !important;
}

.fw_n {
  font-weight: normal !important;
}

.fw_b {
  font-weight: bold !important;
}

/* ---------- ---------- ---------- ---------- ---------- */
.fz_10 {
  font-size: 10px;
}

.fz_11 {
  font-size: 11px;
}

.fz_12 {
  font-size: 12px;
}

.fz_13 {
  font-size: 13px;
}

.fz_14 {
  font-size: 14px;
}

.fz_15 {
  font-size: 15px;
}

.fz_16 {
  font-size: 16px;
}

.fz_17 {
  font-size: 17px;
}

.fz_18 {
  font-size: 18px;
}

.fz_19 {
  font-size: 19px;
}

.fz_20 {
  font-size: 20px;
}

.fz_22 {
  font-size: 22px;
}

.fz_24 {
  font-size: 24px;
}

.fz_26 {
  font-size: 26px;
}

.fz_28 {
  font-size: 28px;
}

.fz_30 {
  font-size: 30px;
}

.fz_32 {
  font-size: 32px;
}

.fz_34 {
  font-size: 34px;
}

.fz_36 {
  font-size: 36px;
}

.fz_38 {
  font-size: 38px;
}

.fz_40 {
  font-size: 40px;
}

.fz_42 {
  font-size: 42px;
}

.fz_44 {
  font-size: 44px;
}

.fz_46 {
  font-size: 46px;
}

.fz_48 {
  font-size: 48px;
}

.fz_50 {
  font-size: 50px;
}

/* ---------- ---------- ---------- ---------- ---------- */
.m_0 {
  margin: 0px !important;
}

.mt_0 {
  margin-top: 0px !important;
}

.mr_0 {
  margin-right: 0px !important;
}

.mb_0 {
  margin-bottom: 0px !important;
}

.ml_0 {
  margin-left: 0px !important;
}

.m_5 {
  margin: 5px !important;
}

.mt_5 {
  margin-top: 5px !important;
}

.mr_5 {
  margin-right: 5px !important;
}

.mb_5 {
  margin-bottom: 5px !important;
}

.ml_5 {
  margin-left: 5px !important;
}

.m_10 {
  margin: 10px !important;
}

.mt_10 {
  margin-top: 10px !important;
}

.mr_10 {
  margin-right: 10px !important;
}

.mb_10 {
  margin-bottom: 10px !important;
}

.ml_10 {
  margin-left: 10px !important;
}

.m_15 {
  margin: 15px !important;
}

.mt_15 {
  margin-top: 15px !important;
}

.mr_15 {
  margin-right: 15px !important;
}

.mb_15 {
  margin-bottom: 15px !important;
}

.ml_15 {
  margin-left: 15px !important;
}

.m_20 {
  margin: 20px !important;
}

.mt_20 {
  margin-top: 20px !important;
}

.mr_20 {
  margin-right: 20px !important;
}

.mb_20 {
  margin-bottom: 20px !important;
}

.ml_20 {
  margin-left: 20px !important;
}

.m_25 {
  margin: 25px !important;
}

.mt_25 {
  margin-top: 25px !important;
}

.mr_25 {
  margin-right: 25px !important;
}

.mb_25 {
  margin-bottom: 25px !important;
}

.ml_25 {
  margin-left: 25px !important;
}

.m_30 {
  margin: 30px !important;
}

.mt_30 {
  margin-top: 30px !important;
}

.mr_30 {
  margin-right: 30px !important;
}

.mb_30 {
  margin-bottom: 30px !important;
}

.ml_30 {
  margin-left: 30px !important;
}

.m_35 {
  margin: 35px !important;
}

.mt_35 {
  margin-top: 35px !important;
}

.mr_35 {
  margin-right: 35px !important;
}

.mb_35 {
  margin-bottom: 35px !important;
}

.ml_35 {
  margin-left: 35px !important;
}

.m_40 {
  margin: 40px !important;
}

.mt_40 {
  margin-top: 40px !important;
}

.mr_40 {
  margin-right: 40px !important;
}

.mb_40 {
  margin-bottom: 40px !important;
}

.ml_40 {
  margin-left: 40px !important;
}

.m_45 {
  margin: 45px !important;
}

.mt_45 {
  margin-top: 45px !important;
}

.mr_45 {
  margin-right: 45px !important;
}

.mb_45 {
  margin-bottom: 45px !important;
}

.ml_45 {
  margin-left: 45px !important;
}

.m_50 {
  margin: 50px !important;
}

.mt_50 {
  margin-top: 50px !important;
}

.mr_50 {
  margin-right: 50px !important;
}

.mb_50 {
  margin-bottom: 50px !important;
}

.ml_50 {
  margin-left: 50px !important;
}

.m_55 {
  margin: 55px !important;
}

.mt_55 {
  margin-top: 55px !important;
}

.mr_55 {
  margin-right: 55px !important;
}

.mb_55 {
  margin-bottom: 55px !important;
}

.ml_55 {
  margin-left: 55px !important;
}

.m_60 {
  margin: 60px !important;
}

.mt_60 {
  margin-top: 60px !important;
}

.mr_60 {
  margin-right: 60px !important;
}

.mb_60 {
  margin-bottom: 60px !important;
}

.ml_60 {
  margin-left: 60px !important;
}

.m_65 {
  margin: 65px !important;
}

.mt_65 {
  margin-top: 65px !important;
}

.mr_65 {
  margin-right: 65px !important;
}

.mb_65 {
  margin-bottom: 65px !important;
}

.ml_65 {
  margin-left: 65px !important;
}

.m_70 {
  margin: 70px !important;
}

.mt_70 {
  margin-top: 70px !important;
}

.mr_70 {
  margin-right: 70px !important;
}

.mb_70 {
  margin-bottom: 70px !important;
}

.ml_70 {
  margin-left: 70px !important;
}

.m_75 {
  margin: 75px !important;
}

.mt_75 {
  margin-top: 75px !important;
}

.mr_75 {
  margin-right: 75px !important;
}

.mb_75 {
  margin-bottom: 75px !important;
}

.ml_75 {
  margin-left: 75px !important;
}

.m_80 {
  margin: 80px !important;
}

.mt_80 {
  margin-top: 80px !important;
}

.mr_80 {
  margin-right: 80px !important;
}

.mb_80 {
  margin-bottom: 80px !important;
}

.ml_80 {
  margin-left: 80px !important;
}

.m_85 {
  margin: 85px !important;
}

.mt_85 {
  margin-top: 85px !important;
}

.mr_85 {
  margin-right: 85px !important;
}

.mb_85 {
  margin-bottom: 85px !important;
}

.ml_85 {
  margin-left: 85px !important;
}

.m_90 {
  margin: 90px !important;
}

.mt_90 {
  margin-top: 90px !important;
}

.mr_90 {
  margin-right: 90px !important;
}

.mb_90 {
  margin-bottom: 90px !important;
}

.ml_90 {
  margin-left: 90px !important;
}

.m_95 {
  margin: 95px !important;
}

.mt_95 {
  margin-top: 95px !important;
}

.mr_95 {
  margin-right: 95px !important;
}

.mb_95 {
  margin-bottom: 95px !important;
}

.ml_95 {
  margin-left: 95px !important;
}

.m_100 {
  margin: 100px !important;
}

.mt_100 {
  margin-top: 100px !important;
}

.mr_100 {
  margin-right: 100px !important;
}

.mb_100 {
  margin-bottom: 100px !important;
}

.ml_100 {
  margin-left: 100px !important;
}

/* ---------- ---------- ---------- ---------- ---------- */
.p_0 {
  padding: 0px !important;
}

.pt_0 {
  padding-top: 0px !important;
}

.pr_0 {
  padding-right: 0px !important;
}

.pb_0 {
  padding-bottom: 0px !important;
}

.pl_0 {
  padding-left: 0px !important;
}

.p_5 {
  padding: 5px !important;
}

.pt_5 {
  padding-top: 5px !important;
}

.pr_5 {
  padding-right: 5px !important;
}

.pb_5 {
  padding-bottom: 5px !important;
}

.pl_5 {
  padding-left: 5px !important;
}

.p_10 {
  padding: 10px !important;
}

.pt_10 {
  padding-top: 10px !important;
}

.pr_10 {
  padding-right: 10px !important;
}

.pb_10 {
  padding-bottom: 10px !important;
}

.pl_10 {
  padding-left: 10px !important;
}

.p_15 {
  padding: 15px !important;
}

.pt_15 {
  padding-top: 15px !important;
}

.pr_15 {
  padding-right: 15px !important;
}

.pb_15 {
  padding-bottom: 15px !important;
}

.pl_15 {
  padding-left: 15px !important;
}

.p_20 {
  padding: 20px !important;
}

.pt_20 {
  padding-top: 20px !important;
}

.pr_20 {
  padding-right: 20px !important;
}

.pb_20 {
  padding-bottom: 20px !important;
}

.pl_20 {
  padding-left: 20px !important;
}

.p_25 {
  padding: 25px !important;
}

.pt_25 {
  padding-top: 25px !important;
}

.pr_25 {
  padding-right: 25px !important;
}

.pb_25 {
  padding-bottom: 25px !important;
}

.pl_25 {
  padding-left: 25px !important;
}

.p_30 {
  padding: 30px !important;
}

.pt_30 {
  padding-top: 30px !important;
}

.pr_30 {
  padding-right: 30px !important;
}

.pb_30 {
  padding-bottom: 30px !important;
}

.pl_30 {
  padding-left: 30px !important;
}

.p_35 {
  padding: 35px !important;
}

.pt_35 {
  padding-top: 35px !important;
}

.pr_35 {
  padding-right: 35px !important;
}

.pb_35 {
  padding-bottom: 35px !important;
}

.pl_35 {
  padding-left: 35px !important;
}

.p_40 {
  padding: 40px !important;
}

.pt_40 {
  padding-top: 40px !important;
}

.pr_40 {
  padding-right: 40px !important;
}

.pb_40 {
  padding-bottom: 40px !important;
}

.pl_40 {
  padding-left: 40px !important;
}

.p_45 {
  padding: 45px !important;
}

.pt_45 {
  padding-top: 45px !important;
}

.pr_45 {
  padding-right: 45px !important;
}

.pb_45 {
  padding-bottom: 45px !important;
}

.pl_45 {
  padding-left: 45px !important;
}

.p_50 {
  padding: 50px !important;
}

.pt_50 {
  padding-top: 50px !important;
}

.pr_50 {
  padding-right: 50px !important;
}

.pb_50 {
  padding-bottom: 50px !important;
}

.pl_50 {
  padding-left: 50px !important;
}

.p_55 {
  padding: 55px !important;
}

.pt_55 {
  padding-top: 55px !important;
}

.pr_55 {
  padding-right: 55px !important;
}

.pb_55 {
  padding-bottom: 55px !important;
}

.pl_55 {
  padding-left: 55px !important;
}

.p_60 {
  padding: 60px !important;
}

.pt_60 {
  padding-top: 60px !important;
}

.pr_60 {
  padding-right: 60px !important;
}

.pb_60 {
  padding-bottom: 60px !important;
}

.pl_60 {
  padding-left: 60px !important;
}

.p_65 {
  padding: 65px !important;
}

.pt_65 {
  padding-top: 65px !important;
}

.pr_65 {
  padding-right: 65px !important;
}

.pb_65 {
  padding-bottom: 65px !important;
}

.pl_65 {
  padding-left: 65px !important;
}

.p_70 {
  padding: 70px !important;
}

.pt_70 {
  padding-top: 70px !important;
}

.pr_70 {
  padding-right: 70px !important;
}

.pb_70 {
  padding-bottom: 70px !important;
}

.pl_70 {
  padding-left: 70px !important;
}

.p_75 {
  padding: 75px !important;
}

.pt_75 {
  padding-top: 75px !important;
}

.pr_75 {
  padding-right: 75px !important;
}

.pb_75 {
  padding-bottom: 75px !important;
}

.pl_75 {
  padding-left: 75px !important;
}

.p_80 {
  padding: 80px !important;
}

.pt_80 {
  padding-top: 80px !important;
}

.pr_80 {
  padding-right: 80px !important;
}

.pb_80 {
  padding-bottom: 80px !important;
}

.pl_80 {
  padding-left: 80px !important;
}

.p_85 {
  padding: 85px !important;
}

.pt_85 {
  padding-top: 85px !important;
}

.pr_85 {
  padding-right: 85px !important;
}

.pb_85 {
  padding-bottom: 85px !important;
}

.pl_85 {
  padding-left: 85px !important;
}

.p_90 {
  padding: 90px !important;
}

.pt_90 {
  padding-top: 90px !important;
}

.pr_90 {
  padding-right: 90px !important;
}

.pb_90 {
  padding-bottom: 90px !important;
}

.pl_90 {
  padding-left: 90px !important;
}

.p_95 {
  padding: 95px !important;
}

.pt_95 {
  padding-top: 95px !important;
}

.pr_95 {
  padding-right: 95px !important;
}

.pb_95 {
  padding-bottom: 95px !important;
}

.pl_95 {
  padding-left: 95px !important;
}

.p_100 {
  padding: 100px !important;
}

.pt_100 {
  padding-top: 100px !important;
}

.pr_100 {
  padding-right: 100px !important;
}

.pb_100 {
  padding-bottom: 100px !important;
}

.pl_100 {
  padding-left: 100px !important;
}

.u-bg-sky {
  background: #EBF7FC;
}

.u-bg-glay {
  background: #F9F9F9;
}

.l-content-base {
  width: 950px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .l-content-base {
    width: 100%;
  }
}

.l-flex {
  display: flex;
}

.l-flex-ai-center {
  align-items: center;
}

.l-flex-jc-sb {
  justify-content: space-between;
}

.l-flex-img {
  flex-shrink: 0;
}

@media only screen and (max-width: 767px) {
  .l-flex {
    display: block;
  }
  .l-flex.sp-flex {
    display: flex;
  }
}

.l-pd-normal {
  padding: 80px 0;
}

@media only screen and (max-width: 767px) {
  .l-pd-normal {
    padding: 30px 20px;
  }
}

.l-pd-block {
  padding: 30px;
}

.l-pd-block-01 {
  padding: 50px 100px;
}

@media only screen and (max-width: 767px) {
  .l-pd-block-01 {
    padding: 20px;
  }
}

.l-col-right {
  margin-left: 50px;
}

.l-col-02 > div {
  width: 48%;
}

@media only screen and (max-width: 767px) {
  .l-col-02 > div {
    width: 100%;
  }
}

.l-radius {
  border-radius: 10px;
}

.bg-white {
  background: #FFF;
}

body {
  color: #585858;
  line-height: 1.7;
  font-size: 14px;
}

a {
  color: #4E7DBF;
  transition: .3s;
}

a:hover {
  opacity: .7;
}

@media only screen and (max-width: 767px) {
  .v-pc {
    display: none;
  }
}

.v-sp {
  display: none;
}

@media only screen and (max-width: 767px) {
  .v-sp {
    display: block;
  }
}

.fs-large {
  font-size: 36px;
}

@media only screen and (max-width: 767px) {
  .fs-large {
    font-size: 28px;
  }
}

.fs-small {
  font-size: 12px;
}

.ttl-h2-sec-02 {
  text-align: center;
  margin-bottom: 60px;
  font-size: 24px;
  font-size: 1.71429rem;
  letter-spacing: 0.15em;
  font-weight: 400;
  color: #4E7DBF;
}

@media only screen and (max-width: 767px) {
  .ttl-h2-sec-02 {
    margin-bottom: 30px;
    font-size: 20px;
  }
}

.ttl-h2-sec-03 {
  color: #7F6453;
  text-align: center;
  background: url(../images/bg_sec-03.svg) no-repeat;
  padding: 30px;
  font-size: 36px;
  font-size: 2.57143rem;
  letter-spacing: 0.15em;
}

@media only screen and (max-width: 767px) {
  .ttl-h2-sec-03 {
    background-size: 100% auto;
    font-size: 24px;
    padding: 20px;
  }
}

.ttl-h2-sec-04 {
  text-align: center;
  font-size: 36px;
  font-size: 2.57143rem;
  letter-spacing: 0.15em;
  color: #4E7DBF;
}

@media only screen and (max-width: 767px) {
  .ttl-h2-sec-04 {
    font-size: 24px;
  }
}

.ttl-h3 {
  text-align: center;
  font-size: 24px;
  margin-bottom: 30px;
}

.ttl-h3 span {
  display: block;
  font-size: 17px;
}

@media only screen and (max-width: 767px) {
  .ttl-h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .ttl-h3 span {
    font-size: 15px;
  }
}

.ttl-h3-sec-03 {
  font-size: 24px;
  font-size: 1.71429rem;
  line-height: 1.5;
  letter-spacing: 0.15em;
  margin: 30px auto;
  color: #7F6453;
}

@media only screen and (max-width: 767px) {
  .ttl-h3-sec-03 {
    font-size: 21px;
  }
}

.btn {
  border-radius: 5px;
  text-align: center;
  padding: 10px;
  font-weight: bold;
  display: block;
  color: #FFF;
}

.btn-pink {
  background: #EFBDD7;
}

.btn-blue {
  background: #A0C0EC;
}

.btn-blown {
  background: #7F6453;
  font-size: 18px;
}

.btn-fix-cv {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  color: #FFF;
  margin-top: 20px;
}

@media only screen and (max-width: 767px) {
  .btn-fix-cv {
    width: 47%;
    height: auto;
    border-radius: 5px;
    margin-top: 0;
    line-height: 1.4;
    padding: 5px 0;
  }
}

.ic {
  margin-left: 20px;
  padding: 3px 10px;
  border-radius: 5px;
}

.ic-real {
  background: #C5D6EE;
}

.ic-online {
  background: #F3CBE0;
}
.ic-online_b {
    background: #A0C0EC;
}

.ic-both {
  background: #D2CCE6;
}

.sec-content-frame {
  background: fixed;
  background-image: url(../images/bg_main_pc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: auto 100vh;
  background-color: #E7EDEA;
}

@media only screen and (max-width: 767px) {
  .sec-content-frame {
    padding-bottom: 65px;
  }
  .sec-content-frame:before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
    background: url(../images/bg_main_sp.png) center no-repeat;
    background-size: cover;
  }
}

.sec-01 .l-flex {
  height: 100vh;
}

.sec-01 .main-copy {
  margin-bottom: 60px;
  color: #707070;
}

@media only screen and (max-width: 767px) {
  .sec-01 .main-copy {
    margin-top: 10vh;
    margin-bottom: 3vh;
  }
}

@media only screen and (max-width: 767px) {
  .sec-01 h1 {
    width: 250px;
    margin: 0 auto;
  }
}

.sec-02 {
  background: rgba(215, 221, 240, 0.8);
}

.sec-02-read {
  line-height: 2;
}

.sec-02-intro {
  margin-top: 30px;
  background: rgba(220, 207, 230, 0.6);
  padding: 20px;
}

.sec-02-intro-txt {
  margin-left: 20px;
}

.sec-02-intro-txt p {
  margin-bottom: 10px;
}

.sec-03 {
  background: #EDF1EE;
}

.sec-03-txt {
  font-size: 18px;
  font-size: 1.28571rem;
  line-height: 2;
  letter-spacing: 0.15em;
  font-weight: 700;
  color: #7F6453;
  text-align: center;
  margin: 40px 0 70px;
}

@media only screen and (max-width: 767px) {
  .sec-03-txt {
    font-size: 18px;
    text-align: left;
    margin: 30px auto;
  }
}

.sec-03-flex {
  margin-top: 50px;
}

.sec-03-item-wrap {
  padding: 30px 20px;
  text-align: center;
  box-shadow: 5px 5px 0 #d2dfd6;
}

.sec-03-item-wrap .txt-m {
  margin-bottom: 10px;
}

@media only screen and (max-width: 767px) {
  .sec-03-item-wrap:first-child {
    margin-bottom: 30px;
  }
}

.sec-03-img {
  margin: 30px auto;
}

.sec-04 .news-wrap {
  border: 1px dashed #183D86;
  padding: 20px;
  margin-top: 50px;
}

.sec-04 .news-wrap li {
  display: flex;
  margin-bottom: 30px;
}

.sec-04 .news-wrap li:last-child {
  margin-bottom: 0;
}

.sec-04 .news-wrap li .l-flex {
  width: 280px;
}

@media only screen and (max-width: 767px) {
  .sec-04 .news-wrap {
    margin-top: 30px;
  }
  .sec-04 .news-wrap li {
    display: block;
    margin-bottom: 20px;
  }
  .sec-04 .news-wrap li .l-flex {
    display: flex;
  }
}

.sec-04 .news-txt {
  padding-top: 5px;
}

.sec-cv {
  position: fixed;
  right: 30px;
  bottom: 30px;
}

@media only screen and (max-width: 767px) {
  .sec-cv {
    width: 100%;
    background: #FFF;
    padding: 10px;
    display: flex;
    justify-content: space-between;
    right: 0;
    bottom: 0;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    z-index: 9999;
  }
}

footer {
  background: #4E7DBF;
  color: #FFF;
  text-align: center;
  padding: 5px 0;
  font-size: 12px;
}

@media screen and (min-width: 728px) {
  .tab-label,
  .tab-switch {
    display: none;
  }
  .tab-wrap {
    margin-top: 50px;
    display: flex;
    justify-content: space-between;
  }
  .tab-wrap > div {
    width: 48%;
  }
  .tab-content {
    background: #FFF;
    padding: 30px 40px;
    background: #FFF url(../images/bg_sec_02.svg) no-repeat bottom right;
  }
  .tab-content-txt {
    margin: 30px 0;
    line-height: 2;
  }
  .content-pink {
    border: 5px solid #EFBDD7;
  }
  .content-blue {
    border: 5px solid #A0C0EC;
  }
}

@media only screen and (max-width: 767px) {
  .tab-wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0;
  }
  .tab-wrap:after {
    content: '';
    width: 100%;
    display: block;
    order: -1;
  }
  .tab-label {
    color: White;
    background: LightGray;
    font-weight: bold;
    white-space: nowrap;
    text-align: center;
    padding: 5px .5em;
    order: -1;
    position: relative;
    z-index: 1;
    cursor: pointer;
    border-radius: 5px 5px 0 0;
    flex: 1;
    font-weight: normal;
    line-height: 1.5;
  }
  .tab-pink {
    background: #EFBDD7;
    color: #585858;
  }
  .tab-blue {
    background: #A0C0EC;
  }
  .tab-label:not(:last-of-type) {
    margin-right: 5px;
  }
  .tab-content {
    width: 100%;
    height: 0;
    overflow: hidden;
    opacity: 0;
    background: #FFF url(../images/bg_sec_02.svg) no-repeat bottom right;
  }
  .tab-content .btn {
    margin-top: 20px;
  }
  .content-pink {
    border: 5px solid #EFBDD7;
    display: none;
  }
  .content-blue {
    border: 5px solid #A0C0EC;
    display: none;
  }
  /* アクティブなタブ */
  .tab-switch:checked + .tab-label + .tab-content {
    height: auto;
    overflow: auto;
    padding: 20px 10px;
    opacity: 1;
    animation: appear .5s ease;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
    display: block;
  }
  @keyframes appear {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  /* ラジオボタン非表示 */
  .tab-switch {
    display: none;
  }
}
