@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

audio[controls],
canvas,
video {
  display: inline-block;
  *display: inline;
  zoom: 1;
}

html {
  font-size: 100%; /* 1 */
  overflow-y: scroll; /* 2 */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); /* 3 */
  -webkit-text-size-adjust: 100%; /* 4 */
  -ms-text-size-adjust: 100%; /* 4 */
}

body {
  margin: 0;
}

body,
button,
input,
select,
textarea {
  font-family: sans-serif;
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
  _font-family: "courier new", monospace;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: none;
}

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

small {
  font-size: 75%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

ul,
ol {
  margin: 1em 0;
  padding: 0 0 0 40px;
}

dd {
  margin: 0 0 0 40px;
}

nav ul,
nav ol {
  /*list-style: none;*/
}

img {
  border: 0; /* 1 */
  -ms-interpolation-mode: bicubic; /* 2 */
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

form {
  margin: 0;
}

fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0; /* 1 */
  *margin-left: -7px; /* 2 */
}

button,
input,
select,
textarea {
  font-size: 100%; /* 1 */
  margin: 0; /* 2 */
  vertical-align: baseline; /* 3 */
  *vertical-align: middle; /* 3 */
}

button,
input {
  line-height: normal; /* 1 */
  *overflow: visible; /* 2 */
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer; /* 1 */
  -webkit-appearance: button; /* 2 */
}

input[type=checkbox],
input[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

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

html, body {
  width: 100%;
  height: 100%;
}

body {
  margin: 0px;
  padding: 0px;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Noto Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
  text-align: left;
  font-weight: normal;
}
@media screen and (max-width: 1660px) {
  body {
    font-size: 0.96vw;
  }
}
@media screen and (max-width: 750px) {
  body {
    font-size: 3.73vw;
  }
}

h1, h2, h3, h4, h5, h6 {
  margin: 0px;
  padding: 0px;
  color: #000;
  font-size: 20px;
  line-height: 1.6em;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 1660px) {
  h1, h2, h3, h4, h5, h6 {
    font-size: 1.2vw;
  }
}
@media screen and (max-width: 750px) {
  h1, h2, h3, h4, h5, h6 {
    font-size: 4.8vw;
  }
}

hr {
  display: none;
}

ul {
  margin: 0;
  padding: 0;
}
ul li {
  margin: 0;
  padding: 0;
}

p, li, dt, dd, th, td, figcaption, time, address {
  margin: 0px;
  padding: 0px;
  font-size: 16px;
  line-height: 2em;
  letter-spacing: 0.02em;
  color: #000;
}
@media screen and (max-width: 1660px) {
  p, li, dt, dd, th, td, figcaption, time, address {
    font-size: 0.96vw;
  }
}
@media screen and (max-width: 750px) {
  p, li, dt, dd, th, td, figcaption, time, address {
    font-size: 3.73vw;
  }
}

th p, td p {
  font-size: 100%;
}

p {
  margin-bottom: 2em;
}

a {
  color: #000;
  text-decoration: underline;
  outline: none;
}

a.outline:focus {
  outline: 1px dotted;
}

a:focus {
  outline: none;
}

a:hover {
  text-decoration: none;
}

a img {
  margin: 0px;
  padding: 0px;
  border: none;
}

ol li p,
ul li p,
ol li table tr th,
ol li table tr td,
table tr td p,
table tr td ol li,
table tr td ul li,
table tr td ol li p,
table tr td ul li p {
  font-size: 100%;
}

ol.lmnone,
ul.lmnone {
  margin: 0;
  padding: 0;
  list-style: none;
}

ol.fllist li,
ul.fllist li {
  float: left;
  list-style: none;
}

/* dl table */
dl.table1 dt,
dl.table2 dt {
  margin: 0;
  margin-right: -110px;
  float: left;
  clear: both;
  display: inline;
  width: 110px;
}

dl.table1 dd {
  margin-left: 110px;
}

dl.table1 {
  /*\*/
  min-height: 1px;
  _height: 1%;
  /* */
  /*\*/ /*/
overflow: hidden;
/**/
}

dl.table1::after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
}

dl.table2 dt {
  width: 120px;
  margin-right: -120px;
}

dl.table2 dd {
  margin-left: 120px;
}

form {
  margin: 0;
  padding: 0;
}

.cf:before,
.cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

.cf {
  zoom: 1;
}

#layout {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

.dwrap {
  position: relative;
  clear: both;
}

.dleft {
  float: left;
}

.dright {
  float: right;
}

/* スペースの調整用 */
.pt-15 {
  padding-top: -15px;
}

.pt0 {
  padding-top: 0;
}

.pt1em {
  padding-top: 1em;
}

.pt2em {
  padding-top: 2em;
}

.pt3em {
  padding-top: 3em;
}

.pt5 {
  padding-top: 5px;
}

.pt10 {
  padding-top: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pt25 {
  padding-top: 25px;
}

.pt30 {
  padding-top: 30px;
}

.pt35 {
  padding-top: 35px;
}

.pt40 {
  padding-top: 40px;
}

.pt45 {
  padding-top: 45px;
}

.pt50 {
  padding-top: 50px;
}

.pt55 {
  padding-top: 55px;
}

.pt60 {
  padding-top: 60px;
}

.pt65 {
  padding-top: 65px;
}

.pt70 {
  padding-top: 70px;
}

.pt75 {
  padding-top: 75px;
}

.pt80 {
  padding-top: 80px;
}

.pt85 {
  padding-top: 85px;
}

.pt124 {
  padding-top: 124px;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pb1em {
  padding-bottom: 1em;
}

.pb2em {
  padding-bottom: 2em;
}

.pb3em {
  padding-bottom: 3em;
}

.pb4em {
  padding-bottom: 4em;
}

.pb5em {
  padding-bottom: 5em;
}

.pb6em {
  padding-bottom: 6em;
}

.pb5 {
  padding-bottom: 5px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb15 {
  padding-bottom: 15px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb25 {
  padding-bottom: 25px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb35 {
  padding-bottom: 35px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb45 {
  padding-bottom: 45px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb55 {
  padding-bottom: 55px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb65 {
  padding-bottom: 65px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb75 {
  padding-bottom: 75px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb85 {
  padding-bottom: 85px;
}

.pb120 {
  padding-bottom: 120px;
}

.mt0 {
  margin-top: 0;
}

.mt1em {
  margin-top: 1em;
}

.mt2em {
  margin-top: 2em;
}

.mt3em {
  margin-top: 3em;
}

.mt4em {
  margin-top: 4em;
}

.mt5em {
  margin-top: 5em;
}

.mt6em {
  margin-top: 6em;
}

.mt7em {
  margin-top: 7em;
}

.mt8em {
  margin-top: 8em;
}

.mt9em {
  margin-top: 9em;
}

.mt5 {
  margin-top: 5px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt55 {
  margin-top: 55px;
}

.mt60 {
  margin-top: 60px;
}

.mt65 {
  margin-top: 65px;
}

.mt70 {
  margin-top: 70px;
}

.mt75 {
  margin-top: 75px;
}

.mt80 {
  margin-top: 80px;
}

.mt85 {
  margin-top: 85px;
}

.mt120 {
  margin-top: 120px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb1em {
  margin-bottom: 1em;
}

.mb2em {
  margin-bottom: 2em;
}

.mb3em {
  margin-bottom: 3em;
}

.mb4em {
  margin-bottom: 4em;
}

.mb5em {
  margin-bottom: 5em;
}

.mb6em {
  margin-bottom: 6em;
}

.mb7em {
  margin-bottom: 7em;
}

.mb8em {
  margin-bottom: 8em;
}

.mb9em {
  margin-bottom: 9em;
}

.mb7 {
  margin-bottom: 7px;
}

.mb5 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb95 {
  margin-bottom: 95px;
}

.mb120 {
  margin-bottom: 120px;
}

.pl1em {
  padding-left: 1em;
}

.ml1em {
  margin-left: 1em;
}

.rp0 {
  padding-right: 0;
}

.rm0 {
  margin-right: 0;
}

.pr10 {
  padding-right: 10px;
}

.pr20 {
  padding-right: 20px;
}

.pr35 {
  padding-right: 35px;
}

.pr50 {
  padding-right: 50px;
}

.pl15 {
  padding-left: 15px;
}

.pl20 {
  padding-left: 20px;
}

.pl25 {
  padding-left: 25px;
}

.pl30 {
  padding-left: 30px;
}

.pl340 {
  padding-left: 340px;
}

.bb5 {
  border-bottom: 5px solid #78BE00;
}

.bt5 {
  border-top: 5px solid #78BE00;
  padding-top: 70px;
}

.f11 {
  font-size: 11px !important;
}

.f12 {
  font-size: 12px !important;
}

.red {
  color: red;
}

.text-right {
  text-align: right;
}

.text-rightb {
  font-weight: bold;
  text-align: right;
}

.tcenter {
  text-align: center;
}

body {
  _zoom: 0.7;
}

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

.pcv {
  display: block;
}
@media screen and (max-width: 750px) {
  .pcv {
    display: none;
  }
}

.pcv1160 {
  display: block;
}
@media screen and (max-width: 1160px) {
  .pcv1160 {
    display: none;
  }
}

.pcvin {
  display: inline-block;
}
@media screen and (max-width: 750px) {
  .pcvin {
    display: none;
  }
}

.spv {
  display: none;
}
@media screen and (max-width: 750px) {
  .spv {
    display: block;
  }
}

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

.inview.fade {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.inview.fade.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.inview.fade2 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.fade2.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.left {
  opacity: 0;
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.left.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.right {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.right.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.d1.show {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.d2.show {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.inview.d3.show {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.inview.top::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #f2f2f2;
  z-index: 2;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
  transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  /* background-color: transparent; */
  z-index: 2;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
  transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top.show::after, .inview.top.show::before {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.image.inview.top.show::after, .image.inview.top.show::before {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

/*
.overlay{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #CCC;
    z-index: 9999;
    -webkit-transition: opacity .3s ease;
    -ms-transition: opacity .3s ease;
    -moz-transition: opacity .3s ease;
    transition: opacity .3s ease;
}
.fadeout{
    .overlay{
        -webkit-transition: opacity .3s ease;
        -ms-transition: opacity .3s ease;
        -moz-transition: opacity .3s ease;
        transition: opacity .3s ease;
        opacity: 1;
    }
}
*/
header,
.header_inner,
.contents,
footer {
  position: relative;
  clear: both;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: #FFF;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  z-index: 37;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
header .logo {
  padding: 0 0 0 100px;
  width: 300px;
  line-height: 0;
  font-size: 0;
}
header .gnav {
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
header .gnav li {
  font-weight: bold;
  font-size: 20px;
  margin: 0 1em 0 0;
  padding: 0 1em 0 0;
  line-height: 1.3em;
  border-right: 1px solid #000;
}
header .gnav li:last-of-type {
  margin-right: 0;
  padding-right: 0;
  border-right: none;
}
header .gnav li a {
  position: relative;
  display: block;
  text-decoration: none;
  padding: 0.1em 0 0.1em 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
header .gnav li a::before {
  background: #003c87;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -2px;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
header .gnav li a:hover {
  color: #003c87;
}
header .gnav li a:hover::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
header .head_sns {
  list-style: none;
  margin-right: 120px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
header .head_sns li {
  width: 50px;
  margin: 0 10px;
  line-height: 0;
  font-size: 0;
}
header .head_sns li a {
  display: block;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
header .head_sns li a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 1660px) {
  header {
    height: 6.02vw;
  }
  header .logo {
    padding: 0 0 0 6.02vw;
    width: 18.07vw;
  }
  header .gnav li {
    font-size: 1.2vw;
  }
  header .head_sns {
    margin-right: 7.23vw;
  }
  header .head_sns li {
    width: 3.01vw;
    margin: 0 0.6vw;
  }
}
@media screen and (max-width: 750px) {
  header {
    height: 18.67vw;
  }
  header .logo {
    padding: 0 0 0 5.33vw;
    width: 64vw;
  }
  header .gnav {
    display: none;
  }
  header .head_sns {
    display: none;
  }
}

.detail header {
  border-bottom: 1px solid #003c87;
}

.side_recruit {
  position: fixed;
  right: 0;
  top: 100px;
  width: 100px;
  z-index: 37;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.side_recruit:hover {
  opacity: 0.5;
}
@media screen and (max-width: 1660px) {
  .side_recruit {
    top: 6.02vw;
    width: 6.02vw;
  }
}
@media screen and (max-width: 750px) {
  .side_recruit {
    display: none;
  }
}

#home header .gnav li:nth-of-type(1) a::before,
#about header .gnav li:nth-of-type(2) a::before,
#osakana header .gnav li:nth-of-type(3) a::before,
#protect header .gnav li:nth-of-type(4) a::before,
#contact header .gnav li:nth-of-type(6) a::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

/* sp menu */
#menu {
  position: fixed;
  width: 100px;
  height: 100px;
  background: #000;
  right: 0;
  top: 0;
  cursor: pointer;
  margin: 0px;
  z-index: 40;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
#menu::before, #menu::after,
#menu .icon {
  position: absolute;
  top: 35px;
  left: 33px;
  width: 34px;
  height: 3px;
  background: #FFF;
  text-indent: -9999px;
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#menu::after {
  content: "";
  top: 47px;
}
#menu::before {
  content: "";
  top: 59px;
}
#menu .open {
  display: block;
}
#menu .close {
  display: none;
}
#menu.on {
  background: #FFF;
}
#menu.on::before {
  -webkit-transform: translateY(0) rotate(-30deg);
  transform: translateY(-12px) rotate(-30deg);
  background-color: #000;
}
#menu.on::after {
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
#menu.on .icon {
  -webkit-transform: translateY(0) rotate(30deg);
  transform: translateY(12px) rotate(30deg);
  background-color: #000;
}
#menu.on .open {
  display: none;
}
#menu.on .close {
  display: block;
}
#menu p {
  display: none;
}
@media screen and (max-width: 1660px) {
  #menu {
    width: 6.02vw;
    height: 6.02vw;
  }
  #menu::before, #menu::after,
  #menu .icon {
    top: 2.11vw;
    left: 1.99vw;
    width: 2.05vw;
  }
  #menu::after {
    top: 2.83vw;
  }
  #menu::before {
    top: 3.55vw;
  }
  #menu.on::before {
    -webkit-transform: translateY(-0.72vw) rotate(-30deg);
            transform: translateY(-0.72vw) rotate(-30deg);
  }
  #menu.on .icon {
    -webkit-transform: translateY(0.72vw) rotate(30deg);
            transform: translateY(0.72vw) rotate(30deg);
  }
}
@media screen and (max-width: 750px) {
  #menu {
    width: 18.67vw;
    height: 18.67vw;
  }
  #menu::before, #menu::after,
  #menu .icon {
    top: 6.67vw;
    left: 4.53vw;
    width: 9.07vw;
  }
  #menu::after {
    top: 9.33vw;
  }
  #menu::before {
    top: 12vw;
  }
  #menu.on::before {
    -webkit-transform: translateY(-2.67vw) rotate(-30deg);
            transform: translateY(-2.67vw) rotate(-30deg);
  }
  #menu.on .icon {
    -webkit-transform: translateY(2.67vw) rotate(30deg);
            transform: translateY(2.67vw) rotate(30deg);
  }
}

#spnav {
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  width: 375px;
  height: 100vh;
  overflow-y: auto;
  margin: 0;
  background: #003c87;
  z-index: 38;
  text-align: center;
  -webkit-transform: translate(400px);
  transform: translate(400px);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#spnav .nav_header {
  background: #FFF;
  height: 100px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
#spnav .nav_header h2 {
  line-height: 0;
  width: 240px;
  margin: 0 0 0 20px;
}
#spnav .spnav_inner {
  text-align: left;
  width: 240px;
  padding: 33px 0 60px 40px;
}
#spnav .spnav_inner a {
  display: block;
  color: #FFF;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
#spnav .spnav_inner a:hover {
  opacity: 0.5;
}
#spnav .spnav_inner h3 {
  font-size: 16px;
}
#spnav .spnav_inner h4 {
  font-size: 18px;
  padding-top: 19px;
  margin: 19px 0 13px 0;
  border-top: 1px solid #FFF;
}
#spnav .spnav_inner ul {
  list-style: none;
}
#spnav .spnav_inner ul li {
  font-size: 16px;
}
#spnav .spnav_inner ul.spnav_list2 {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
#spnav .spnav_inner ul.spnav_list2 li {
  width: 50%;
}
#spnav .spnav_inner .copyright {
  color: #FFF;
  font-size: 11px;
  white-space: nowrap;
}
#spnav .snav_sns {
  position: absolute;
  top: 125px;
  right: 23px;
  list-style: none;
  width: 30px;
}
#spnav .snav_sns li {
  width: 30px;
  margin: 0 0 20px 0;
  line-height: 0;
}
#spnav .snav_sns li a {
  display: block;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
