@charset "UTF-8";

/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing  : border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height                : 1.15;
  /* 1 */
  -webkit-text-size-adjust   : 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size  : inherit;
  line-height: inherit;
  font-weight: inherit;
  margin     : 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin    : 0;
  padding   : 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing      : content-box;
  /* 1 */
  height          : 0;
  /* 1 */
  overflow        : visible;
  /* 2 */
  border-top-width: 1px;
  margin          : 0;
  clear           : both;
  color           : inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size  : inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration : none;
  color           : inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size  : inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size     : 75%;
  line-height   : 0;
  position      : relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance        : none;
  vertical-align    : middle;
  color             : inherit;
  font              : inherit;
  background        : transparent;
  padding           : 0;
  margin            : 0;
  outline           : 0;
  border-radius     : 0;
  text-align        : inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance        : checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  appearance        : radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor            : pointer;
  -webkit-appearance: none;
  appearance        : none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding     : 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin   : 0;
  padding  : 0;
  min-width: 0;
}

/**
 * 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 {
  color      : inherit;
  /* 2 */
  display    : table;
  /* 1 */
  max-width  : 100%;
  /* 1 */
  padding    : 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 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 outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[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 {
  -webkit-appearance: button;
  /* 1 */
  font              : inherit;
  /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing : 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding       : 0;
}

th {
  text-align : left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*----------------------プレイスフォルダ----------------------*/
/* Chrome */
::-webkit-input-placeholder {
  color       : #aaa;
  padding-left: 10px;
}

/* Firefox */
::-moz-placeholder {
  color       : #aaa;
  padding-left: 10px;
}

/* IE */
:-ms-input-placeholder {
  color       : #aaa;
  padding-left: 10px;
}

form {
  margin-top: 2rem;
}

.validationForm {
  line-height: 1.75;
}

input.form_text {
  width           : 100%;
  background-color: #fff;
  border          : solid 1px #aaa;
  border-radius   : 5px;
  letter-spacing  : 0.05rem;
  padding         : 0.3rem 0.6rem;
}

textarea {
  width           : 100%;
  font-size       : 108%;
  border          : 1px solid #aaa;
  background-color: #fff;
  border-radius   : 5px;
  padding         : 0.6rem 0.3rem;
  line-height     : 1.5rem;
}

textarea.privacy {
  padding         : 0.75rem 0.75rem 0.6rem;
  font-size       : 90%;
  background-color: #ccc;
  border-radius   : 5px;
  line-height     : 1.3rem;
  height          : 8rem;
}

/*----------------------確認画面----------------------*/
#formWrap {
  line-height: 120%;
  font-size  : 90%;
}

@media (min-width: 768px) {
  #formWrap {
    margin   : auto;
    max-width: 700px;
    color    : #555;
  }
}

table.formTable {
  width          : 100%;
  margin         : 0 auto;
  border-collapse: collapse;
}

table.formTable tr {
  padding: 10px 0;
}

table.formTable td,
table.formTable th {
  width  : auto;
  display: block;
  padding: 10px;
  border : 1px solid #ccc;
}

@media (min-width: 768px) {

  table.formTable td,
  table.formTable th {
    display: table-cell;
  }
}

table.formTable th {
  font-weight  : normal;
  background   : #efefef;
  text-align   : left;
  margin-top   : 1rem;
  border-bottom: 0px;
}

@media (min-width: 768px) {
  table.formTable th {
    width : 30%;
    border: 1px solid #ccc;
  }
}

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

.check_p {
  font-size            : 1.2rem;
  font-weight          : 400;
  line-height          : 1.75;
  font-feature-settings: "palt";
  letter-spacing       : 0.08rem;
}

body {
  background-color: #F7F7F7;
}

html {
  font-size      : 17px;
  scroll-behavior: smooth;
}