#spnav .snav_sns li a:hover {
  opacity: 0.5;
}
#spnav.view {
  opacity: 1;
  -webkit-transform: translate(0);
  transform: translate(0);
}
@media screen and (max-width: 1660px) {
  #spnav .nav_header {
    height: 6.02vw;
  }
  #spnav .snav_sns {
    top: 7.53vw;
  }
}
@media screen and (max-width: 1400px) {
  #spnav .nav_header h2 {
    width: 18.07vw;
  }
}
@media screen and (max-width: 750px) {
  #spnav {
    width: 100%;
    height: 100vh;
    -webkit-transform: 110%;
    transform: 110%;
  }
  #spnav .nav_header {
    height: 18.67vw;
  }
  #spnav .nav_header h2 {
    width: 64vw;
    margin: 0 0 0 5.33vw;
  }
  #spnav .spnav_inner {
    width: 64vw;
    padding: 8.8vw 0 16vw 10.67vw;
  }
  #spnav .spnav_inner h3 {
    font-size: 4.27vw;
  }
  #spnav .spnav_inner h4 {
    font-size: 4.8vw;
    padding-top: 5.07vw;
    margin: 5.07vw 0 3.47vw 0;
  }
  #spnav .spnav_inner ul li {
    font-size: 4.27vw;
  }
  #spnav .spnav_inner .copyright {
    font-size: 2.93vw;
  }
  #spnav .snav_sns {
    top: 33.33vw;
    right: 6.13vw;
    width: 8vw;
  }
  #spnav .snav_sns li {
    width: 8vw;
    margin: 0 0 5.33vw 0;
  }
}

.spnav2 {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  margin: 0;
  background: rgba(255, 255, 255, 0.95);
  z-index: 38;
}
.spnav2 .spnav_inner {
  position: relative;
}
.spnav2 .spnav_inner p {
  text-align: left;
  font-size: 20px;
  margin: 0 0 1em 0;
}
.spnav2 .spnav_inner p a {
  color: #000;
  text-decoration: none;
}
.spnav2 .spnav_inner p a:hover {
  color: #808080;
}
.spnav2 .spnav_inner .spnav_wrap {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}
.spnav2 .spnav_inner .spnav_wrap ul {
  padding-right: 2em;
  list-style: none;
  width: 15em;
}
.spnav2 .spnav_inner .spnav_wrap ul:nth-child(2) {
  padding-right: 0;
}
.spnav2 .spnav_inner .spnav_wrap ul li {
  text-align: left;
  font-size: 20px;
  margin-bottom: 1em;
}
.spnav2 .spnav_inner .spnav_wrap ul li a {
  color: #000;
  text-decoration: none;
}
.spnav2 .spnav_inner .spnav_wrap ul li a:hover {
  color: #808080;
}
@media screen and (max-width: 756px) {
  .spnav2 .spnav_inner p {
    font-size: 3.2vw;
    margin-bottom: 0.5em;
  }
  .spnav2 .spnav_inner .spnav_wrap ul {
    width: 28vw;
    padding-right: 0;
  }
  .spnav2 .spnav_inner .spnav_wrap ul:nth-child(2) {
    width: 35vw;
  }
  .spnav2 .spnav_inner .spnav_wrap ul li {
    font-size: 3.2vw;
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 540px) {
  .spnav2 .spnav_inner p {
    font-size: 3.7vw;
  }
  .spnav2 .spnav_inner .spnav_wrap ul {
    width: 28vw;
    padding-right: 0;
  }
  .spnav2 .spnav_inner .spnav_wrap ul:nth-child(2) {
    width: 35vw;
  }
  .spnav2 .spnav_inner .spnav_wrap ul li {
    font-size: 3.7vw;
  }
}

.side_nav {
  position: absolute;
  top: 50%;
  left: auto;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: fixed;
  right: 25px;
  z-index: 38;
}
.side_nav ul {
  list-style: none;
}
.side_nav ul li {
  position: relative;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  line-height: 19px;
}
.side_nav ul li:nth-child(1) {
  padding: 30px 0 20px 0;
  background: url(/common/images/share/icon_sideshop.svg) no-repeat top center;
  background-size: 19px;
}
.side_nav ul li:nth-child(1)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 13px;
  height: 1px;
  border-bottom: 1px solid #000;
}
.side_nav ul li:nth-child(2) {
  padding: 20px 0 28px 0;
  background: url(/common/images/share/icon_sidemail.svg) no-repeat bottom 3px center;
  background-size: 19px;
}
.side_nav ul li a {
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.side_nav ul li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1330px) {
  .side_nav {
    right: 10px;
  }
}
@media screen and (max-width: 756px) {
  .side_nav {
    position: fixed;
    top: auto;
    right: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    background: #FFF;
  }
  .side_nav ul {
    padding: 5vw 0;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
  }
  .side_nav ul li {
    width: 50%;
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
            writing-mode: horizontal-tb;
    text-align: right;
    font-size: 3.9vw;
  }
  .side_nav ul li:nth-child(1) {
    width: 55%;
    text-align: right;
    padding: 0;
    background: none;
  }
  .side_nav ul li:nth-child(1) a {
    padding: 0 1.5em 0 1.3em;
    background: url(/common/images/share/icon_sideshop.svg) no-repeat center left;
    background-size: 1em;
  }
  .side_nav ul li:nth-child(1)::after {
    content: "";
    position: absolute;
    left: auto;
    bottom: 2px;
    right: 0;
    width: 1px;
    height: 4vw;
    border-bottom: none;
    border-right: 1px solid #000;
  }
  .side_nav ul li:nth-child(2) {
    width: 45%;
    text-align: left;
    padding: 0;
    background: none;
  }
  .side_nav ul li:nth-child(2) a {
    padding: 0 1.5em 0 1.5em;
    background: url(/common/images/share/icon_sidemail.svg) no-repeat top 0.5em right;
    background-size: 1.1em;
  }
}

footer h2 {
  width: 440px;
  margin: 0 auto;
  padding: 100px 0 50px 0;
}
@media screen and (max-width: 1660px) {
  footer h2 {
    width: 26.51vw;
    padding: 6.02vw 0 3.01vw 0;
  }
}
@media screen and (max-width: 750px) {
  footer h2 {
    width: 64vw;
    padding: 13.33vw 0 6.67vw 0;
  }
}

.footer_wrap {
  position: relative;
  padding: 100px 0;
  background: url(/common/images/share/fotoer_back.webp) no-repeat center center;
  background-size: cover;
}
.footer_wrap .footer_inner {
  width: 1400px;
  margin: 0 auto;
}
@media screen and (max-width: 1660px) {
  .footer_wrap {
    padding: 6.02vw 0;
  }
  .footer_wrap .footer_inner {
    width: 84.34vw;
  }
}
@media screen and (max-width: 750px) {
  .footer_wrap {
    padding: 13.33vw 0;
  }
  .footer_wrap .footer_inner {
    width: 86%;
  }
}