body {
  font-family: "noto-sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

small {
  font-size: 80%;
}

.small50 {
  font-size: 50%;
}

.attention {
  display    : inline-block;
  font-size  : 80%;
  line-height: 1.7;
}

span {
  display: inline-block;
}

.wrapper {
  margin   : 0 auto;
  max-width: 750px;
  width    : 100%;
}

.wrapper_coding {
  margin   : 0 auto;
  max-width: 750px;
  width    : 100%;
  padding  : 20px 5vw;
}

@media (min-width: 768px) {
  .wrapper_coding {
    padding: 20px 40px;
  }
}

.sec {
  width: 100%;
}

.sec img {
  max-width: 100%;
  height   : auto;
}





.center_inlineblock {
  text-align: center;
}

.hr {
  margin: 0.3rem 0 1rem 0;
}

.nones {
  display: none;
}

@media (min-width: 385px) {
  .nones {
    display: inline-block;
  }
}

.text_price {
  margin-top           : 0;
  text-align           : center;
  font-size            : 1.5rem;
  font-weight          : 700;
  letter-spacing       : 0.03rem;
  line-height          : 0.8;
  font-feature-settings: "palt";
}

@media (min-width: 768px) {
  .text_price {
    margin-top: -4rem;
    font-size : 2.1rem;
  }
}

.text_price_note {
  text-align           : center;
  font-size            : 1rem;
  font-weight          : 700;
  letter-spacing       : 0.04rem;
  line-height          : 1.75;
  font-feature-settings: "palt";
  border-top           : 1px dotted #303030;
  padding-top          : 1rem;
  margin-top           : 1rem;
}

/* エラーメッセージのスタイル */
.error {
  width     : 100%;
  padding   : 0;
  display   : inline-block;
  font-size : 90%;
  color     : red;
  box-sizing: border-box;
}

.text_17 {
  font-family   : "noto-sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size     : 1rem;
  font-weight   : 400;
  letter-spacing: 0.02rem;
  line-height   : 1.75;
  color         : #4D4D4D;
  margin-bottom : 1.2rem;
  text-align    : justify;
  text-justify  : inter-ideograph;
}

.text_17:last-child {
  margin-bottom: 0;
}

.text_15 {
  font-size            : 0.9rem;
  font-weight          : 3400;
  letter-spacing       : 0.02rem;
  line-height          : 1.75;
  font-feature-settings: "palt";
  text-align           : justify;
  text-justify         : inter-ideograph;
}

.text_15_center {
  text-align           : center;
  font-size            : 0.9rem;
  font-weight          : 3400;
  letter-spacing       : 0.02rem;
  line-height          : 1.5;
  font-feature-settings: "palt";
}

.text_13 {
  font-size            : 0.8rem;
  font-weight          : 400;
  letter-spacing       : 0.04rem;
  line-height          : 1.75;
  font-feature-settings: "palt";
  text-align           : justify;
  text-justify         : inter-ideograph;
}

ol.small_ol {
  margin-left          : 30px;
  margin-bottom        : 15px;
  font-size            : 0.9rem;
  font-weight          : 400;
  letter-spacing       : 0.02rem;
  line-height          : 1.5;
  color                : #4D4D4D;
  font-feature-settings: "palt";
  list-style-type      : decimal;
  list-style-position  : outside;
}

ol.small_ol li {
  margin-bottom: 10px;
  position     : relative;
}

ol.small_ol li::first-letter {
  margin-left: 0px;
}

ol.small_ol li::before {
  content : "※";
  display : block;
  position: absolute;
  top     : 0;
  left    : -32px;
  width   : 100%;
  height  : 100%;
}

.a_button {
  display : inline-block;
  position: relative;
}

.a_button::after {
  content         : "";
  display         : block;
  position        : absolute;
  top             : 50%;
  left            : 105%;
  width           : 30px;
  height          : 1px;
  background-color: white;
  transform       : translateY(-50%);
  transition      : all ease 0.3s;
}

.a_button:hover::after {
  width: 20px;
}

.h1 {
  font-size            : 1.2rem;
  line-height          : 1.5;
  padding              : 1rem 0 1rem 1rem;
  color                : #0A0A0A;
  font-weight          : 700;
  font-feature-settings: "palt";
  letter-spacing       : 0.05rem;
}

@media (min-width: 385px) {
  .h1 {
    font-size: 1.3rem;
  }
}

@media (min-width: 768px) {
  .h1 {
    letter-spacing: 0.1rem;
    font-size     : 1.5rem;
    font-size     : 1.7rem;
    text-align    : center;
    padding       : 1rem 0 1rem 1rem;
  }
}

.h2 {
  font-family   : "noto-sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size     : 1.2rem;
  font-weight   : 700;
  letter-spacing: 0.09rem;
  line-height   : 1.5;
  color         : #0A0A0A;
  position      : relative;
}

@media (min-width: 385px) {
  .h2 {
    font-size: 1.3rem;
  }
}

@media (min-width: 768px) {
  .h2 {
    font-size: 1.5rem;
  }
}

.h3 {
  font-family   : "noto-sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size     : 1.2rem;
  font-weight   : 600;
  letter-spacing: 0.07rem;
  line-height   : 1.5;
  color         : #0A0A0A;
  position      : relative;
}

/* .sec3_h3 {
  font-family: "noto-sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  line-height: 1.5;
  color: #0A0A0A;
  font-feature-settings: "palt";
}

.sbox_h4 {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.3;
  color: #0A0A0A;
  font-feature-settings: "palt";
  text-align: center;
  margin-bottom: 0.7rem;
}

.sec4_box1_h4_header {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.8;
  color: #0A0A0A;
  letter-spacing: 0.15rem;
  margin: 0 0 1rem 0;
  text-align: center;
}

.h5 {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.8;
  color: #0A0A0A;
  margin-bottom: 3px;
}

ul {
  font-weight: 400;
  color: #0A0A0A;
  letter-spacing: 0.05rem;
  margin: 0 0 1rem 0;
  line-height: 1.75;
}

.sec4_box2-3_top_left {
  color: #4D4D4D;
  font-size: 1.25rem;
  font-family: "hannari", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
} */

.under_yellow {
  background-image: linear-gradient(transparent 60%, #D8CC2E 0);
  padding         : 0 2px;
  letter-spacing  : 0.1rem;
}

.kanji {
  padding       : 0 2px;
  letter-spacing: 0.1rem;
}

.space {
  padding-left: 5px;
}

.space2 {
  padding-left: 2px;
}

.space_10rem {
  padding: 10rem 0 0 0;
  width  : 100%;
}

.space_7rem {
  padding: 7rem 0 0 0;
  width  : 100%;
}

.space_6rem {
  padding: 6rem 0 0 0;
  width  : 100%;
}

.space_5rem {
  padding: 5rem 0 0 0;
  width  : 100%;
}

.space_4rem {
  padding: 4rem 0 0 0;
  width  : 100%;
}

.space_3rem {
  padding: 3rem 0 0 0;
  width  : 100%;
}

.space_2rem {
  padding: 2rem 0 0 0;
  width  : 100%;
}

.space_1rem {
  padding: 1rem 0 0 0;
  width  : 100%;
}

.space_05rem {
  padding: 0.5rem 0 0 0;
  width  : 100%;
}


.sec6 {
  background-color: #E2F0EF;
}

.sec7 {
  background-color: #F7F7F7;
}

.footer {
  background-color: #4BA399;
  margin-top      : -30px;
}

.sec1_top_space {
  padding-top: 10rem;
}

.sec3_top_space {
  padding-top: 5rem;
}

.sec4_top_space {
  padding-top: 5rem;
}

.sec_border {
  position: absolute;
  z-index : 1;
  width   : 100%;
}

.sec_border::before {
  content   : "";
  display   : block;
  background: url(../images/border_box.svg) no-repeat center/100% 22px;
  height    : 22px;
  width     : 100%;
  position  : absolute;
  top       : -14px;
  transform : rotateX(180deg);
  z-index   : -1;
}

@media (min-width: 768px) {
  .sec_border::before {
    background: url(../images/border_box.svg) no-repeat center/100% 30px;
    height    : 30px;
    top       : -22px;
  }
}

@media (min-width: 1160px) {
  .sec_border::before {
    background: url(../images/border_box.svg) no-repeat center/100% 45px;
    height    : 45px;
    top       : -35px;
  }
}

.sec_border.green_border::before {
  background: url(../images/border_box_green.svg) no-repeat center/100% 22px;
}

@media (min-width: 768px) {
  .sec_border.green_border::before {
    background: url(../images/border_box_green.svg) no-repeat center/100% 30px;
  }
}

@media (min-width: 1160px) {
  .sec_border.green_border::before {
    background: url(../images/border_box_green.svg) no-repeat center/100% 45px;
  }
}

.sec_border.footer_border::before {
  background: url(../images/border_box_footer.svg) no-repeat center/100% 22px;
}

@media (min-width: 768px) {
  .sec_border.footer_border::before {
    background: url(../images/border_box_footer.svg) no-repeat center/100% 30px;
  }
}

@media (min-width: 1160px) {
  .sec_border.footer_border::before {
    background: url(../images/border_box_footer.svg) no-repeat center/100% 45px;
  }
}

.sec_border::after {
  content   : "";
  display   : block;
  background: url(../images/border_line.svg) no-repeat center/100% 22px;
  height    : 22px;
  width     : 100%;
  position  : absolute;
  transform : rotateX(180deg);
  top       : -6px;
  z-index   : -1;
}

@media (min-width: 768px) {
  .sec_border::after {
    background: url(../images/border_line.svg) no-repeat center/100% 30px;
    height    : 30px;
    top       : -12px;
  }
}

@media (min-width: 1160px) {
  .sec_border::after {
    background: url(../images/border_line.svg) no-repeat center/100% 45px;
    height    : 45px;
    top       : -20px;
  }
}

.sec_border .sec_border_img {
  height : 16px;
  width  : 100%;
  z-index: 1;
}

@media (min-width: 768px) {
  .sec_border .sec_border_img {
    height: 26px;
  }
}

.sec_border.border_rotate {
  transform : rotate(180deg);
  margin-top: -25px;
}

@media (min-width: 1160px) {
  .sec_border.border_rotate {
    margin-top: -45px;
  }
}

.under_arrow {
  text-align: center;
  margin-top: -10px;
}

.under_arrow img {
  width    : 8vw;
  height   : 8vw;
  max-width: 48px;
  animation: arrow_move 2s linear infinite;
}

.under_arrow img:hover {
  animation-play-state: paused;
}

@media (min-width: 768px) {
  .under_arrow {
    margin-top: -40px;
  }
}

@media (min-width: 1160px) {
  .under_arrow {
    margin-top: -80px;
  }
}

@keyframes arrow_move {
  0% {
    transform: translateY(0%);
    opacity  : 0;
  }

  20% {
    transform: translateY(4%);
    opacity  : 1;
  }

  90% {
    transform: translateY(18%);
    opacity  : 1;
  }

  95% {
    transform: translateY(20%);
    opacity  : 0;
  }

  100% {
    transform: translateY(20%);
    opacity  : 0;
  }
}

.btn {
  display         : block;
  background-color: #d36557;
  box-shadow      : 0px 4px 0px 0px #b05449;
  border-radius   : 5px;
  color           : #fff;
  cursor          : pointer;
  transition      : ease all 0.1s;
}

.btn:hover {
  opacity: 0.9;
}

.btn:active {
  box-shadow   : 0px 2px 0px 0px #b05449;
  margin-top   : 2px;
  margin-bottom: -2px;
}

.btn_thanks {
  font-size       : 1.2rem;
  display         : inline-block;
  background-color: #d36557;
  box-shadow      : 0px 4px 0px 0px #b05449;
  border-radius   : 5px;
  color           : #fff;
  cursor          : pointer;
  transition      : ease all 0.1s;
}

.btn_thanks:hover {
  opacity: 0.9;
}

/*---------------------ボタン------------------*/
.sec.cv {
  position: relative;
}


.sec_cv_space__btn {
  position        : absolute;
  top             : 50%;
  left            : 50%;
  transform       : translate(-50%, -50%);
  height          : 50px;
  font-size       : 1.3rem;
  letter-spacing  : .5rem;
  height          : 50px;
  width           : 80%;
  max-width       : 800px;
  text-align      : center;
  padding-top     : 3px;
  background-color: #d36557;
  box-shadow      : 0px 4px 0px 0px #b05449;
  border-radius   : 100px;
  color           : #fff;
  cursor          : pointer;
  transition      : ease all .1s;
}

.sec_cv_space__btn:hover {
  opacity: 0.9;
}

.sec_cv_space__btn:active {
  box-shadow   : 0px 2px 0px 0px #b05449;
  margin-top   : 2px;
  margin-bottom: -2px;
}


@media (min-width: 768px) {
  .sec_cv_space__btn {
    height   : 70px;
    font-size: 1.7rem;
  }
}

@media (min-width: 1160px) {
  .sec_cv_space__btn {
    height   : 100px;
    font-size: 2rem;
  }
}

.submit_btn {
  font-size       : 1.2rem;
  padding         : 1rem 3rem;
  background-color: #d36557;
  box-shadow      : 0px 4px 0px 0px #b05449;
  border-radius   : 100px;
  color           : #fff;
  cursor          : pointer;
  transition      : ease all 0.1s;
}

@media (min-width: 768px) {
  .submit_btn {
    padding: 1rem 2rem;
  }
}

.submit_btn:hover {
  opacity: 0.9;
}

.submit_btn:active {
  box-shadow   : 0px 2px 0px 0px #b05449;
  margin-top   : 2px;
  margin-bottom: -2px;
}

.back_btn {
  font-size       : 1.1rem;
  padding         : 0.8rem 1rem;
  background-color: #989898;
  box-shadow      : 0px 4px 0px 0px #333333;
  border-radius   : 5px;
  color           : #fff;
  cursor          : pointer;
  transition      : ease all 0.1s;
}

.back_btn:hover {
  opacity: 0.9;
}

.back_btn:active {
  box-shadow   : 0px 2px 0px 0px #333333;
  margin-top   : 2px;
  margin-bottom: -2px;
}

.contact_btn {
  font-size : 1.2rem;
  text-align: center;
  margin    : 0 auto;
  padding   : 1rem 2rem;
  max-width : 500px;
}

@media (min-width: 768px) {
  .contact_btn {
    padding: 1.2rem 2rem;
  }
}

/*アコーディオン全体*/
.accord {
  list-style      : none;
  background-color: white;
  border-radius   : 5px;
  max-width       : 900px;
  margin          : 0 auto 2rem;
  position        : relative;
}

/*アコーディオンタイトル*/
.accord_aria {
  position   : relative;
  /*+マークの位置基準とするためrelative指定*/
  cursor     : pointer;
  font-size  : 1rem;
  font-weight: 500;
  padding    : 3% 60px;
  line-height: 1.5;
  transition : all 0.5s ease;
}

.icon_q {
  content   : "";
  display   : block;
  position  : absolute;
  top       : 50%;
  transform : translateY(-50%);
  left      : 15px;
  width     : 25px;
  height    : 38px;
  background: url(../images/icon_question.svg) no-repeat center center/contain;
  transition: all 1s ease;
}

/*アイコンの＋と×*/
.accord_aria::before,
.accord_aria::after {
  position        : absolute;
  content         : "";
  width           : 30px;
  height          : 2px;
  background-color: #46AAB5;
}

.accord_aria::before {
  position : absolute;
  top      : 50%;
  transform: translateY(-50%);
  right    : 15px;
  transform: rotate(0deg);
}

.accord_aria::after {
  top      : 50%;
  transform: translateX(-50%);
  right    : 15px;
  transform: rotate(90deg);
}

/*　closeというクラスがついたら形状変化　*/
.accord_aria.close::before {
  transform: rotate(45deg);
}

.accord_aria.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box {
  display: none;
  /*はじめは非表示*/
  margin : 0 3%;
  padding: 0 3% 3% 3%;
}

/*アコーディオンで現れるエリア*/
.box_p {
  font-size            : 0.9rem;
  font-weight          : 400;
  line-height          : 1.75;
  font-feature-settings: "palt";
  letter-spacing       : 0.05rem;
  text-align           : justify;
  text-justify         : inter-ideograph;
  position             : relative;
}

.box_p::before {
  content      : "";
  display      : inline-block;
  margin-bottom: -5px;
  width        : 20px;
  height       : 30px;
  background   : url(../images/icon_answer.svg) no-repeat center center/contain;
}

@media (min-width: 768px) {
  .br {
    display: none;
  }
}

.title {
  position: absolute;
  left    : 0;
  width   : 100%;
  bottom  : 2vh;
  z-index : 10000;
}

@media (min-width: 385px) {
  .title {
    left: 1.2rem;
  }
}

@media (min-width: 768px) {
  .title {
    left: calc(20vw - 100px);
    top : 50vh;
  }
}

@media (min-width: 1160px) {
  .title {
    position: fixed;
    left    : calc(20vw - 100px);
    top     : 50vh;
  }
}

.title_copy {
  z-index     : 12001;
  margin-right: -30px;
  position    : relative;
}

@media (min-width: 768px) {
  .title_copy {
    margin-right: -20px;
  }
}

.arrow_line {
  display        : flex;
  overflow       : hidden;
  justify-content: flex-start;
  padding-right  : 50px;
}

@media (min-width: 768px) {
  .arrow_line {
    padding-right: 50px;
  }
}

.arrow_line.sec5_arrow {
  margin-top: -4rem;
}

.arrow_line_header {
  font-size     : 1rem;
  font-weight   : 200;
  display       : block;
  margin-top    : 5px;
  line-height   : 1.5;
  letter-spacing: 0;
}

@media (min-width: 1160px) {
  .arrow_line_header {
    font-size  : 1.1rem;
    font-weight: 200;
  }
}

.arrow_space {
  height: 2.5rem;
}

.arrow_space.arrow_h2 {
  height: 1.8rem;
}

.arrow_space.arrow_h3 {
  height: 1rem;
}

.arrow_copy {
  max-width       : 300px;
  min-width       : 200px;
  background-color: #fff;
  box-shadow      : 6px 6px 0px 0px #46AAB5;
  text-align      : left;
  display         : block;
}

@media (min-width: 768px) {
  .arrow_copy {
    max-width: none;
    width    : auto;
  }
}

.arrow_copy.border {
  box-shadow: 0px 0px 0px 1px #46AAB5;
}

.arrow_copy.red_shadow {
  box-shadow: 6px 6px 0px 0px #d36557;
}

.arrow_copy.arrow_h2 {
  padding: 1.3rem 0 1.3rem 1rem;
}

.arrow_copy.arrow_h3 {
  padding: 0.5rem 0 0.5rem 1rem;
}

.arrow_right_space {
  position   : relative;
  margin-left: -1px;
  z-index    : 100;
  filter     : drop-shadow(3.8px 6px 0px #46AAB5);
}

@media (min-width: 768px) {
  .arrow_right_space {
    margin-left: -1px;
  }
}

.arrow_right_space.border {
  filter: drop-shadow(3px 6px 0px #46AAB5);
}

.arrow_right_space.red_shadow {
  filter: drop-shadow(3.8px 6px 0px #d36557);
}

.arrow_right_space img {
  height: 100%;
  width : auto;
}

.ribon.black_ribon {
  transform : skewY(-2deg);
  display   : inline-block;
  position  : relative;
  box-sizing: border-box;
  padding   : 1rem 1rem;
  margin    : 1rem 0 2rem -32px;
  background: #fff;
  border    : 1px solid #0A0A0A;
  box-shadow: 1px 1px 0px 0px #0A0A0A;
}

.ribon.yellow_ribon {
  transform : skewY(-2deg);
  display   : inline-block;
  position  : relative;
  box-sizing: border-box;
  padding   : 1rem 1rem;
  margin    : 1rem 0 2rem -32px;
  background: #fff;
  border    : 1px solid #D8CC2E;
  box-shadow: 1px 1px 0px 0px #D8CC2E;
}

.ribon.green_ribon {
  transform : skewY(-2deg);
  display   : inline-block;
  position  : relative;
  box-sizing: border-box;
  padding   : 1rem 1rem;
  margin    : 1rem 0 2rem -32px;
  background: #fff;
  border    : 1px solid #46AAB5;
  box-shadow: 1px 1px 0px 0px #46AAB5;
}

.ribon.red_ribon {
  transform : skewY(-2deg);
  display   : inline-block;
  position  : relative;
  box-sizing: border-box;
  padding   : 1rem 1rem;
  margin    : 1rem 0 2rem -32px;
  background: #fff;
  border    : 1px solid #d36557;
  box-shadow: 1px 1px 0px 0px #d36557;
}

.ribon.black_ribon::before {
  position     : absolute;
  content      : "";
  top          : calc(100% + 2px);
  left         : -2px;
  border       : none;
  border-bottom: solid 15px transparent;
  border-right : solid 15px #0A0A0A;
}

.ribon.yellow_ribon::before {
  position     : absolute;
  content      : "";
  top          : calc(100% + 2px);
  left         : -2px;
  border       : none;
  border-bottom: solid 15px transparent;
  border-right : solid 15px #D8CC2E;
}

.ribon.green_ribon::before {
  position     : absolute;
  content      : "";
  top          : calc(100% + 2px);
  left         : -2px;
  border       : none;
  border-bottom: solid 15px transparent;
  border-right : solid 15px #46AAB5;
}

.ribon.red_ribon::before {
  position     : absolute;
  content      : "";
  top          : calc(100% + 2px);
  left         : -2px;
  border       : none;
  border-bottom: solid 15px transparent;
  border-right : solid 15px #d36557;
}

.frame_pic {
  box-shadow: 6px 6px 0px 0px #46AAB5;
}

.h2.frame {
  margin          : 0 auto;
  display         : block;
  width           : -moz-fit-content;
  width           : fit-content;
  background-color: #fff;
  padding         : 1rem 2rem;
  box-shadow      : 6px 6px 0px 0px #46AAB5;
}

@media (min-width: 768px) {
  .h2.frame {
    padding: 1rem 3rem;
  }
}

.maru_frame {
  border-radius: 5px;
  padding      : 0.85rem 1rem 0.85rem;
}

.maru_frame.yellow {
  border: #D8CC2E solid 1px;
}

.maru_frame.red {
  border: #d36557 solid 1px;
}

.maru_frame.black {
  border: #0A0A0A 1px solid;
}

.maru_frame.green {
  border: #46AAB5 1px solid;
}

.maru_frame .sec4_box1_h4 {
  text-align: center;
  margin-top: -1.75rem;
}

.maru_frame .sec4_box1_h4 .sec4_box1_h4_header {
  display         : inline-block;
  background-color: #fff;
  padding         : 0 0.5rem;
}

.sbox {
  max-width: 400px;
  position : relative;
}

@media (min-width: 768px) {
  .sbox {
    width: 33%;
  }
}

.sbox::before {
  background-color   : white;
  content            : "";
  position           : relative;
  display            : block;
  width              : 80px;
  height             : 40px;
  margin             : 0 auto -3px;
  border             : 1px solid rgba(121, 85, 72, 0.5);
  border-bottom-width: 0;
  border-radius      : 99em 99em 0 0;
  z-index            : 2;
}

.sbox::after {
  content       : attr(data-label);
  position      : absolute;
  top           : 0;
  left          : 0;
  right         : 0;
  display       : block;
  width         : 80px;
  height        : 80px;
  margin        : 1rem auto 0;
  font-size     : 1.7rem;
  line-height   : 2;
  text-align    : center;
  color         : #fff;
  text-shadow   : 1px 1px 0 #000, -1px -1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, 0px 1px 0 #000, 0 -1px 0 #000, -1px 0 0 #000, 1px 0 0 #000;
  pointer-events: none;
  z-index       : 3;
}

.sbox_inner {
  background-color: white;
  position        : relative;
  top             : 1rem;
  padding         : 1rem 1rem 1rem 1rem;
  border          : 1px solid rgba(121, 85, 72, 0.5);
  border-radius   : 5px;
  border-top-width: 0;
  height          : 100%;
}

.sbox_inner::before,
.sbox_inner::after {
  background-color: white;
  content         : "";
  position        : absolute;
  top             : -15px;
  display         : block;
  height          : 16px;
  border          : solid rgba(121, 85, 72, 0.5);
}

.sbox_inner::before {
  left         : -1px;
  right        : 50%;
  border-width : 1px 0 0 1px;
  border-radius: 5px 0 0 0;
}

.sbox_inner::after {
  right        : -1px;
  left         : 50%;
  border-width : 1px 1px 0 0;
  border-radius: 0 5px 0 0;
}

.sbox_img {
  position: relative;
  display : block;
  margin  : 0 auto 1rem;
  width   : auto;
  height  : 150px;
  z-index : 200;
}

.sbox__arrow {
  margin    : 3rem auto 0;
  width     : 100%;
  text-align: center;
  filter    : drop-shadow(2px 2px 0px #46AAB5);
}

.sbox__arrow img {
  transform: rotate(90deg);
  height   : 120px;
  width    : 65px;
}

@media (min-width: 768px) {
  .sbox__arrow {
    margin: auto;
    width : 30px;
  }

  .sbox__arrow img {
    transform: rotate(0);
    width    : 30px;
    height   : 55px;
  }
}

.sbox__arrow_under {
  margin    : 3rem auto 0;
  width     : 100%;
  text-align: center;
  filter    : drop-shadow(2px 2px 0px #46AAB5);
}

@media (min-width: 768px) {
  .sbox__arrow_under {
    margin: auto;
    width : 30px;
  }
}

.sbox__arrow_under img {
  transform: rotate(90deg);
  height   : 120px;
  width    : 65px;
}

.dash_frame {
  padding         : 2rem 2rem 1.5rem;
  border-radius   : 1rem;
  background-color: #fff;
  position        : relative;
}

.dash_frame::after {
  content            : "";
  display            : block;
  position           : absolute;
  width              : calc(100% - 1.5rem);
  height             : calc(100% - 1.5rem);
  top                : 0;
  left               : 0;
  border-radius      : 0.8rem;
  margin             : 0.75rem;
  background-image   : linear-gradient(to right, #000, #000 3px, transparent 3px, transparent 8px), linear-gradient(to right, #000, #000 3px, transparent 3px, transparent 8px), linear-gradient(to bottom, #000, #000 3px, transparent 3px, transparent 8px), linear-gradient(to bottom, #000, #000 3px, transparent 3px, transparent 8px);
  background-size    : 8px 1px, 8px 1px, 1px 8px, 1px 8px;
  background-position: left top, left bottom, left top, right top;
  background-repeat  : repeat-x, repeat-x, repeat-y, repeat-y;
}

.sec4_box1_info_g {
  display    : flex;
  align-items: flex-end;
  gap        : 16px;
}

.sec4_box1_info {
  padding-right: 0.9rem;
}

.sec4_box1_info .sec4_box1_info_h4 {
  font-size : 1rem;
  margin-top: 0.5rem;
}

@media (min-width: 385px) {
  .sec4_box1_info .sec4_box1_info_h4 {
    font-size: 1.2rem;
  }
}

.sec4_box1_info .sec4_box1_info_time {
  font-size: 13px;
}

.rignt_bubble {
  height    : 100%;
  width     : 100%;
  position  : relative;
  text-align: center;
  padding   : 24px 0;
  z-index   : 10;
}

.rignt_bubble img {
  width    : 70%;
  max-width: 80px;
  height   : auto;
}

.rignt_bubble::before,
.rignt_bubble::after {
  content          : "";
  position         : absolute;
  width            : 100%;
  background-repeat: no-repeat;
  background-size  : auto 100%;
  z-index          : -1;
}

.rignt_bubble::before {
  bottom          : 0;
  left            : 0;
  background-image: url(../images/frame_fukidashi.svg);
}

.rignt_bubble::after {
  bottom : -5px;
  left   : 5px;
  z-index: -2;
}

.rignt_bubble.green_shadow {
  color: #46AAB5;
}

.rignt_bubble.green_shadow::before {
  height: 100%;
}

.rignt_bubble.green_shadow::after {
  height          : 100%;
  background-image: url(../images/frame_fukidashi_shadow_green.svg);
}

.rignt_bubble.yellow_shadow {
  color: #D8CC2E;
}

.rignt_bubble.yellow_shadow::before {
  height: 103%;
}

.rignt_bubble.yellow_shadow::after {
  height          : 103%;
  background-image: url(../images/frame_fukidashi_shadow_yellow.svg);
}

.rignt_bubble.red_shadow {
  color: #d36557;
}

.rignt_bubble.red_shadow::before {
  height: 106%;
}

.rignt_bubble.red_shadow::after {
  height          : 106%;
  background-image: url(../images/frame_fukidashi_shadow_red.svg);
}

.border_frame {
  border         : 1px solid #000;
  width          : 100%;
  height         : 320px;
  display        : flex;
  justify-content: center;
  align-items    : center;
}

.border_frame ol {
  display       : inline-block;
  vertical-align: middle;
}





.logo {
  width    : 208px;
  position : absolute;
  top      : 50%;
  transform: translateY(-50%);
}

@media (min-width: 768px) {
  .logo {
    width: 225px;
  }
}

@media (min-width: 1160px) {
  .logo {
    width: 250px;
  }
}

.logo img {
  width : 100%;
  height: auto;
}

.sp_footer {
  position             : fixed;
  width                : 100%;
  left                 : 50%;
  transform            : translate(-50%, 150%);
  bottom               : 9px;
  z-index              : 1000;
  color                : white;
  font-size            : 0.9rem;
  line-height          : 1.2;
  font-feature-settings: "palt";
  margin-left          : auto;
  transition           : all ease 0.3s;
  max-width            : 500px;

}

@media (min-width: 385px) {
  .sp_footer {
    font-size: 1.2rem;
  }
}

.sp_footer.active {
  transform: translate(-50%, 0);
}

.header_right {
  display: none;
}

@media (min-width: 768px) {
  .header_right {
    display              : block;
    width                : 100%;
    z-index              : 1000;
    color                : white;
    font-weight          : 400;
    line-height          : 1.2;
    font-feature-settings: "palt";
    letter-spacing       : 0.05rem;
    margin-left          : auto;
  }
}

.header_right_flex {
  width                : calc(100% - 45px);
  text-align           : center;
  font-weight          : 400;
  line-height          : 1.2;
  font-feature-settings: "palt";
  letter-spacing       : 0.05rem;

}



.header_right_contact {
  padding: 0.5rem 0.5rem 0.5rem 0.5rem;
}

@media (min-width: 768px) {
  .header_right_contact {
    padding: 0.6rem 1.2rem 0.4rem;
  }
}

@media (min-width: 1160px) {
  .header_right_contact {
    padding: 0.8rem 1.2rem 0.6rem;
  }
}

.header_right_contact a {
  font-size  : 0.85rem;
  font-weight: 700;
}

@media (min-width: 768px) {
  .header_right_contact a {
    font-size: 1rem;
  }
}

/*-------------------------------------------------*/
/*-------------------------------------------------*/
/*------------------ ページアップボタン ----------------*/
/*-------------------------------------------------*/
/*-------------------------------------------------*/
.pageup {
  position: fixed;
  z-index : 10000;
  bottom  : 6px;
}

.pageup p {
  width           : 40px;
  height          : 40px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius   : 5px 0 0 5px;
  box-shadow      : -2px 2px 4px rgba(0, 0, 0, 0.3);
  transition      : all 0.3s ease;
  cursor          : pointer;
  position        : relative;
}

.pageup p:hover {
  background-color: #46AAB5;
  box-shadow      : 0 0 4px rgba(0, 0, 0, 0.3);
}

.pageup p::after {
  content     : "";
  display     : block;
  width       : 12px;
  height      : 12px;
  border-top  : solid 1px white;
  border-right: solid 1px white;
  position    : absolute;
  left        : 50%;
  top         : 18px;
  transform   : translate(-50%, 0) rotate(-45deg);
  transition  : all 0.3s ease;
}

.pageup p:hover::after {
  top: 12px;
  /* ホバー時に少し上に移動*/
}

.main_visual {
  background: url(../images/main.png) no-repeat 62% 60%/auto 90vh, url(../images/kira_green_line.svg) no-repeat 113% 16%/30vw auto, url(../images/kira_green_nuri.svg) no-repeat 40% 36%/10vw auto, url(../images/kira_blue.svg) no-repeat -2% 10%/30vw auto, url(../images/kira_yello_line.svg) no-repeat -20% 50%/35vw auto, url(../images/catch_copy.svg) no-repeat calc(50% - 70px) 20%/150px auto, linear-gradient(135deg, rgba(248, 239, 183, 0.18) 0%, rgba(70, 163, 173, 0.24) 100%);
  height    : 92svh;
  width     : 100%;
  overflow  : hidden;
  position  : relative;
  z-index   : 0;
}

@media (min-width: 768px) {
  .main_visual {
    background: url(../images/main.png) no-repeat 58% 60%/cover, url(../images/kira_green_line.svg) no-repeat 93% 16%/200px auto, url(../images/kira_green_nuri.svg) no-repeat 40% 39%/80px auto, url(../images/kira_blue.svg) no-repeat 20% 76%/220px auto, url(../images/kira_yello_line.svg) no-repeat -2% 30%/240px auto, url(../images/catch_copy.svg) no-repeat 5% 55%/200px auto, linear-gradient(135deg, rgba(248, 239, 183, 0.18) 0%, rgba(70, 163, 173, 0.24) 100%);
  }
}

@media (min-width: 1160px) {
  .main_visual {
    background           : url(../images/main.png) no-repeat 55% 60%/cover, url(../images/kira_green_line.svg) no-repeat 103% 18%/200px auto, url(../images/kira_green_nuri.svg) no-repeat 40% 36%/80px auto, url(../images/kira_blue.svg) no-repeat 1% 86%/220px auto, url(../images/kira_yello_line.svg) no-repeat 0% 30%/240px auto, url(../images/catch_copy.svg) no-repeat 15% 45%/250px auto, linear-gradient(135deg, rgba(248, 239, 183, 0.18) 0%, rgba(70, 163, 173, 0.24) 100%);
    background-attachment: fixed;
  }
}

.main {
  position: relative;
  z-index : 1;
}

.sec1 {
  padding-bottom: 5rem;
}

.sec_flex_1 {
  display        : flex;
  flex-wrap      : wrap;
  row-gap        : 2rem;
  justify-content: center;
}

@media (min-width: 768px) {
  .sec_flex_1 {
    row-gap   : 0;
    column-gap: 3rem;
    flex-wrap : nowrap;
  }
}

.sec_flex_2 {
  display        : flex;
  flex-wrap      : wrap;
  row-gap        : 2rem;
  justify-content: center;
}

@media (min-width: 768px) {
  .sec_flex_2 {
    row-gap   : 0;
    column-gap: 3rem;
    flex-wrap : nowrap;
  }
}

.sec_flex_3 {
  display        : flex;
  flex-wrap      : wrap;
  row-gap        : 2rem;
  justify-content: center;
}

@media (min-width: 768px) {
  .sec_flex_3 {
    row-gap   : 0;
    column-gap: 3rem;
    flex-wrap : nowrap;
  }
}

.sec_pic_1,
.sec_pic_2 {
  width    : 100%;
  max-width: 400px;
}

@media (min-width: 768px) {

  .sec_pic_1,
  .sec_pic_2 {
    width    : 40%;
    min-width: 300px;
  }
}

.sec_pic_1 img,
.sec_pic_2 img {
  width : 100%;
  height: auto;
}

.flex_right,
.flex_left {
  width: 100%;
}

@media (min-width: 768px) {

  .flex_right,
  .flex_left {
    width: 60%;
  }
}

.sec_pic_3 {
  width    : 100%;
  max-width: 300px;
}

@media (min-width: 768px) {
  .sec_pic_3 {
    width    : 40%;
    min-width: 300px;
  }
}

.sec_pic_3 img {
  width : 100%;
  height: auto;
}

.sec_pic_4 {
  width    : 100%;
  max-width: 300px;
}

@media (min-width: 768px) {
  .sec_pic_4 {
    width     : 40%;
    max-height: 200px;
  }
}

.sec_pic_4 img {
  object-fit: contain;
  width     : 100%;
  height    : 100%;
}

.sec_pic_5 {
  width    : 100%;
  max-width: 150px;
}

@media (min-width: 768px) {
  .sec_pic_5 {
    width: 40%;
  }
}

.sec_pic_5 img {
  width : 100%;
  height: auto;
}

.sec1_header {
  margin-bottom: 1.2rem;
}

@media (min-width: 768px) {

  .sec_pic_2,
  .sec_pic_3,
  .sec_pic_4,
  .sec_pic_5 {
    order: 1;
  }
}

.column {
  border-radius   : 5px;
  background-color: white;
  padding         : 1.2rem;
}

@media (min-width: 385px) {
  .column {
    padding: 1.2rem;
  }
}

@media (min-width: 768px) {
  .column {
    padding: 2.5rem;
  }
}

.column_header {
  font-size            : 1.1rem;
  font-weight          : 600;
  line-height          : 1.75;
  font-feature-settings: "palt";
  letter-spacing       : 0.15rem;
  margin-bottom        : 12px;
}

.under_arrow02 {
  margin-top: 4rem;
  width     : 100%;
  text-align: center;
}

.under_arrow02 img {
  width: 100px;
}

.sec2_back_img {
  background: url(../images/sec2_main.jpg) no-repeat 40% center/cover;
  height    : 380px;
  width     : 100%;
  background: url(../images/sec2_main.jpg) no-repeat center top/cover;
}

@media (min-width: 768px) {
  .sec2_back_img {
    background: url(../images/sec2_main.jpg) no-repeat 40% 10%/cover;
    height    : 600px;
    width     : 100%;
  }
}

.sec5_back_img {
  background: url(../images/sec05_main.jpg) no-repeat 40% center/cover;
  height    : 380px;
  width     : 100%;
  background: url(../images/sec05_main.jpg) no-repeat center top/cover;
}

@media (min-width: 768px) {
  .sec5_back_img {
    background: url(../images/sec05_main.jpg) no-repeat 40% 10%/cover;
    height    : 700px;
    width     : 100%;
  }
}

.inline_block_center {
  text-align: center;
  margin-top: -3.5rem;
}

@media (min-width: 768px) {
  .inline_block_center {
    margin-top: -2.5rem;
  }
}

.sec2_header {
  text-align           : center;
  font-size            : calc(18px + 18 * (100vw - 320px) / 700);
  min-height           : 0vw;
  font-weight          : 700;
  line-height          : 1.5;
  font-feature-settings: "palt";
  letter-spacing       : 0.05rem;
}

@media (min-width: 768px) {
  .sec2_header {
    font-size     : 2rem;
    letter-spacing: 0.15rem;
    font-weight   : 500;
    line-height   : 1.5;
    padding       : 1.5rem auto;
    width         : 100%;
  }
}

.sec2_p {
  order: 1;
}

@media (min-width: 768px) {
  .sec2_p {
    width: calc((100vw - 40px) / 26 * 13);
  }
}

@media (min-width: 1160px) {
  .sec2_p {
    width: 510px;
  }
}

.sec2_rignt_img {
  text-align: center;
  margin-top: 3rem;
}

@media (min-width: 768px) {
  .sec2_rignt_img {
    margin-top: 0;
  }
}

.sec2_rignt_img img {
  width    : 100%;
  max-width: 300px;
  height   : auto;
}

@media (min-width: 768px) {
  .sec2_rignt_img img {
    width: calc((100vw - 40px) / 26 * 10);
  }
}

@media (min-width: 1160px) {
  .sec2_rignt_img img {
    width: 360px;
  }
}

.sec2_left_img {
  text-align: center;
  margin-top: 3rem;
}

@media (min-width: 768px) {
  .sec2_left_img {
    margin-top: 0;
    order     : 1;
  }
}

.sec2_left_img img {
  width    : 100%;
  max-width: 300px;
  height   : auto;
}

@media (min-width: 768px) {
  .sec2_left_img img {
    width: calc((100vw - 40px) / 26 * 10);
  }
}

@media (min-width: 1160px) {
  .sec2_left_img img {
    width: 360px;
  }
}

.sec2_recommend_flex {
  display  : flex;
  flex-wrap: wrap;
  row-gap  : 3rem;
}

@media (min-width: 768px) {
  .sec2_recommend_flex {
    flex-wrap : nowrap;
    row-gap   : 0;
    column-gap: 4rem;
  }
}

.sec2_recommend_li {
  width          : 100%;
  max-width      : 300px;
  margin         : 0 auto;
  list-style-type: none;
}

@media (min-width: 768px) {
  .sec2_recommend_li {
    width    : 33%;
    max-width: 400px;
  }
}

.img_block {
  margin : 0 auto 1rem;
  display: block;
  width  : 80%;
}

.h4_cap {
  width                : 100%;
  font-size            : 1.1rem;
  font-weight          : 700;
  line-height          : 1.5;
  font-feature-settings: "palt";
  letter-spacing       : 0.05rem;
}

.sec3_ue_space {
  display  : flex;
  flex-wrap: wrap;
  row-gap  : 3rem;
}

@media (min-width: 768px) {
  .sec3_ue_space {
    display        : flex;
    flex-wrap      : nowrap;
    row-gap        : 0;
    column-gap     : 2rem;
    justify-content: space-around;
  }
}

.sec3_box1 {
  background-color: white;
}

@media (min-width: 768px) {
  .sec3_box1 {
    width: 33%;
  }
}

.sec3_box2 {
  margin: auto 0;
}

@media (min-width: 768px) {
  .sec3_box2 {
    width: calc((100vw - 40px) / 26 * 24);
  }
}

@media (min-width: 1160px) {
  .sec3_box2 {
    width: 815px;
  }
}

.sec4_num_box_flex {
  display        : flex;
  flex-wrap      : wrap;
  row-gap        : 1rem;
  justify-content: center;
}

@media (min-width: 768px) {
  .sec4_num_box_flex {
    column-gap     : 0.5rem;
    flex-wrap      : nowrap;
    justify-content: space-between;
    align-items    : stretch;
    align-items    : center;
  }
}

.sec4_white_space {
  background-color: white;
  border-radius   : 5px;
  margin          : -30px 0 0 0;
  padding         : 1.2rem;
}

@media (min-width: 768px) {
  .sec4_white_space {
    padding: 2rem;
    margin : -30px 2rem 0 2rem;
  }
}

@media (min-width: 768px) {
  .s_wrapper {
    margin: 0 2rem;
  }
}

@media (min-width: 768px) {
  .sec4_white_space__left_side {
    margin-left: -2rem;
  }
}

.sec3_white_space_flex {
  display  : flex;
  flex-wrap: wrap;
  row-gap  : 3rem;
}

@media (min-width: 768px) {
  .sec3_white_space_flex {
    flex-wrap      : nowrap;
    justify-content: space-between;
    column-gap     : 2rem;
  }
}

.sec4_2box {
  width: 100%;
}

@media (min-width: 768px) {
  .sec4_2box {
    width: 50%;
  }
}

.sec5_flex {
  display  : flex;
  flex-wrap: wrap;
  row-gap  : 3rem;
}

@media (min-width: 768px) {
  .sec5_flex {
    flex-wrap      : nowrap;
    row-gap        : 0;
    column-gap     : 2rem;
    justify-content: space-around;
  }
}

.sec5_box10_4 {
  background-color: white;
}

@media (min-width: 768px) {
  .sec5_box10_4 {
    width: 40%;
  }
}

.sec5_box10_6 {
  background-color: white;
}

@media (min-width: 768px) {
  .sec5_box10_6 {
    width: 60%;
  }
}

.sec5_shinro {
  width        : 100%;
  height       : auto;
  margin-bottom: 0.8rem;
}

.sec7_white {
  margin-top      : -60px;
  padding-top     : 120px;
  background-color: white;
  border          : 1px solid #0A0A0A;
}

@media (min-width: 768px) {
  .sec7_wrapper {
    padding: 0 2rem;
  }
}

.agreement {
  margin-top           : 1rem;
  text-align           : center;
  font-size            : 0.9rem;
  font-weight          : 700;
  line-height          : 1.75;
  font-feature-settings: "palt";
  letter-spacing       : 0.05rem;
  text-justify         : inter-ideograph;
}

.footer {
  position: relative;
  z-index : 1000;
}


@media (min-width: 768px) {
  .footer_space {
    display        : flex;
    justify-content: space-around;
  }
}

.footer_right {
  margin-top: 2rem;
}

@media (min-width: 768px) {
  .footer_right {
    width: calc((100vw - 20px) / 26 * 11);
  }
}

@media (min-width: 1160px) {
  .footer_right {
    width: 380px;
  }
}

.footer_h2,
.footer_h3,
.footer_address {
  margin-bottom: 0;
  color        : #fff;
  line-height  : 1.5;
}

.footer_h2 {
  padding: 2rem 0 0.2rem 0;
}

.footer_h3 {
  margin-top           : 0.8rem;
  margin-bottom        : 0.2rem;
  font-feature-settings: "palt";
}

.copyright {
  background-color: white;
  font-size       : 0.8rem;
  height          : 2rem;
  padding         : 0.5rem 0;
  text-align      : right;
}

@media (min-width: 768px) {
  .copyright {
    padding: 1rem 0;
    height : 3rem;
  }
}

.banner_sp {
  display: inline;
  width  : 100%;
  height : auto;
}

@media (min-width: 768px) {
  .banner_sp {
    display: none;
  }
}

.banner_pc {
  display: none;
}

@media (min-width: 768px) {
  .banner_pc {
    display: inline;
    width  : 100%;
    height : auto;
  }
}

.thanks_page {
  text-align: center;
}

.icon_check {
  margin: 5rem 0 1rem;
}

.icon_check img {
  width : 252px;
  height: auto;
}

.thanks_p {
  font-size            : 2rem;
  margin               : 2rem 0;
  font-weight          : 400;
  line-height          : 1.75;
  font-feature-settings: "palt";
  letter-spacing       : 0.1rem;
}

.btn_thanks {
  margin-top: 2rem;
  padding   : 0.5rem 1rem;
}

h4.error_h4 {
  font-size  : 1.3rem;
  font-family: "hannari", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 3;
  margin     : 3rem 0 2rem;
}

/*# sourceMappingURL=style.css.map */