.footer_inner {
  position: relative;
  width: 1400px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
}
.footer_inner div {
  width: 24%;
  margin: 0;
  padding: 0 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-left: 1px solid #FFF;
}
.footer_inner div:first-of-type {
  width: 26%;
  padding-left: 3.5em;
}
.footer_inner div:last-of-type {
  width: 26%;
  padding-right: 3.5em;
  border-right: 1px solid #FFF;
}
.footer_inner div time,
.footer_inner div .tel,
.footer_inner div address {
  color: #FFF;
  font-style: normal;
}
.footer_inner div time a,
.footer_inner div .tel a,
.footer_inner div address a {
  display: block;
  color: #FFF;
  text-decoration: none;
}
.footer_inner div h3 {
  font-size: 20px;
  margin-bottom: 1.6em;
  color: #FFF;
}
.footer_inner div h3 a {
  text-decoration: none;
  color: #FFF;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_inner div h3 a:hover {
  opacity: 0.5;
}
.footer_inner div ul {
  font-size: 16px;
  list-style: none;
  margin-bottom: 2em;
}
.footer_inner div ul li {
  color: #FFF;
}
.footer_inner div ul li a {
  text-decoration: none;
  color: #FFF;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_inner div ul li a:hover {
  opacity: 0.5;
}
.footer_inner div ul.footer_sns {
  margin-top: 40px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.footer_inner div ul.footer_sns li {
  width: 50px;
  margin-right: 20px;
}
@media screen and (max-width: 1660px) {
  .footer_inner {
    width: 84.34vw;
  }
  .footer_inner div h3 {
    font-size: 1.2vw;
  }
  .footer_inner div ul {
    font-size: 0.96vw;
  }
  .footer_inner div ul li {
    font-size: 0.96vw;
  }
  .footer_inner div ul.footer_sns {
    margin-top: 2.41vw;
  }
  .footer_inner div ul.footer_sns li {
    width: 3.01vw;
    margin-right: 1.2vw;
  }
}
@media screen and (max-width: 750px) {
  .footer_inner {
    width: 100%;
  }
  .footer_inner div {
    width: 100%;
    border: none;
    padding: 0;
  }
  .footer_inner div:first-of-type {
    width: 100%;
    padding-left: 0;
  }
  .footer_inner div:nth-child(2), .footer_inner div:nth-child(3), .footer_inner div:last-of-type {
    display: none;
  }
  .footer_inner div h3 {
    font-size: 5.33vw;
    text-align: center;
    margin-bottom: 1em;
  }
  .footer_inner div p,
  .footer_inner div time,
  .footer_inner div .tel,
  .footer_inner div address {
    display: block;
    font-size: 3.47vw;
    text-align: center;
  }
  .footer_inner div ul {
    font-size: 4.27vw;
  }
  .footer_inner div ul.footer_sns {
    margin-top: 10.67vw;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
  }
  .footer_inner div ul.footer_sns li {
    width: 8vw;
    margin: 0 2.67vw;
  }
}

main {
  overflow: hidden;
  z-index: 1;
  margin-top: 100px;
}
@media screen and (max-width: 1660px) {
  main {
    margin-top: 6.02vw;
  }
}
@media screen and (max-width: 750px) {
  main {
    margin-top: 18.67vw;
  }
}

.home_kv {
  position: relative;
  height: auto;
  width: 100%;
}
.home_kv figure {
  position: relative;
  width: 100%;
  line-height: 0;
  font-size: 0;
  z-index: 1;
}
.home_kv figure img {
  width: 100%;
}
.home_kv .home_main_logo {
  position: absolute;
  width: 400px;
  top: 50%;
  left: calc(50% - 550px);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
}
.home_kv .home_main_logo h2 {
  width: 400px;
  margin: 0 auto 42px auto;
  line-height: 0;
  font-size: 0;
}
.home_kv .home_main_logo h3 {
  width: 100%;
  line-height: 0;
  font-size: 0;
}
.home_kv aside {
  position: absolute;
  right: 8px;
  bottom: -3px;
  z-index: 2;
  width: 768px;
  line-height: 0;
  font-size: 0;
}
.home_kv aside img {
  width: 100%;
}
@media screen and (max-width: 1660px) {
  .home_kv .home_main_logo {
    width: 24.1vw;
    left: calc(50% - 33.13vw);
  }
  .home_kv .home_main_logo h2 {
    width: 24.1vw;
    margin: 0 auto 2.53vw auto;
  }
  .home_kv aside {
    width: 46.27vw;
  }
}
@media screen and (max-width: 750px) {
  .home_kv {
    height: 80vh;
  }
  .home_kv figure {
    height: 80vh;
  }
  .home_kv figure img {
    height: 80vh;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  .home_kv .home_main_logo {
    width: 50%;
    top: 10vw;
    left: 5vw;
    -webkit-transform: none;
            transform: none;
    z-index: 2;
  }
  .home_kv .home_main_logo h2 {
    width: 100%;
    margin: 0 auto 5vw auto;
  }
  .home_kv .home_main_logo h3 {
    width: 100%;
    line-height: 0;
    font-size: 0;
  }
  .home_kv aside {
    right: 2vw;
    bottom: -3px;
    width: 85vw;
  }
}

@-webkit-keyframes bg_anim {
  0% {
    background-position: 0% 0%;
  }
  15% {
    background-position: 15% 25%;
  }
  30% {
    background-position: 50% 50%;
  }
  50% {
    background-position: 100% 75%;
  }
  70% {
    background-position: 65% 50%;
  }
  85% {
    background-position: 25% 25%;
  }
  100% {
    background-position: 0% 0%;
  }
}

@keyframes bg_anim {
  0% {
    background-position: 0% 0%;
  }
  15% {
    background-position: 15% 25%;
  }
  30% {
    background-position: 50% 50%;
  }
  50% {
    background-position: 100% 75%;
  }
  70% {
    background-position: 65% 50%;
  }
  85% {
    background-position: 25% 25%;
  }
  100% {
    background-position: 0% 0%;
  }
}
.back_nami {
  background: #9ae9ff;
}

.home_copy {
  padding-bottom: 100px;
}
@media screen and (max-width: 1660px) {
  .home_copy {
    padding-bottom: 6.02vw;
  }
}
@media screen and (max-width: 750px) {
  .home_copy {
    padding-bottom: 13.33vw;
  }
}

.home_copy_text {
  padding: 200px 0 200px 0;
  background: url(/common/images/home/home_copytext.svg) no-repeat center center;
  background-size: 1160px;
}
.home_copy_text h2 {
  font-size: 50px;
  margin-bottom: 1em;
  text-align: center;
  color: #003c87;
}
.home_copy_text p {
  text-align: center;
  font-weight: bold;
  font-size: 22px;
  line-height: 2.36em;
}
@media screen and (max-width: 1660px) {
  .home_copy_text {
    padding: 12.05vw 0 14.46vw 0;
    background-size: 69.88vw;
  }
  .home_copy_text h2 {
    font-size: 3.01vw;
  }
  .home_copy_text p {
    font-size: 1.33vw;
  }
}
@media screen and (max-width: 750px) {
  .home_copy_text {
    padding: 16vw 0 13.33vw 0;
    background-size: 100%;
  }
  .home_copy_text h2 {
    font-size: 6.4vw;
  }
  .home_copy_text p {
    font-size: 4vw;
  }
}

.home_copy_btn {
  position: relative;
  width: 1400px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}
.home_copy_btn article {
  position: relative;
  width: 48.5%;
}
.home_copy_btn article a {
  display: block;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.home_copy_btn article a:hover {
  opacity: 0.5;
}
.home_copy_btn article figure {
  position: relative;
  line-height: 0;
  font-size: 0;
  z-index: 1;
}
.home_copy_btn article figure img {
  width: 100%;
}
.home_copy_btn article .home_cbtn_text {
  position: absolute;
  width: 85%;
  left: 7.5%;
  bottom: 54px;
  z-index: 2;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.home_copy_btn article .home_cbtn_text span {
  display: block;
  font-size: 20px;
  color: #FFF;
  line-height: 1em;
  letter-spacing: 0.128em;
  width: 100%;
  margin-bottom: 15px;
}
.home_copy_btn article .home_cbtn_text h3 {
  font-size: 48px;
  color: #FFF;
  width: 100%;
  line-height: 1em;
}
.home_copy_btn article .home_cbtn_text aside {
  position: relative;
  z-index: 2;
  width: 90px;
}
@media screen and (max-width: 1660px) {
  .home_copy_btn {
    width: 84.34vw;
  }
  .home_copy_btn article .home_cbtn_text {
    bottom: 3.25vw;
  }
  .home_copy_btn article .home_cbtn_text span {
    font-size: 1.2vw;
    margin-bottom: 0.9vw;
  }
  .home_copy_btn article .home_cbtn_text h3 {
    font-size: 2.89vw;
  }
  .home_copy_btn article .home_cbtn_text aside {
    width: 5.42vw;
  }
}
@media screen and (max-width: 750px) {
  .home_copy_btn {
    width: 86%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .home_copy_btn article {
    width: 100%;
    margin-bottom: 4vw;
  }
  .home_copy_btn article .home_cbtn_text {
    bottom: 8vw;
  }
  .home_copy_btn article .home_cbtn_text span {
    font-size: 3.47vw;
    margin-bottom: 3.47vw;
  }
  .home_copy_btn article .home_cbtn_text h3 {
    font-size: 5.33vw;
  }
  .home_copy_btn article .home_cbtn_text aside {
    width: 14.67vw;
  }
}

.home_recruit {
  position: relative;
}
.home_recruit a {
  text-decoration: none;
  display: block;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.home_recruit a:hover {
  opacity: 0.5;
}
.home_recruit figure {
  line-height: 0;
  font-size: 0;
  z-index: 1;
}
.home_recruit figure img {
  width: 100%;
}
.home_recruit h2 {
  text-align: center;
  font-size: 64px;
  color: #FFF;
  letter-spacing: 0.2em;
  text-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
  width: 100%;
  position: absolute;
  top: 80px;
}
.home_recruit h3 {
  position: absolute;
  top: 210px;
  width: 100%;
  text-align: center;
  line-height: 0;
  font-size: 0;
}
.home_recruit h3 img {
  width: 1400px;
  margin: 0 auto;
}
.home_recruit p {
  position: absolute;
  left: calc(50% - 700px);
  width: 297px;
  bottom: 50px;
  line-height: 0;
  font-size: 0;
  margin: 0;
}
.home_recruit span {
  position: absolute;
  bottom: 50px;
  left: calc(50% - 150px);
  display: block;
  width: 300px;
  z-index: 2;
}
@media screen and (max-width: 1660px) {
  .home_recruit h2 {
    font-size: 3.86vw;
    top: 4.82vw;
  }
  .home_recruit h3 {
    top: 12.65vw;
  }
  .home_recruit h3 img {
    width: 84.34vw;
  }
  .home_recruit p {
    left: calc(50% - 42.17vw);
    width: 17.89vw;
    bottom: 3.01vw;
  }
  .home_recruit span {
    bottom: 3.01vw;
    left: calc(50% - 9.04vw);
    width: 18.07vw;
  }
}
@media screen and (max-width: 750px) {
  .home_recruit {
    width: 100vw;
    height: 100vw;
  }
  .home_recruit figure {
    width: 100vw;
    height: 100vw;
  }
  .home_recruit figure img {
    width: 100vw;
    height: 100vw;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 68% center;
       object-position: 68% center;
  }
  .home_recruit h2 {
    font-size: 6.4vw;
    top: 5vw;
  }
  .home_recruit h3 {
    top: 18vw;
  }
  .home_recruit h3 img {
    width: 90%;
  }
  .home_recruit p {
    left: 5vw;
    width: 25vw;
    bottom: 2vw;
  }
  .home_recruit span {
    bottom: 3vw;
    left: calc(50% - 15vw);
    width: 30vw;
  }
}

.alphabe_title {
  text-align: center;
  font-weight: bold;
  font-size: 60px;
  line-height: 1em;
  margin-bottom: 35px;
  color: #003c87;
}
.alphabe_title a {
  text-decoration: none;
  color: #003c87;
}
@media screen and (max-width: 1660px) {
  .alphabe_title {
    font-size: 3.61vw;
    margin-bottom: 2.11vw;
  }
}
@media screen and (max-width: 750px) {
  .alphabe_title {
    font-size: 6.4vw;
    margin-bottom: 3vw;
  }
}

.japanese_title {
  font-size: 26px;
  line-height: 1em;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.5em;
  margin-bottom: 78px;
}
.japanese_title.nols {
  letter-spacing: 0.1em;
}
.japanese_title span {
  display: inline-block;
  padding: 0 1em 0 1.5em;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
}
.japanese_title a {
  text-decoration: none;
}
@media screen and (max-width: 1660px) {
  .japanese_title {
    font-size: 1.57vw;
    margin-bottom: 4.7vw;
  }
}
@media screen and (max-width: 750px) {
  .japanese_title {
    letter-spacing: 0.1em;
    font-size: 4.8vw;
    margin-bottom: 9.33vw;
  }
  .japanese_title span {
    padding: 0 0.5em 0 0.6em;
  }
}

.calendar_promotion,
.home_news_wrap {
  width: 1400px;
  padding: 150px 0 0 0;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.calendar_promotion .calendar_wrap,
.calendar_promotion .promotion_wrap,
.calendar_promotion .home_news,
.home_news_wrap .calendar_wrap,
.home_news_wrap .promotion_wrap,
.home_news_wrap .home_news {
  position: relative;
  width: 48.5%;
  padding-bottom: 100px;
  text-align: center;
}
@media screen and (max-width: 1660px) {
  .calendar_promotion,
  .home_news_wrap {
    width: 84.34vw;
    padding: 9.04vw 0 0 0;
  }
  .calendar_promotion .calendar_wrap,
  .calendar_promotion .promotion_wrap,
  .calendar_promotion .home_news,
  .home_news_wrap .calendar_wrap,
  .home_news_wrap .promotion_wrap,
  .home_news_wrap .home_news {
    padding-bottom: 7.23vw;
  }
}
@media screen and (max-width: 750px) {
  .calendar_promotion,
  .home_news_wrap {
    width: 86%;
    padding: 13.33vw 0 0 0;
  }
  .calendar_promotion .calendar_wrap,
  .calendar_promotion .promotion_wrap,
  .calendar_promotion .home_news,
  .home_news_wrap .calendar_wrap,
  .home_news_wrap .promotion_wrap,
  .home_news_wrap .home_news {
    width: 100%;
    padding-bottom: 13.33vw;
  }
}

.news_topics {
  position: relative;
  text-align: left;
}
.news_topics article {
  margin-bottom: 40px;
}
.news_topics article:last-of-type {
  margin-bottom: 20px;
}
.news_topics article a {
  display: block;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.news_topics article a:hover {
  opacity: 0.5;
}
.news_topics article a time {
  display: block;
  width: 8em;
  height: 48px;
  background: #003c87;
  color: #FFF;
  text-align: center;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.news_topics article a h4 {
  position: relative;
  width: calc(100% - 9em);
  font-size: 16px;
  line-height: 2em;
}
.news_topics article a h4::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  bottom: -20px;
  border-bottom: 1px solid #c8c8c8;
}
@media screen and (max-width: 1660px) {
  .news_topics article {
    margin-bottom: 2.41vw;
  }
  .news_topics article:last-of-type {
    margin-bottom: 1.2vw;
  }
  .news_topics article a time {
    height: 2.89vw;
  }
  .news_topics article a h4 {
    font-size: 0.96vw;
  }
  .news_topics article a h4::after {
    bottom: -1.2vw;
  }
}
@media screen and (max-width: 750px) {
  .news_topics article {
    margin-bottom: 8vw;
  }
  .news_topics article:last-of-type {
    margin-bottom: 0;
  }
  .news_topics article a {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .news_topics article a time {
    height: auto;
    width: 100%;
    margin-bottom: 4vw;
    font-size: 3.47vw;
  }
  .news_topics article a h4 {
    width: 100%;
    font-size: 3.73vw;
    line-height: 1.5em;
  }
  .news_topics article a h4::after {
    display: none;
  }
}

.column_list {
  position: relative;
  text-align: left;
}
.column_list article {
  position: relative;
  margin-bottom: 40px;
}
.column_list article:last-child {
  margin-bottom: 0;
}
.column_list article:last-child::after {
  display: none;
}
.column_list article::after {
  content: "";
  position: absolute;
  width: 75%;
  right: 0;
  bottom: -20px;
  border-bottom: 1px solid #c8c8c8;
}
.column_list article a {
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}
.column_list article a:hover {
  opacity: 0.5;
}
.column_list article a figure {
  width: 22%;
  line-height: 0;
  font-size: 0;
}
.column_list article a div {
  width: 75%;
}
.column_list article a div time {
  font-size: 16px;
  margin-bottom: 0.3em;
  color: #787878;
  font-weight: bold;
  display: block;
}
.column_list article a div h4 {
  position: relative;
  line-height: 2em;
  font-size: 16px;
}
@media screen and (max-width: 1660px) {
  .column_list article {
    margin-bottom: 2.41vw;
  }
  .column_list article::after {
    bottom: -1.2vw;
  }
  .column_list article a div time {
    font-size: 0.96vw;
  }
  .column_list article a div h4 {
    font-size: 0.96vw;
  }
}
@media screen and (max-width: 750px) {
  .column_list article {
    margin-bottom: 10.67vw;
  }
  .column_list article::after {
    bottom: -5.33vw;
  }
  .column_list article a div time {
    font-size: 4.27vw;
  }
  .column_list article a div h4 {
    font-size: 4.27vw;
  }
}

.news_list_btn {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  font-weight: bold;
  text-align: center;
  width: 100%;
  font-size: 22px;
  line-height: 1em;
  letter-spacing: 0.15em;
}
.news_list_btn a {
  position: relative;
  display: block;
  text-decoration: none;
  border: 2px solid #003c87;
  border-radius: 2em;
  padding: 15px 0;
  color: #003c87;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.news_list_btn a::after {
  position: absolute;
  right: 38px;
  top: calc(50% + 4px);
  content: "";
  width: 100px;
  height: 8px;
  border-bottom: 2px solid #003c87;
  border-right: 2px solid #003c87;
  /*傾きを調節*/
  -webkit-transform: skew(45deg);
          transform: skew(45deg);
  /*下線矢印をテキストに合わせてうまい具合にはめる*/
  margin: -10px 0 0 -25px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.news_list_btn a:hover {
  background: #003c87;
  color: #FFF;
}
.news_list_btn a:hover::after {
  border-bottom: 2px solid #FFF;
  border-right: 2px solid #FFF;
}
@media screen and (max-width: 1660px) {
  .news_list_btn {
    position: relative;
    left: auto;
    bottom: auto;
    margin-top: 8vw;
    font-size: 1.33vw;
  }
  .news_list_btn a {
    padding: 0.9vw 0;
  }
  .news_list_btn a::after {
    right: 2.29vw;
    top: calc(50% + 0.24vw);
    width: 6.02vw;
    height: 0.48vw;
    width: 6.02vw;
    margin: -0.6vw 0 0 -1.51vw;
  }
}
@media screen and (max-width: 750px) {
  .news_list_btn {
    font-size: 4.8vw;
  }
  .news_list_btn a {
    padding: 1.87vw 0;
  }
  .news_list_btn a::after {
    right: 4vw;
    top: calc(50% + 0.53vw);
    width: 13.33vw;
    height: 1.33vw;
    width: 13.33vw;
    margin: -1.33vw 0 0 -3.2vw;
  }
}

.calendar_wrap .wpsbc-calendars-wrapper.wpsbc-legend-position-side {
  padding-right: 0 !important;
  width: 97% !important;
  margin: 0 auto !important;
  max-width: 100% !important;
}
.calendar_wrap .wpsbc-container[data-columns] .wpsbc-calendars .wpsbc-calendar {
  width: 100% !important;
  max-width: 100% !important;
  border: none;
  border-right: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
}
.calendar_wrap .wpsbc-container[data-columns] .wpsbc-calendars .wpsbc-calendar .wpsbc-date.wpsbc-gap,
.calendar_wrap .wpsbc-container[data-columns] .wpsbc-calendars .wpsbc-calendar .wpsbc-date.wpsbc-legend-item-1 {
  border-top: 1px solid #CCC !important;
  border-left: 1px solid #CCC !important;
}
.calendar_wrap .wpsbc-container[data-columns] .wpsbc-calendars .wpsbc-calendar .wpsbc-date.wpsbc-legend-item-2 {
  border-top: 1px solid #FFF !important;
  border-left: 1px solid #CCC !important;
}
.calendar_wrap .wpsbc-container[data-columns] .wpsbc-calendars .wpsbc-calendar tr:first-child .wpsbc-date.wpsbc-legend-item-2 {
  border-top: 1px solid #CCC !important;
}
.calendar_wrap .wpsbc-legend {
  display: none !important;
}
.calendar_wrap .wpsbc-container .wpsbc-calendars .wpsbc-calendar-wrapper {
  border: none;
  padding: 0;
}
.calendar_wrap .wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr td .wpsbc-date.wpsbc-gap {
  background: none;
}
.calendar_wrap .wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-1 div:first-of-type {
  background: none;
}
.calendar_wrap .wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-2 div:first-of-type {
  background-color: #fedde6;
  border-top: none;
}
.calendar_wrap .wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr td .wpsbc-date-inner {
  line-height: 5em !important;
  height: 5em !important;
}
.calendar_wrap .wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr td .wpsbc-date-inner .wpsbc-date-number {
  top: 1em;
  right: 1em;
  left: auto;
  height: auto;
  text-align: right;
  line-height: 2em;
}
.calendar_wrap .wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr td, .calendar_wrap .wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr th {
  padding: 0 !important;
  margin: 0 !important;
}
.calendar_wrap .wpsbc-container .wpsbc-calendars .wpsbc-calendar table thead tr th {
  padding: 0.5em 0 !important;
  height: auto !important;
  font-size: 16px;
  border-left: 1px solid #CCC !important;
}
.calendar_wrap .wpsbc-container[data-columns] .wpsbc-calendars .wpsbc-calendar {
  margin: 0;
}
.calendar_wrap .wpsbc-container[data-columns] .wpsbc-calendars {
  margin: 0;
}
.calendar_wrap .calendar_rei {
  position: relative;
  padding-left: 38px;
  text-align: left;
  margin-top: 15px;
}
.calendar_wrap .calendar_rei::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: inline-block;
  width: 30px;
  height: 26px;
  background-color: #fedde6;
  border: 1px solid #CCC;
}
.calendar_wrap .wpsbc-prev,
.calendar_wrap .wpsbc-next {
  display: none !important;
}
.calendar_wrap .wpsbc-calendar-header-navigation {
  padding: 0 !important;
}

.detail main {
  padding-top: 60px;
}
@media screen and (max-width: 1660px) {
  .detail main {
    padding-top: 3.61vw;
  }
}
@media screen and (max-width: 750px) {
  .detail main {
    padding-top: 13.33vw;
  }
}

.page_title {
  position: relative;
  padding: 40px 0 0 0;
}
.page_title.mid_title {
  margin: 160px 0 150px 0;
}
.page_title figure {
  line-height: 0;
  font-size: 0;
  width: calc(50% + 500px);
  margin: 0 0 0 auto;
}
.page_title h2,
.page_title h1 {
  position: absolute;
  display: block;
  top: 0;
  left: calc(50% - 600px);
  font-size: 43px;
  background: #003c87;
  color: #FFF;
  letter-spacing: 0.2em;
  line-height: 1em;
  z-index: 3;
}
.page_title h2::before,
.page_title h1::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  border-bottom: 4px solid #FFF;
  right: -4px;
  bottom: -4px;
}
.page_title h2::after,
.page_title h1::after {
  position: absolute;
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  border-right: 4px solid #FFF;
  right: -4px;
  bottom: -4px;
}
.page_title h2 span,
.page_title h1 span {
  display: block;
  padding: 0.5em 1.5em 0.5em 1.5em;
  z-index: 3;
}
.page_title h2 span::before,
.page_title h1 span::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  border-bottom: 4px solid #003c87;
  right: -8px;
  bottom: -8px;
}
.page_title h2 span::after,
.page_title h1 span::after {
  position: absolute;
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  border-right: 4px solid #003c87;
  right: -8px;
  bottom: -8px;
}
@media screen and (max-width: 1660px) {
  .page_title {
    padding: 2.41vw 0 0 0;
  }
  .page_title.mid_title {
    margin: 9.64vw 0 9.04vw 0;
  }
  .page_title figure {
    width: calc(50% + 30.12vw);
  }
  .page_title h2,
  .page_title h1 {
    left: calc(50% - 36.14vw);
    font-size: 2.59vw;
  }
}
@media screen and (max-width: 750px) {
  .page_title {
    padding: 5.33vw 0 0 0;
  }
  .page_title.mid_title {
    margin: 26.67vw 0 26.67vw 0;
  }
  .page_title figure {
    width: 100%;
    height: 100vw;
  }
  .page_title figure img {
    width: 100%;
    height: 100vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .page_title h2,
  .page_title h1 {
    left: 0;
    font-size: 5.33vw;
  }
}

.side_title {
  position: absolute;
  left: calc(50% - 747px);
  top: 160px;
  width: 97px;
}
.side_title.inner {
  top: 0;
}
@media screen and (max-width: 1660px) {
  .side_title {
    left: calc(50% - 45vw);
    top: 9.64vw;
    width: 5.84vw;
  }
  .side_title.inner {
    top: 0;
  }
}
@media screen and (max-width: 750px) {
  .side_title {
    display: none;
  }
}

.detail_back1_base {
  position: relative;
  padding: 150px 0;
  background: url(/common/images/share/contents_back1.webp) center top;
  background-size: 1600px;
}
@media screen and (max-width: 1660px) {
  .detail_back1_base {
    padding: 9.04vw 0;
    background-size: 96.39vw;
  }
}
@media screen and (max-width: 750px) {
  .detail_back1_base {
    padding: 18.67vw 0;
    background-size: 133.33vw;
  }
}

.news_list_wrap {
  width: 680px;
  margin: 0 auto;
}
@media screen and (max-width: 1160px) {
  .news_list_wrap {
    width: 58.62vw;
  }
}
@media screen and (max-width: 750px) {
  .news_list_wrap {
    width: 86%;
  }
}

.page_navigation {
  text-align: center;
}
.page_navigation .page_navigation_inner {
  padding: 50px 0 50px 0;
  width: 480px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.page_navigation ul {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.page_navigation ul li {
  list-style: none;
}
.page_navigation ul li.listbtn a {
  width: auto;
  padding-left: 1em;
  padding-right: 1em;
}
.page_navigation span,
.page_navigation a {
  display: block;
  width: 60px;
  height: 60px;
  margin: 0;
  font-size: 22px;
  color: #003c87;
  text-decoration: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.page_navigation span {
  background: rgba(0, 60, 135, 0.1);
}
.page_navigation a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page_navigation a:hover {
  background: #003c87;
  color: #FFF;
}
@media screen and (max-width: 1660px) {
  .page_navigation .page_navigation_inner {
    margin-top: 12vw;
    padding: 3.01vw 0 3.01vw 0;
    width: 28.92vw;
  }
  .page_navigation span,
  .page_navigation a {
    width: 3.61vw;
    height: 3.61vw;
    font-size: 1.33vw;
  }
}
@media screen and (max-width: 750px) {
  .page_navigation .page_navigation_inner {
    padding: 5.33vw 0 5.33vw 0;
    width: 86%;
  }
  .page_navigation span,
  .page_navigation a {
    width: 8vw;
    height: 8vw;
    font-size: 3.73vw;
  }
}

.news_detail {
  position: relative;
  width: 900px;
  margin: 0 auto;
}
@media screen and (max-width: 1660px) {
  .news_detail {
    width: 66.27vw;
  }
}
@media screen and (max-width: 750px) {
  .news_detail {
    width: 86%;
  }
}

.entry_title {
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 60px;
  border-bottom: 1px solid #c8c8c8;
}
.entry_title time {
  display: block;
  width: 150px;
  height: 48px;
  margin-bottom: 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #003c87;
  color: #FFF;
  text-align: center;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.entry_title h2 {
  font-size: 20px;
  line-height: 2em;
}
@media screen and (max-width: 1660px) {
  .entry_title {
    padding-bottom: 0.6vw;
    margin-bottom: 3.61vw;
  }
  .entry_title time {
    width: 9.04vw;
    height: 2.89vw;
    margin-bottom: 0.9vw;
  }
  .entry_title h2 {
    font-size: 1.2vw;
  }
}
@media screen and (max-width: 750px) {
  .entry_title {
    padding-bottom: 2.67vw;
    margin-bottom: 16vw;
  }
  .entry_title time {
    width: 8em;
    height: 2.5em;
    margin-bottom: 4vw;
  }
  .entry_title h2 {
    font-size: 4.8vw;
    line-height: 1.5em;
  }
}

.entry_detail {
  padding-bottom: 95px;
}
.entry_detail figure {
  margin-bottom: 2em;
}
.entry_detail p {
  line-height: 2em;
}
.entry_detail h2 {
  font-size: 24px;
  line-height: 1.5em;
  color: #003c87;
  border-bottom: 1px solid #003c87;
  padding-bottom: 0.3em;
  margin-bottom: 1em;
}
.entry_detail h3 {
  font-size: 21px;
  line-height: 1.5em;
  padding-left: 0.7em;
  border-left: 5px solid #003c87;
  margin-bottom: 1em;
}
.entry_detail h4 {
  font-size: 18px;
  color: #003c87;
  margin-bottom: 1em;
}
.entry_detail h5 {
  font-size: 16px;
  color: #003c87;
  margin-bottom: 1em;
}
@media screen and (max-width: 1660px) {
  .entry_detail {
    padding-bottom: 5.72vw;
  }
  .entry_detail h2 {
    font-size: 1.45vw;
  }
  .entry_detail h3 {
    font-size: 1.27vw;
  }
  .entry_detail h4 {
    font-size: 1.08vw;
  }
  .entry_detail h5 {
    font-size: 0.96vw;
  }
}
@media screen and (max-width: 750px) {
  .entry_detail {
    padding-bottom: 18.67vw;
  }
  .entry_detail h2 {
    font-size: 5.6vw;
  }
  .entry_detail h3 {
    font-size: 4.8vw;
  }
  .entry_detail h4 {
    font-size: 4.27vw;
  }
  .entry_detail h5 {
    font-size: 3.73vw;
  }
}

.about_table1 {
  width: 100%;
  margin-bottom: 250px;
}
.about_table1 th,
.about_table1 td {
  font-size: 18px;
  padding: 1.16em 0.86em;
  line-height: 1.55em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: left;
}
.about_table1 th p,
.about_table1 td p {
  font-size: 18px;
}
.about_table1 th p:last-of-type,
.about_table1 td p:last-of-type {
  margin-bottom: 0;
}
.about_table1 th strong,
.about_table1 td strong {
  color: #003c87;
}
.about_table1 th {
  background: #003c87;
  color: #FFF;
  font-weight: normal;
  width: 24.8%;
  border-bottom: 1px solid #FFF;
}
.about_table1 td {
  background: #FFF;
  padding: 1.16em 2.2em;
  width: 75.2%;
  border-bottom: 1px solid #c8c8c8;
}
.about_table1 td strong {
  color: #003c87;
}
.about_table1 tr:last-of-type td,
.about_table1 tr:last-of-type th {
  border-bottom: none;
}
@media screen and (max-width: 1660px) {
  .about_table1 {
    margin-bottom: 15.06vw;
  }
  .about_table1 th,
  .about_table1 td {
    font-size: 1.08vw;
  }
  .about_table1 th p,
  .about_table1 td p {
    font-size: 1.08vw;
  }
}
@media screen and (max-width: 750px) {
  .about_table1 {
    margin-bottom: 26.67vw;
  }
  .about_table1 th,
  .about_table1 td {
    font-size: 3.73vw;
  }
  .about_table1 th p,
  .about_table1 td p {
    font-size: 3.73vw;
  }
  .about_table1 th {
    width: 8em;
  }
  .about_table1 td {
    padding: 0.5em 1em;
    width: calc(100% - 8em);
  }
}

@media screen and (max-width: 750px) {
  #profile .about_table1 th {
    width: 5em;
  }
  #profile .about_table1 td {
    width: calc(100% - 5em);
  }
}

@media screen and (max-width: 750px) {
  #history .about_table1 th {
    width: 7.5em;
  }
  #history .about_table1 td {
    width: calc(100% - 7.5em);
  }
  #history .about_table1.table3b th, #history .about_table1.table3a th {
    width: 2em;
    padding-left: 0.5em;
    padding-right: 0.5em;
  }
  #history .about_table1.table3b tr td:first-of-type, #history .about_table1.table3a tr td:first-of-type {
    width: 2em;
    padding-left: 0.5em;
    padding-right: 0.5em;
  }
}

.about_table1.table3a {
  margin-bottom: 65px;
}
.about_table1.table3a tr th {
  width: 14%;
}
.about_table1.table3a tr td:first-of-type {
  width: 18.2%;
  background: #4c76ab;
  color: #FFF;
  padding-left: 1.67em;
  padding-right: 0;
}
.about_table1.table3a tr td:last-of-type {
  width: 67.8%;
  padding-left: 1.22em;
  padding-right: 0;
}
@media screen and (max-width: 1660px) {
  .about_table1.table3a {
    margin-bottom: 3.92vw;
  }
}
@media screen and (max-width: 750px) {
  .about_table1.table3a {
    margin-bottom: 17.33vw;
  }
  .about_table1.table3a tr th {
    width: 2em;
  }
  .about_table1.table3a tr td:first-of-type {
    width: 2em;
    padding-left: 0.5em;
    padding-right: 0;
  }
  .about_table1.table3a tr td:last-of-type {
    width: calc(100% - 14em);
    padding-left: 0.5em;
    padding-right: 0;
  }
}

.about_table1.table3b {
  margin-bottom: 0;
}
.about_table1.table3b tr th {
  width: 10.8%;
  padding-left: 0;
  padding-right: 0;
  text-align: center;
}
.about_table1.table3b tr td:first-of-type {
  width: 15.3%;
  background: #4c76ab;
  color: #FFF;
  text-align: center;
  padding-left: 0;
  padding-right: 0;
}
.about_table1.table3b tr td:last-of-type {
  width: 74.5%;
}
@media screen and (max-width: 750px) {
  .about_table1.table3b tr th {
    width: 4em;
  }
  .about_table1.table3b tr td:first-of-type {
    width: 5.5em;
  }
  .about_table1.table3b tr td:last-of-type {
    width: calc(100% - 9.5em);
  }
}

.about_message {
  text-align: center;
  width: 900px;
  margin: 0 auto;
  padding: 150px 0;
}
.about_message p {
  font-size: 22px;
  font-weight: bold;
}
.about_message .sig {
  text-align: center;
  font-size: 36px;
  width: 5em;
  margin: 0 0 0 auto;
}
.about_message .sig p {
  font-size: 16px;
  line-height: 1em;
  margin: 0 0 17px 0;
  font-weight: bold;
}
.about_message .sig p.president {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1660px) {
  .about_message {
    width: 66.27vw;
    padding: 9.04vw 0;
  }
  .about_message p {
    font-size: 1.33vw;
  }
  .about_message .sig {
    font-size: 2.17vw;
  }
  .about_message .sig p {
    font-size: 0.96vw;
    margin: 0 0 1.02vw 0;
  }
  .about_message .sig p.president {
    font-size: 2.17vw;
  }
}
@media screen and (max-width: 750px) {
  .about_message {
    width: 86%;
    padding: 18.67vw 0;
  }
  .about_message p {
    font-size: 3.73vw;
  }
  .about_message .sig {
    font-size: 3.73vw;
    width: 8em;
  }
  .about_message .sig p {
    font-size: 3.73vw;
    margin: 0 0 2.67vw 0;
  }
  .about_message .sig p.president {
    font-size: 5.6vw;
  }
}

.about_profile {
  padding: 150px 0 100px 0;
  padding-bottom: 100px;
}
@media screen and (max-width: 1660px) {
  .about_profile {
    padding: 9.04vw 0 6.02vw 0;
    padding-bottom: 6.02vw;
  }
}
@media screen and (max-width: 750px) {
  .about_profile {
    padding: 18.67vw 0 18.67vw 0;
    padding-bottom: 18.67vw;
  }
}

.profile_wrap {
  width: 900px;
  margin: 0 auto;
}
.profile_wrap h3 {
  font-size: 26px;
  line-height: 1em;
  margin-bottom: 39px;
}
.profile_wrap h3 strong {
  color: #003c87;
}
@media screen and (max-width: 1660px) {
  .profile_wrap {
    width: 66.27vw;
  }
  .profile_wrap h3 {
    font-size: 1.57vw;
    margin-bottom: 2.35vw;
  }
}
@media screen and (max-width: 750px) {
  .profile_wrap {
    width: 86%;
  }
  .profile_wrap h3 {
    font-size: 4.8vw;
    margin-bottom: 4vw;
  }
}

.about_access {
  padding: 150px 0 100px 0;
}
@media screen and (max-width: 1660px) {
  .about_access {
    padding: 9.04vw 0 6.02vw 0;
  }
}
@media screen and (max-width: 750px) {
  .about_access {
    padding: 18.67vw 0;
  }
}

.access_wrap {
  width: 1300px;
  margin: 0 auto;
}
.access_wrap iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}
@media screen and (max-width: 1660px) {
  .access_wrap {
    width: 72.29vw;
  }
}
@media screen and (max-width: 750px) {
  .access_wrap {
    width: 86%;
  }
}

.page_title_sub {
  margin-top: 50px;
}
@media screen and (max-width: 1660px) {
  .page_title_sub {
    margin-top: 3.01vw;
  }
}
@media screen and (max-width: 750px) {
  .page_title_sub {
    margin-top: 13.33vw;
  }
}

.about_history_org {
  padding: 150px 0 100px 0;
  margin-bottom: 150px;
  background: url(/common/images/share/contents_back1.webp) center top;
  background-size: 1600px;
}
@media screen and (max-width: 1660px) {
  .about_history_org {
    padding: 9.04vw 0 6.02vw 0;
    margin-bottom: 9.04vw;
    background-size: 96.39vw;
  }
}
@media screen and (max-width: 750px) {
  .about_history_org {
    padding: 18.67vw 0;
    margin-bottom: 18.67vw;
    background-size: 133.33vw;
  }
}

.group_image {
  padding: 150px 0;
  background: url(/common/images/about/group_back.svg) center center #003c87;
}
.group_image .alphabe_title,
.group_image .japanese_title {
  color: #FFF;
}
.group_image .japanese_title span {
  border-left: 1px solid #FFF;
  border-right: 1px solid #FFF;
}
@media screen and (max-width: 1660px) {
  .group_image {
    padding: 9.04vw 0;
  }
}
@media screen and (max-width: 750px) {
  .group_image {
    padding: 18.67vw 0;
  }
}

.group_image_wrap {
  width: 1000px;
  margin: 0 auto;
}
.group_image_wrap figure {
  line-height: 0;
  font-size: 0;
}
@media screen and (max-width: 1660px) {
  .group_image_wrap {
    width: 72.29vw;
  }
}
@media screen and (max-width: 750px) {
  .group_image_wrap {
    width: 86%;
  }
}

.group_detail {
  padding: 150px 0 100px 0;
  padding-bottom: 100px;
}
@media screen and (max-width: 1660px) {
  .group_detail {
    padding: 9.04vw 0 6.02vw 0;
    padding-bottom: 6.02vw;
  }
}
@media screen and (max-width: 750px) {
  .group_detail {
    padding: 18.67vw 0 18.67vw 0;
    padding-bottom: 18.67vw;
  }
}

.group_detail_inner {
  position: relative;
  width: 900px;
  margin: 0 auto;
}
.group_detail_inner article {
  margin-bottom: 70px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.group_detail_inner article .grp_corp {
  width: 25.8%;
  padding: 1em 0.7em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #003c87;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.group_detail_inner article .grp_corp_text {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1em 2.2em;
  width: 74.2%;
  background: #FFF;
}
.group_detail_inner article h3 {
  width: 100%;
  padding-left: 87px;
  font-size: 26px;
  line-height: 50px;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
}
.group_detail_inner article h4 {
  font-size: 18px;
  font-weight: normal;
  color: #FFF;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.group_detail_inner article p {
  font-size: 18px;
  line-height: 1.55em;
}
.group_detail_inner article p:last-child {
  margin: 0;
}
.group_detail_inner article:nth-of-type(1) h3 {
  background: url(/common/images/about/icon_group1.svg) no-repeat left center;
  background-size: 70px;
}
.group_detail_inner article:nth-of-type(2) h3 {
  background: url(/common/images/about/icon_group2.svg) no-repeat left center;
  background-size: 70px;
}
.group_detail_inner article:nth-of-type(3) h3 {
  background: url(/common/images/about/icon_group3.svg) no-repeat left center;
  background-size: 70px;
}
.group_detail_inner article:nth-of-type(4) h3 {
  background: url(/common/images/about/icon_group4.svg) no-repeat left center;
  background-size: 70px;
}
.group_detail_inner article:nth-of-type(5) h3 {
  background: url(/common/images/about/icon_group5.svg) no-repeat left center;
  background-size: 70px;
}
.group_detail_inner article:nth-of-type(6) h3 {
  background: url(/common/images/about/icon_group6.svg) no-repeat left center;
  background-size: 70px;
}
.group_detail_inner article:last-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 1660px) {
  .group_detail_inner {
    width: 66.27vw;
  }
  .group_detail_inner article {
    margin-bottom: 4.22vw;
  }
  .group_detail_inner article h3 {
    padding-left: 5.24vw;
    font-size: 1.57vw;
    line-height: 3.01vw;
    margin-bottom: 1.81vw;
  }
  .group_detail_inner article h4 {
    font-size: 1.08vw;
  }
  .group_detail_inner article p {
    font-size: 1.08vw;
  }
  .group_detail_inner article:nth-of-type(1) h3 {
    background-size: 4.22vw;
  }
  .group_detail_inner article:nth-of-type(2) h3 {
    background-size: 4.22vw;
  }
  .group_detail_inner article:nth-of-type(3) h3 {
    background-size: 4.22vw;
  }
  .group_detail_inner article:nth-of-type(4) h3 {
    background-size: 4.22vw;
  }
  .group_detail_inner article:nth-of-type(5) h3 {
    background-size: 4.22vw;
  }
  .group_detail_inner article:nth-of-type(6) h3 {
    background-size: 4.22vw;
  }
  .group_detail_inner article:last-of-type {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 750px) {
  .group_detail_inner {
    width: 86%;
  }
  .group_detail_inner article .grp_corp {
    width: 100%;
    padding: 0.5em 0.7em;
  }
  .group_detail_inner article .grp_corp_text {
    padding: 0.5em 0.7em;
    width: 100%;
  }
  .group_detail_inner article {
    margin-bottom: 10.67vw;
  }
  .group_detail_inner article h3 {
    padding-left: 10.67vw;
    font-size: 4.8vw;
    line-height: 6.67vw;
    margin-bottom: 2.67vw;
  }
  .group_detail_inner article h4 {
    font-size: 4.27vw;
  }
  .group_detail_inner article p {
    font-size: 3.73vw;
  }
  .group_detail_inner article:nth-of-type(1) h3 {
    background-size: 10.67vw;
  }
  .group_detail_inner article:nth-of-type(2) h3 {
    background-size: 10.67vw;
  }
  .group_detail_inner article:nth-of-type(3) h3 {
    background-size: 10.67vw;
  }
  .group_detail_inner article:nth-of-type(4) h3 {
    background-size: 10.67vw;
  }
  .group_detail_inner article:nth-of-type(5) h3 {
    background-size: 10.67vw;
  }
  .group_detail_inner article:nth-of-type(6) h3 {
    background-size: 10.67vw;
  }
  .group_detail_inner article:last-of-type {
    margin-bottom: 0;
  }
}

.osakanabox_detail {
  position: relative;
  width: 1275px;
  margin: 0 auto;
}
.osakanabox_detail aside {
  position: absolute;
  line-height: 0;
  font-size: 0;
  z-index: 1;
}
.osakanabox_detail aside.back_image1 {
  right: 62px;
  top: -93px;
  width: 356px;
}
.osakanabox_detail aside:nth-of-type(2) {
  left: 237px;
  top: 497px;
  width: 343px;
}
.osakanabox_detail aside:nth-of-type(3) {
  right: 58px;
  bottom: 505px;
  width: 300px;
}
.osakanabox_detail aside:nth-of-type(4) {
  left: -76px;
  bottom: 0;
  width: 368px;
}
.osakanabox_detail article {
  position: relative;
  z-index: 2;
  margin: 0 0 60px 0;
}
.osakanabox_detail article a {
  display: block;
  text-decoration: none;
}
.osakanabox_detail article a figure img {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.osakanabox_detail article a:hover figure img {
  opacity: 0.5;
}
.osakanabox_detail article a:hover div .detail_btn {
  background: #003c87;
  color: #FFF;
  -webkit-box-shadow: 0 0 10px 3px rgb(255, 255, 255);
          box-shadow: 0 0 10px 3px rgb(255, 255, 255);
}
.osakanabox_detail article a:hover div .detail_btn::after {
  border-bottom: 2px solid #FFF;
  border-right: 2px solid #FFF;
}
.osakanabox_detail article:last-of-type {
  margin: 0;
}
.osakanabox_detail article .osakanabox_detail_text {
  position: absolute;
  left: 0;
  top: 0;
  width: 48.6%;
  padding: 100px;
  border-radius: 50px;
  -webkit-box-shadow: 7px 7px 11px 0px rgba(0, 0, 0, 0.3);
          box-shadow: 7px 7px 11px 0px rgba(0, 0, 0, 0.3);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #FFF;
  z-index: 1;
}
.osakanabox_detail article .osakanabox_detail_text h4 {
  font-size: 55px;
  line-height: 1em;
  padding-bottom: 25px;
  color: #003c87;
  border-bottom: 8px solid #003c87;
  margin-bottom: 25px;
}
.osakanabox_detail article .osakanabox_detail_text p {
  font-size: 26px;
  line-height: 1.77em;
  margin: 0;
  font-weight: bold;
}
.osakanabox_detail article figure {
  position: relative;
  width: 720px;
  padding-top: 100px;
  margin: 0 0 0 auto;
}
.osakanabox_detail article figure div {
  width: 100%;
  text-align: center;
  margin-top: 50px;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.osakanabox_detail article figure div h4 {
  color: #FFF;
  font-size: 60px;
  margin-bottom: 30px;
  line-height: 1em;
}
.osakanabox_detail article figure div .detail_btn {
  margin: 0;
  font-size: 22px;
  line-height: 1em;
  position: relative;
  width: 360px;
  padding: 18px 0;
  border-radius: 2em;
  font-weight: bold;
  color: #003c87;
  display: inline-block;
  text-decoration: none;
  background: #FFF;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.osakanabox_detail article figure div .detail_btn::after {
  position: absolute;
  right: 38px;
  top: calc(50% + 4px);
  content: "";
  width: 60px;
  height: 8px;
  border-bottom: 2px solid #003c87;
  border-right: 2px solid #003c87;
  /*傾きを調節*/
  -webkit-transform: skew(45deg);
          transform: skew(45deg);
  /*下線矢印をテキストに合わせてうまい具合にはめる*/
  margin: -10px 0 0 -25px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.osakanabox_detail article figure img {
  max-width: inherit;
  width: 720px;
  border-radius: 50px;
}
.osakanabox_detail article:nth-of-type(odd) .osakanabox_detail_text:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -20px;
  border: 20px solid transparent;
  border-left: 40px solid #FFF;
}
.osakanabox_detail article:nth-of-type(even) .osakanabox_detail_text {
  left: auto;
  right: 0;
}
.osakanabox_detail article:nth-of-type(even) .osakanabox_detail_text:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 100%;
  margin-top: -20px;
  border: 20px solid transparent;
  border-right: 40px solid #FFF;
}
.osakanabox_detail article:nth-of-type(even) figure {
  margin: 0 auto 0 0;
}
@media screen and (max-width: 1660px) {
  .osakanabox_detail {
    width: 76.81vw;
  }
  .osakanabox_detail aside.back_image1 {
    right: 3.73vw;
    top: -5.6vw;
    width: 21.45vw;
  }
  .osakanabox_detail aside:nth-of-type(2) {
    left: 14.28vw;
    top: 29.94vw;
    width: 20.66vw;
  }
  .osakanabox_detail aside:nth-of-type(3) {
    right: 3.49vw;
    bottom: 30.42vw;
    width: 18.07vw;
  }
  .osakanabox_detail aside:nth-of-type(4) {
    left: -4.58vw;
    width: 22.17vw;
  }
  .osakanabox_detail article {
    margin: 0 0 3.61vw 0;
  }
  .osakanabox_detail article a:hover div .detail_btn {
    -webkit-box-shadow: 0 0 0.6vw 0.18vw rgb(255, 255, 255);
            box-shadow: 0 0 0.6vw 0.18vw rgb(255, 255, 255);
  }
  .osakanabox_detail article .osakanabox_detail_text {
    padding: 6.02vw;
    border-radius: 3.01vw;
    -webkit-box-shadow: 0.42vw 0.42vw 0.66vw 0px rgba(0, 0, 0, 0.3);
            box-shadow: 0.42vw 0.42vw 0.66vw 0px rgba(0, 0, 0, 0.3);
  }
  .osakanabox_detail article .osakanabox_detail_text h4 {
    font-size: 3.31vw;
    padding-bottom: 1.51vw;
    border-bottom: 0.48vw solid #003c87;
    margin-bottom: 1.51vw;
  }
  .osakanabox_detail article .osakanabox_detail_text p {
    font-size: 1.57vw;
  }
  .osakanabox_detail article figure {
    width: 43.37vw;
    padding-top: 6.02vw;
  }
  .osakanabox_detail article figure div {
    margin-top: 3.01vw;
  }
  .osakanabox_detail article figure div h4 {
    font-size: 3.61vw;
    margin-bottom: 1.81vw;
  }
  .osakanabox_detail article figure div .detail_btn {
    font-size: 1.33vw;
    width: 21.69vw;
    padding: 1.08vw 0;
  }
  .osakanabox_detail article figure div .detail_btn::after {
    right: 2.29vw;
    top: calc(50% + 0.24vw);
    width: 3.61vw;
    height: 0.48vw;
    margin: -0.6vw 0 0 -1.51vw;
  }
  .osakanabox_detail article figure div .detail_btn:hover {
    -webkit-box-shadow: 0 0 0.6vw 0.18vw rgb(255, 255, 255);
            box-shadow: 0 0 0.6vw 0.18vw rgb(255, 255, 255);
  }
  .osakanabox_detail article figure img {
    width: 43.37vw;
    border-radius: 3.01vw;
  }
  .osakanabox_detail article:nth-of-type(odd) .osakanabox_detail_text:before {
    margin-top: -1.2vw;
    border: 1.2vw solid transparent;
    border-left: 2.41vw solid #FFF;
  }
  .osakanabox_detail article:nth-of-type(even) .osakanabox_detail_text:before {
    margin-top: -1.2vw;
    border: 1.2vw solid transparent;
    border-right: 2.41vw solid #FFF;
  }
}
@media screen and (max-width: 750px) {
  .osakanabox_detail {
    width: 86%;
  }
  .osakanabox_detail aside.back_image1 {
    right: -8vw;
    top: -15vw;
    width: 30vw;
  }
  .osakanabox_detail aside:nth-of-type(2) {
    left: -5vw;
    top: 89vw;
    width: 30vw;
  }
  .osakanabox_detail aside:nth-of-type(3) {
    right: 15.47vw;
    bottom: 134.67vw;
    width: 80vw;
  }
  .osakanabox_detail aside:nth-of-type(4) {
    left: -20.27vw;
    width: 98.13vw;
  }
  .osakanabox_detail article {
    width: 100%;
    margin: 0 0 13.33vw 0;
    display: block;
  }
  .osakanabox_detail article a:hover div .detail_btn {
    -webkit-box-shadow: 0 0 2.67vw 0.8vw rgb(255, 255, 255);
            box-shadow: 0 0 2.67vw 0.8vw rgb(255, 255, 255);
  }
  .osakanabox_detail article .osakanabox_detail_text {
    width: 100%;
    position: relative;
    left: auto;
    right: auto;
    padding: 5vw;
    border-radius: 6.67vw;
    -webkit-box-shadow: 1.87vw 1.87vw 2.93vw 0px rgba(0, 0, 0, 0.3);
            box-shadow: 1.87vw 1.87vw 2.93vw 0px rgba(0, 0, 0, 0.3);
    z-index: 2;
  }
  .osakanabox_detail article .osakanabox_detail_text h4 {
    font-size: 4.8vw;
    padding-bottom: 2.67vw;
    border-bottom: 1.07vw solid #003c87;
    margin-bottom: 2.67vw;
  }
  .osakanabox_detail article .osakanabox_detail_text p {
    font-size: 3.73vw;
  }
  .osakanabox_detail article figure {
    position: relative;
    width: 100%;
    padding-top: 0;
    margin-top: -7vw;
    z-index: 1;
  }
  .osakanabox_detail article figure div {
    margin-top: 4vw;
  }
  .osakanabox_detail article figure div .detail_btn {
    font-size: 4.27vw;
    width: 66.67vw;
    padding: 2.4vw 0;
  }
  .osakanabox_detail article figure div .detail_btn::after {
    right: 5.33vw;
    top: calc(50% + 1.07vw);
    width: 8vw;
    height: 1.07vw;
    margin: -2.13vw 0 0 -3.2vw;
  }
  .osakanabox_detail article figure div .detail_btn:hover {
    -webkit-box-shadow: 0 0 2.67vw 0.8vw rgb(255, 255, 255);
            box-shadow: 0 0 2.67vw 0.8vw rgb(255, 255, 255);
  }
  .osakanabox_detail article figure div h4 {
    font-size: 6.4vw;
    margin-bottom: 4vw;
  }
  .osakanabox_detail article figure div p {
    font-size: 4.8vw;
    width: 80%;
    padding: 2.4vw 0;
  }
  .osakanabox_detail article figure div p::after {
    right: 5.33vw;
    top: calc(50% + 1.07vw);
    width: 13.33vw;
    height: 2.13vw;
    margin: -2.67vw 0 0 -6.67vw;
  }
  .osakanabox_detail article figure div p:hover {
    -webkit-box-shadow: 0 0 2.67vw 0.8vw rgb(255, 255, 255);
            box-shadow: 0 0 2.67vw 0.8vw rgb(255, 255, 255);
  }
  .osakanabox_detail article figure img {
    width: 100%;
    border-radius: 6.67vw;
  }
  .osakanabox_detail article:nth-of-type(odd) .osakanabox_detail_text {
    position: relative;
  }
  .osakanabox_detail article:nth-of-type(odd) .osakanabox_detail_text:before {
    display: none;
  }
  .osakanabox_detail article:nth-of-type(even) .osakanabox_detail_text:before {
    display: none;
  }
  .osakanabox_detail article:nth-of-type(even) figure {
    margin: -7vw auto 0 0;
  }
}

.market_wrap article {
  position: relative;
  width: 1300px;
  margin: 0 auto 100px auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.market_wrap article.market_item1 {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.market_wrap article.market_item2 {
  margin-bottom: 150px;
}
.market_wrap article figure {
  width: 48.46%;
}
.market_wrap article figure img {
  position: relative;
  max-width: inherit;
  width: 780px;
}
.market_wrap article figure div {
  width: 100%;
}
.market_wrap article div {
  width: 48.46%;
}
.market_wrap article div h2 {
  font-size: 32px;
  line-height: 1.6em;
  margin-bottom: 2em;
  color: #003c87;
}
.market_wrap article div p {
  font-size: 20px;
  line-height: 2em;
  font-weight: bold;
}
.market_wrap article div p:last-child {
  margin-bottom: 0;
}
.market_wrap article div h3 {
  font-size: 20px;
  padding: 15px 0;
  margin-bottom: 1.9em;
  text-align: center;
  line-height: 1em;
  background: #003c87;
  color: #FFF;
}
.market_wrap article div h4 {
  border: 2px solid #003c87;
  text-align: center;
  font-size: 20px;
  border-radius: 2em;
  line-height: 1em;
  padding: 1em 0;
  margin: 0 0 1em 0;
  color: #003c87;
}
.market_wrap article div dl {
  margin: 0;
  height: 96px;
  padding: 14px;
  font-size: 20px;
  border: 2px solid #003c87;
  border-radius: 48px;
  margin-bottom: 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #FFF;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.market_wrap article div dl:last-of-type {
  margin-bottom: 0;
}
.market_wrap article div dl dt {
  border-radius: 32px;
  width: 64px;
  height: 64px;
  margin-right: 18px;
  color: #FFF;
  font-size: 40px;
  background: #003c87;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.market_wrap article div dl dd {
  font-size: 20px;
  line-height: 1.6em;
  color: #003c87;
  font-weight: bold;
  width: calc(100% - 82px);
}
.market_wrap article div figure {
  width: auto;
  text-align: center;
  margin-bottom: 60px;
}
.market_wrap article div figure:last-child {
  margin-bottom: 0;
}
.market_wrap article div figure.icon img {
  width: 100px;
  margin: 0 auto 35px auto;
  left: auto;
  right: auto;
}
.market_wrap article div figure figcaption {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  color: #003c87;
}
.market_wrap article div ol,
.market_wrap article div ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.market_wrap article div ol li,
.market_wrap article div ul li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 20px;
  line-height: 2em;
  font-weight: bold;
}
.market_wrap article div ol li strong,
.market_wrap article div ul li strong {
  color: #003c87;
}
.market_wrap article:nth-child(odd) figure img {
  left: -150px;
}
.market_wrap article:nth-child(even) figure {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.market_wrap article:nth-child(even) div {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.market_wrap article.market_item5 {
  margin-bottom: 0;
}
.market_wrap article.market_item5 figure {
  margin-bottom: 0;
}
.market_wrap article.market_item5 div p {
  margin-bottom: 3em;
}
.market_wrap article.market_item6 figure {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.market_wrap article.market_item6 figure img {
  left: auto;
  right: auto;
  width: 100%;
}
.market_wrap article.market_item6 div {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (max-width: 1660px) {
  .market_wrap article {
    width: 78.31vw;
    margin: 0 auto 6.02vw auto;
  }
  .market_wrap article.market_item2 {
    margin-bottom: 9.04vw;
  }
  .market_wrap article figure img {
    width: 46.99vw;
  }
  .market_wrap article div h2 {
    font-size: 1.93vw;
  }
  .market_wrap article div p {
    font-size: 1.2vw;
  }
  .market_wrap article div h3 {
    font-size: 1.2vw;
    padding: 0.9vw 0;
  }
  .market_wrap article div h4 {
    font-size: 1.2vw;
  }
  .market_wrap article div dl {
    height: 5.78vw;
    padding: 0.84vw;
    font-size: 1.2vw;
    border-radius: 2.89vw;
  }
  .market_wrap article div dl dt {
    border-radius: 1.93vw;
    width: 3.86vw;
    height: 3.86vw;
    margin-right: 1.08vw;
    font-size: 2.41vw;
  }
  .market_wrap article div dl dd {
    font-size: 1.2vw;
    width: calc(100% - 4.94vw);
  }
  .market_wrap article div figure {
    margin-bottom: 3.61vw;
  }
  .market_wrap article div figure.icon img {
    width: 6.02vw;
    margin: 0 auto 2.11vw auto;
  }
  .market_wrap article div figure figcaption {
    font-size: 1.2vw;
  }
  .market_wrap article div ol li,
  .market_wrap article div ul li {
    font-size: 1.2vw;
  }
  .market_wrap article:nth-child(odd) figure img {
    left: -9.04vw;
  }
  .market_wrap article.market_item6 figure img {
    left: 0;
  }
}
@media screen and (max-width: 750px) {
  .market_wrap article {
    width: 86%;
    margin: 0 auto 13.33vw auto;
  }
  .market_wrap article.market_item2 {
    margin-bottom: 13.33vw;
  }
  .market_wrap article figure {
    width: 100%;
    margin-bottom: 8vw;
  }
  .market_wrap article figure img {
    width: 100%;
  }
  .market_wrap article div {
    width: 100%;
  }
  .market_wrap article div h2 {
    font-size: 4.8vw;
  }
  .market_wrap article div p {
    font-size: 3.73vw;
  }
  .market_wrap article div h3 {
    font-size: 4.27vw;
    padding: 2.67vw 0;
  }
  .market_wrap article div h4 {
    font-size: 4.27vw;
  }
  .market_wrap article div dl {
    height: 13.33vw;
    padding: 2.13vw;
    font-size: 3.73vw;
    border-radius: 6.67vw;
  }
  .market_wrap article div dl dt {
    border-radius: 8vw;
    width: 8vw;
    height: 8vw;
    margin-right: 2.67vw;
    font-size: 5.33vw;
  }
  .market_wrap article div dl dd {
    font-size: 3.2vw;
    width: calc(100% - 10.67vw);
  }
  .market_wrap article div figure {
    margin-bottom: 13.33vw;
  }
  .market_wrap article div figure.icon {
    height: auto;
  }
  .market_wrap article div figure.icon img {
    width: 21.33vw;
    height: 21.33vw;
    margin: 0 auto 4vw auto;
  }
  .market_wrap article div figure figcaption {
    font-size: 3.73vw;
  }
  .market_wrap article div ol li,
  .market_wrap article div ul li {
    font-size: 3.73vw;
  }
  .market_wrap article:nth-child(odd) figure {
    height: 85vw;
  }
  .market_wrap article:nth-child(odd) figure img {
    left: auto;
    height: 85vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .market_wrap article:nth-child(even) figure {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .market_wrap article:nth-child(even) div {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .market_wrap article.market_item5 figure {
    margin-bottom: 8vw;
  }
  .market_wrap article.market_item5r2 figure {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .market_wrap article.market_item5r2 div {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.protect_inner {
  position: relative;
  width: 900px;
  margin: 0 auto;
}
.protect_inner article {
  position: relative;
  margin-bottom: 100px;
}
.protect_inner article:last-child {
  margin-bottom: 0;
}
.protect_inner article h2 {
  background: #003c87;
  color: #FFF;
  line-height: 1em;
  font-size: 20px;
  padding: 16px 0 16px 18px;
  margin-bottom: 2em;
}
.protect_inner article h3 {
  font-size: 20px;
  line-height: 1em;
  padding: 25px 0;
  margin-bottom: 2em;
  border-top: 2px solid #003c87;
  border-bottom: 2px solid #003c87;
  text-align: center;
  color: #003c87;
}
.protect_inner article p {
  font-size: 20px;
  line-height: 2em;
  font-weight: bold;
}
.protect_inner article p:last-child {
  margin-bottom: 0;
}
.protect_inner article p strong {
  color: #003c87;
}
.protect_inner article .protect_center_link {
  text-align: center;
}
.protect_inner article .protect_center_link li {
  list-style: none;
  font-weight: bold;
}
.protect_inner article .protect_center_link li a {
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.protect_inner article .protect_center_link li a:hover {
  opacity: 0.5;
}
.protect_inner article figure {
  line-height: 0;
  font-size: 0;
  margin-bottom: 100px;
}
.protect_inner article figure.w75 {
  width: 75%;
  margin: 0 auto 100px auto;
}
.protect_inner article figure.w66 {
  width: 75%;
  margin: 0 auto 100px auto;
}
.protect_inner article figure.w50 {
  width: 50%;
  margin: 0 auto 100px auto;
}
.protect_inner article figure.w47 {
  width: 47.7%;
  margin: 0 auto 100px auto;
}
.protect_inner article figure:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 1660px) {
  .protect_inner {
    width: 66.27vw;
  }
  .protect_inner article {
    margin-bottom: 6.02vw;
  }
  .protect_inner article h2 {
    font-size: 1.2vw;
    padding: 0.96vw 0 0.96vw 1.08vw;
  }
  .protect_inner article h3 {
    font-size: 1.2vw;
    padding: 1.51vw 0;
  }
  .protect_inner article p {
    font-size: 1.2vw;
  }
  .protect_inner article figure {
    margin-bottom: 6.02vw;
  }
  .protect_inner article figure.w75 {
    margin: 0 auto 6.02vw auto;
  }
  .protect_inner article figure.w66 {
    margin: 0 auto 6.02vw auto;
  }
  .protect_inner article figure.w50 {
    margin: 0 auto 6.02vw auto;
  }
  .protect_inner article figure.w47 {
    margin: 0 auto 6.02vw auto;
  }
}
@media screen and (max-width: 750px) {
  .protect_inner {
    width: 86%;
  }
  .protect_inner article {
    margin-bottom: 18.67vw;
  }
  .protect_inner article h2 {
    font-size: 4.8vw;
    padding: 3.2vw;
    line-height: 1.4em;
  }
  .protect_inner article h3 {
    font-size: 4.8vw;
    padding: 3.2vw 0;
  }
  .protect_inner article p {
    font-size: 3.73vw;
  }
  .protect_inner article figure {
    margin-bottom: 13.33vw;
  }
  .protect_inner article figure.w75 {
    margin: 0 auto 13.33vw auto;
  }
  .protect_inner article figure.w66 {
    margin: 0 auto 13.33vw auto;
  }
  .protect_inner article figure.w50 {
    margin: 0 auto 13.33vw auto;
  }
  .protect_inner article figure.w47 {
    margin: 0 auto 13.33vw auto;
  }
}

.promotion main {
  background: #003c87;
}
.promotion .page_title h1::before {
  border-bottom: 4px solid #003c87;
}
.promotion .page_title h1::after {
  border-right: 4px solid #003c87;
}
.promotion .page_title h1 span {
  background: #FFF;
  color: #003c87;
}
.promotion .page_title h1 span::before {
  border-bottom: 4px solid #FFF;
}
.promotion .page_title h1 span::after {
  border-right: 4px solid #FFF;
}
.promotion .alphabe_title,
.promotion .japanese_title {
  color: #FFF;
}
.promotion .japanese_title.mb1em {
  margin-bottom: 1em;
}
.promotion .japanese_title span {
  border-left: 1px solid #FFF;
  border-right: 1px solid #FFF;
}
.promotion p {
  text-align: center;
  color: #FFF;
}

.promotion_inner {
  width: 900px;
  margin: 0 auto;
}
.promotion_inner article {
  margin-bottom: 145px;
}
.promotion_inner p {
  color: #FFF;
  font-size: 20px;
}
.promotion_inner p:last-child {
  margin-bottom: 0;
}
.promotion_inner h4 {
  text-align: center;
  font-size: 20px;
  margin-bottom: 70px;
  line-height: 1em;
  color: #FFF;
}
.promotion_inner figure {
  line-height: 0;
  font-size: 0;
  margin-bottom: 120px;
}
.promotion_inner .red_btn {
  line-height: 1em;
  font-size: 22px;
  width: 75.5%;
  margin: 0 auto;
}
.promotion_inner .red_btn a {
  position: relative;
  display: block;
  border-radius: 2em;
  padding: 18px 0;
  border: 2px solid #e6002d;
  color: #e6002d;
  background: #FFF;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.promotion_inner .red_btn a::after {
  position: absolute;
  right: 38px;
  top: calc(50% + 4px);
  content: "";
  width: 100px;
  height: 8px;
  border-bottom: 2px solid #e6002d;
  border-right: 2px solid #e6002d;
  /*傾きを調節*/
  -webkit-transform: skew(45deg);
          transform: skew(45deg);
  /*下線矢印をテキストに合わせてうまい具合にはめる*/
  margin: -10px 0 0 -25px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.promotion_inner .red_btn a:hover {
  background: #e6002d;
  color: #FFF;
}
.promotion_inner .red_btn a:hover::after {
  border-bottom: 2px solid #FFF;
  border-right: 2px solid #FFF;
}
@media screen and (max-width: 1660px) {
  .promotion_inner {
    width: 66.27vw;
  }
  .promotion_inner article {
    margin-bottom: 8.73vw;
  }
  .promotion_inner p {
    font-size: 1.2vw;
  }
  .promotion_inner h4 {
    font-size: 1.2vw;
    margin-bottom: 4.22vw;
  }
  .promotion_inner figure {
    margin-bottom: 7.23vw;
  }
  .promotion_inner .red_btn {
    font-size: 1.33vw;
  }
  .promotion_inner .red_btn a {
    padding: 1.08vw 0;
  }
  .promotion_inner .red_btn a::after {
    right: 2.29vw;
    top: calc(50% + 0.24vw);
    width: 6.02vw;
    height: 0.48vw;
    margin: -0.6vw 0 0 -1.51vw;
  }
}
@media screen and (max-width: 750px) {
  .promotion_inner {
    width: 86%;
  }
  .promotion_inner article {
    margin-bottom: 18.67vw;
  }
  .promotion_inner p {
    font-size: 3.73vw;
  }
  .promotion_inner h4 {
    font-size: 4.8vw;
    margin-bottom: 9.33vw;
  }
  .promotion_inner figure {
    margin-bottom: 8vw;
  }
  .promotion_inner .red_btn {
    font-size: 4.8vw;
    width: 100%;
  }
  .promotion_inner .red_btn a {
    padding: 3.2vw 0;
  }
  .promotion_inner .red_btn a::after {
    right: 4.8vw;
    top: calc(50% + 0.8vw);
    width: 13.33vw;
    height: 1.6vw;
    margin: -2.67vw 0 0 -5.33vw;
  }
}

.tvcm {
  width: 900px;
  margin: 0 auto;
}
@media screen and (max-width: 1660px) {
  .tvcm {
    width: 66.27vw;
  }
}
@media screen and (max-width: 750px) {
  .tvcm {
    width: 86%;
  }
}

.youtube_wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube_wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.contact main {
  padding-top: 100px;
}
@media screen and (max-width: 1660px) {
  .contact main {
    padding-top: 6.02vw;
  }
}
@media screen and (max-width: 750px) {
  .contact main {
    padding-top: 13.33vw;
  }
}

.contact_tel_wrap {
  text-align: center;
  margin-bottom: 200px;
}
.contact_tel_wrap figure {
  width: 120px;
  margin: 0 auto 40px auto;
  line-height: 0;
}
.contact_tel_wrap h4 {
  font-size: 22px;
  margin-bottom: 30px;
  line-height: 1em;
}
.contact_tel_wrap .tel {
  font-size: 50px;
  line-height: 1em;
  margin-bottom: 30px;
  color: #003c87;
  font-weight: bold;
}
.contact_tel_wrap time {
  display: block;
  font-size: 20px;
  line-height: 2em;
  font-weight: bold;
}
@media screen and (max-width: 1660px) {
  .contact_tel_wrap {
    margin-bottom: 12.05vw;
  }
  .contact_tel_wrap figure {
    width: 7.23vw;
    margin: 0 auto 2.41vw auto;
  }
  .contact_tel_wrap h4 {
    font-size: 1.33vw;
    margin-bottom: 1.81vw;
  }
  .contact_tel_wrap .tel {
    font-size: 3.01vw;
    margin-bottom: 1.81vw;
  }
  .contact_tel_wrap time {
    font-size: 1.2vw;
  }
}
@media screen and (max-width: 750px) {
  .contact_tel_wrap {
    margin-bottom: 18.67vw;
  }
  .contact_tel_wrap figure {
    width: 18.67vw;
    margin: 0 auto 5.33vw auto;
  }
  .contact_tel_wrap h4 {
    font-size: 4.8vw;
    margin-bottom: 5.33vw;
  }
  .contact_tel_wrap .tel {
    font-size: 5.33vw;
    margin-bottom: 5.33vw;
  }
  .contact_tel_wrap time {
    font-size: 3.73vw;
  }
}

.contact_form_wrap {
  position: relative;
  width: 900px;
  margin: 0 auto;
}
.contact_form_wrap figure {
  width: 120px;
  margin: 0 auto 40px auto;
  line-height: 0;
}
.contact_form_wrap p {
  font-size: 20px;
  margin-bottom: 80px;
  font-weight: bold;
}
.contact_form_wrap p strong {
  color: #003c87;
}
.contact_form_wrap h2 {
  font-size: 20px;
  line-height: 1em;
  padding: 18px 0;
  margin-bottom: 80px;
  font-weight: bold;
  color: #FFF;
  background: #003c87;
  text-align: center;
}
.contact_form_wrap .form_wrap .form_detail {
  position: relative;
}
.contact_form_wrap .form_wrap .form_detail .wpcf7-form-control-wrap {
  position: static;
}
.contact_form_wrap .form_wrap .form_detail .wpcf7-not-valid-tip {
  display: block;
  text-align: right;
  position: absolute;
  right: 0;
  top: 0;
}
.contact_form_wrap .form_wrap p {
  line-height: 1.4em;
  margin-bottom: 15px;
  font-weight: normal;
}
.contact_form_wrap .form_wrap input[type=tel],
.contact_form_wrap .form_wrap input[type=email],
.contact_form_wrap .form_wrap input[type=text],
.contact_form_wrap .form_wrap input[type=mail],
.contact_form_wrap .form_wrap textarea {
  font-size: 20px;
  padding: 18px;
  margin-bottom: 40px;
  border: 2px solid #003c87;
  width: 100%;
  outline: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.contact_form_wrap .form_wrap .privacy {
  text-align: center;
}
.contact_form_wrap .form_wrap .privacy p {
  line-height: 2em;
  font-weight: bold;
}
.contact_form_wrap .form_wrap .confirm_wrap {
  margin-top: 1.5em;
  border-top: 1px dashed #ccc;
  padding-top: 1.5em;
  text-align: center;
  font-size: 20px;
  margin-bottom: 2em;
}
.contact_form_wrap .form_wrap .confirm_wrap label {
  font-size: 20px;
  font-weight: bold;
  color: #003c87;
}
.contact_form_wrap .form_wrap .submit_wrap {
  position: relative;
  text-align: center;
  width: 680px;
  margin: 0 auto;
}
.contact_form_wrap .form_wrap .submit_wrap::after {
  position: absolute;
  right: 38px;
  top: 25px;
  content: "";
  width: 100px;
  height: 8px;
  border-bottom: 2px solid #003c87;
  border-right: 2px solid #003c87;
  /*傾きを調節*/
  -webkit-transform: skew(45deg);
          transform: skew(45deg);
  /*下線矢印をテキストに合わせてうまい具合にはめる*/
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.contact_form_wrap .form_wrap .submit_wrap:hover::after {
  border-bottom: 2px solid #FFF;
  border-right: 2px solid #FFF;
}
.contact_form_wrap .form_wrap .submit_wrap input[type=submit] {
  position: relative;
  background: none;
  width: 100%;
  font-size: 22px;
  padding: 18px 0;
  border-radius: 40px;
  margin: 0 auto;
  line-height: 1em;
  color: #003c87;
  font-weight: bold;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 2px solid #003c87;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.contact_form_wrap .form_wrap .submit_wrap input[type=submit]:hover {
  background: #003c87;
  color: #FFF;
}
.contact_form_wrap .form_wrap .submit_wrap input[type=submit]:hover::after {
  border-bottom: 2px solid #FFF;
  border-right: 2px solid #FFF;
}
@media screen and (max-width: 1660px) {
  .contact_form_wrap {
    width: 66.27vw;
  }
  .contact_form_wrap figure {
    width: 7.23vw;
    margin: 0 auto 2.41vw auto;
  }
  .contact_form_wrap p {
    font-size: 1.2vw;
    margin-bottom: 4.82vw;
  }
  .contact_form_wrap h2 {
    font-size: 1.2vw;
    padding: 1.08vw 0;
    margin-bottom: 4.82vw;
  }
  .contact_form_wrap .form_wrap p {
    margin-bottom: 0.9vw;
  }
  .contact_form_wrap .form_wrap input[type=tel],
  .contact_form_wrap .form_wrap input[type=email],
  .contact_form_wrap .form_wrap input[type=text],
  .contact_form_wrap .form_wrap input[type=mail],
  .contact_form_wrap .form_wrap textarea {
    font-size: 1.2vw;
    padding: 1.08vw;
    margin-bottom: 2.41vw;
  }
  .contact_form_wrap .form_wrap .confirm_wrap {
    font-size: 1.2vw;
  }
  .contact_form_wrap .form_wrap .confirm_wrap label {
    font-size: 1.2vw;
  }
  .contact_form_wrap .form_wrap .submit_wrap {
    width: 40.96vw;
  }
  .contact_form_wrap .form_wrap .submit_wrap::after {
    right: 2.29vw;
    top: 1.51vw;
    width: 6.02vw;
    height: 0.48vw;
  }
  .contact_form_wrap .form_wrap .submit_wrap input[type=submit] {
    font-size: 1.33vw;
    padding: 1.08vw 0;
    border-radius: 2.41vw;
  }
}
@media screen and (max-width: 750px) {
  .contact_form_wrap {
    width: 86%;
  }
  .contact_form_wrap figure {
    width: 18.67vw;
    margin: 0 auto 5.33vw auto;
  }
  .contact_form_wrap p {
    font-size: 3.73vw;
    margin-bottom: 10.67vw;
  }
  .contact_form_wrap h2 {
    font-size: 4.8vw;
    padding: 3.2vw 0;
    margin-bottom: 10.67vw;
  }
  .contact_form_wrap .form_wrap .form_detail .wpcf7-not-valid-tip {
    position: relative;
    right: auto;
    text-align: center;
    top: -0.5em;
  }
  .contact_form_wrap .form_wrap p {
    margin-bottom: 2.67vw;
  }
  .contact_form_wrap .form_wrap input[type=tel],
  .contact_form_wrap .form_wrap input[type=email],
  .contact_form_wrap .form_wrap input[type=text],
  .contact_form_wrap .form_wrap input[type=mail],
  .contact_form_wrap .form_wrap textarea {
    font-size: 3.73vw;
    padding: 3.2vw;
    margin-bottom: 5.33vw;
  }
  .contact_form_wrap .form_wrap .privacy p {
    font-size: 3.47vw;
  }
  .contact_form_wrap .form_wrap .confirm_wrap {
    font-size: 3.73vw;
  }
  .contact_form_wrap .form_wrap .confirm_wrap label {
    font-size: 3.73vw;
  }
  .contact_form_wrap .form_wrap .submit_wrap {
    width: 100%;
  }
  .contact_form_wrap .form_wrap .submit_wrap::after {
    right: 4.8vw;
    top: 3.47vw;
    width: 13.33vw;
    height: 1.6vw;
  }
  .contact_form_wrap .form_wrap .submit_wrap input[type=submit] {
    font-size: 3.73vw;
    padding: 3.2vw 0;
    border-radius: 5.33vw;
  }
}

/* ------clearfix(クリアフィックス)↓ここから------ */
.contact_tel_wrap .tel,
.japanese_title,
.market_item1 h2,
.market_item2 h2,
.market_item3 h2,
.market_item4 h2,
.market_item5 h2,
.market_item6 h2,
.min {
  font-family: "Noto Serif JP", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "メイリオ", "Meiryo", sans-serif;
}

.sig p,
.page_title h1,
.home_cbtn_text h3,
.group_detail_inner h3,
.minb {
  font-weight: bold;
  font-family: "Noto Serif JP", "Yu Mincho Demibold", "YuMincho Demibold", "ヒラギノ明朝 Pro W7", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "メイリオ", "Meiryo", sans-serif;
}

.home_copy_btn article .home_cbtn_text span,
.market_wrap dt,
.osakanabox_detail figure h4,
.alphabe_title,
.home_news_wrap h2,
.gotham {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}