@charset "UTF-8";
/* メディアクエリ
---------------------------------------- */
/* font-size 320-1200
---------------------------------------- */
/*1.8-3*/
/*1.4-1.8*/
/*1.7-2.2*/
/*1.6-2*/
/*1.4-1.6*/
/*1.5-1.7*/
/*1.4-1.6*/
/*$cutch: calc(1.4rem + (1vw - 0.32rem) * 0.2273);*/
/*	tit
--------------------------------------*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
/*  reset.scss */
/* =====================================================
 * reset.css
 * - Edit html5doctor.com's CSS
 * - http://html5doctor.com/html-5-reset-stylesheet/
 * Last Updated:2017-03-01
====================================================== */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Satisfy&display=swap");
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, input, select, textarea, main {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: 400;
  vertical-align: bottom;
  background: transparent; }

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

main {
  padding: 0;
  margin: 0 !important; }

html {
  font-size: 62.5%;
  /*overflow-x: hidden;*/ }

body {
  font-family: sans-serif;
  line-height: 1; }

ul, ol {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  background: transparent;
  outline: none; }

img {
  vertical-align: bottom; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

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

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%; }

th, td {
  text-align: left;
  vertical-align: top; }

input, select, textarea {
  font-family: inherit; }

input[type="submit"] {
  cursor: pointer; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

* {
  box-sizing: border-box; }

/*--------------------------------------------------------------------------
   html
---------------------------------------------------------------------------*/
/*html {
	height: 100%;
	overflow-y: scroll;
}*/
/*--------------------------------------------------------------------------
   body
---------------------------------------------------------------------------*/
/*body {
	height: 100%;
	color: #444;
	background: #FFF;
	min-width: 320px;
	line-height: 1.6;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.5rem;
	letter-spacing: .06em;
}*/
html {
  overflow: auto; }

body {
  overflow: hidden;
  min-width: 320px;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  font-size: 1.4rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  position: relative; }
  @media screen and (min-width: 768px) {
    body {
      font-size: 1.4rem;
      line-height: 1.6;
      -webkit-text-size-adjust: 100%;
      /*background: #FFF;*/
      /*height: 100%;*/ } }

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

.pc {
  display: none !important; }

.sp {
  display: block !important; }

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

  .sp {
    display: none !important; } }
/*--------------------------------------------------------------------------
   base link
---------------------------------------------------------------------------*/
a {
  color: inherit;
  text-decoration: none; }

@media screen and (min-width: 768px) {
  a {
    -webkit-transition: all .2s linear;
    transition: all .2s linear; }

  .alpha {
    -webkit-transition: all .2s linear;
    transition: all .2s linear; }

  .alpha:hover {
    opacity: .7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; } }
/*--------------------------------------------------------------------------
   font
---------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
   clearfix
---------------------------------------------------------------------------*/
.cf:before, .cf:after {
  content: "";
  display: table; }

.cf:after {
  clear: both; }

.cf {
  zoom: 1; }

/* メディアクエリ
---------------------------------------- */
/* font-size 320-1200
---------------------------------------- */
/*1.8-3*/
/*1.4-1.8*/
/*1.7-2.2*/
/*1.6-2*/
/*1.4-1.6*/
/*1.5-1.7*/
/*1.4-1.6*/
/*$cutch: calc(1.4rem + (1vw - 0.32rem) * 0.2273);*/
/*	tit
--------------------------------------*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
/* layout.scss */
.base_inner {
  width: 100%;
  padding-left: 15px;
  padding-right: 15px; }

@media screen and (min-width: 768px) {
  .base_inner {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto; } }
/*--------------------------------------------------------------------------
   Header
---------------------------------------------------------------------------*/
#header {
  position: fixed;
  top: 0;
  margin: 0;
  width: 100%;
  z-index: 9999;
  background: #fff; }

.header {
  padding: 10px 10px; }

@media screen and (min-width: 768px) {
  .header {
    padding: 10px; } }
.header .hd_logo img {
  width: auto;
  height: 22px; }
  @media screen and (min-width: 768px) {
    .header .hd_logo img {
      height: 30px; } }

@media screen and (min-width: 768px) {
  .header .hd_wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between; } }
/*	pagetop
--------------------------------------*/
.to-top {
  position: fixed;
  width: 42px;
  height: 42px;
  background: #000;
  color: #fff;
  right: 0;
  bottom: 0;
  cursor: pointer; }
  .to-top .arrow {
    text-indent: -9999px;
    display: block;
    height: 42px;
    position: relative; }
    .to-top .arrow::after {
      position: absolute;
      top: 50%;
      right: 0;
      content: '';
      width: 12px;
      height: 12px;
      border: 0px;
      margin: -6px 12px 0 0;
      border-top: solid 4px #fff;
      border-right: solid 4px #fff;
      -ms-transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); }

/*	
--------------------------------------*/
/* .btnGnav btn_nav
-------------------------------------- */
@media screen and (max-width: 767px) {
  .btn_nav {
    position: absolute;
    top: 1px;
    right: 10px;
    display: block;
    width: 30px;
    height: 38px;
    /*width: 30px;
    height: 38px;*/
    /*width: 54px;
    height: 51px;*/ }
    .btn_nav .line {
      position: absolute;
      left: 0;
      width: 20px;
      height: 2px;
      content: '';
      transition: all .3s ease;
      background: #333; }
      .btn_nav .line:nth-child(1) {
        top: 12px; }
      .btn_nav .line:nth-child(2) {
        top: 20px; }
      .btn_nav .line:nth-child(3) {
        top: 28px; }

  body.is_open .btn_nav .line:nth-child(1) {
    top: 20px;
    transform: rotate(-45deg); }
  body.is_open .btn_nav .line:nth-child(2) {
    opacity: 0;
    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)'; }
  body.is_open .btn_nav .line:nth-child(3) {
    top: 20px;
    transform: rotate(45deg); }

  #gnav {
    position: fixed;
    z-index: 200;
    top: 51px;
    right: -293px;
    bottom: 0;
    overflow: auto;
    width: 293px;
    background: #313131;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 30px; }
    #gnav .list {
      margin-bottom: 30px; }
      #gnav .list .item {
        border-top: 1px solid #fff;
        padding: 10px 0 10px 15px; }
        #gnav .list .item:last-of-type {
          border-bottom: 1px solid #fff; }
        #gnav .list .item a {
          color: #fff;
          line-height: 1.3; }
          #gnav .list .item a .en {
            display: block;
            font-size: 1.2rem; }
          #gnav .list .item a .jp {
            display: block;
            font-size: 1.4rem; } }
@media screen and (min-width: 768px) {
  #gnav .list {
    display: flex;
    align-items: center;
    justify-content: flex-end; }
    #gnav .list .item {
      /*position: relative;*/
      /*width: 80px;*/
      /*	&:nth-child(3) {
      			width: 110px;
      		}
      		&:nth-child(8) {
      			width: 180px;
      		}*/ }
      #gnav .list .item a {
        display: block;
        text-align: center;
        transition: all .3s ease;
        font-size: 1.4rem;
        color: #333;
        padding: 0 15px; }
        #gnav .list .item a:hover {
          opacity: .7;
          -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=90)'; }
        #gnav .list .item a .en {
          display: block;
          text-align: center;
          color: #acacac;
          font-size: 1.2rem; }
        #gnav .list .item a .jp {
          display: block;
          text-align: center; } }
#footer .ft-info {
  padding: 30px 0; }
  @media screen and (min-width: 768px) {
    #footer .ft-info {
      padding: 50px 0; } }
  #footer .ft-info .tit {
    text-align: center;
    margin-bottom: 20px; }
    @media screen and (min-width: 768px) {
      #footer .ft-info .tit {
        margin-bottom: 40px; } }
    #footer .ft-info .tit .en {
      font-size: calc(1.4rem + (1vw - 0.32rem) * 0.4545); }
    #footer .ft-info .tit .jp {
      font-size: calc(1.8rem + (1vw - 0.32rem) * 0.6818); }
  @media screen and (min-width: 768px) {
    #footer .ft-info .wrap {
      justify-content: center;
      column-gap: 80px; } }
  @media screen and (min-width: 768px) {
    #footer .ft-info .wrap .glp {
      width: 280px;
      display: flex;
      flex-direction: column; } }
  @media only screen and (min-width: 960px) {
    #footer .ft-info .wrap .glp {
      width: 360px; } }
  #footer .ft-info .wrap .glp:first-child {
    margin-bottom: 30px; }
    @media screen and (min-width: 768px) {
      #footer .ft-info .wrap .glp:first-child {
        margin-bottom: 0; } }
  @media screen and (min-width: 768px) {
    #footer .ft-info .wrap .glp .sec-tit {
      text-align: center; }
    #footer .ft-info .wrap .glp .txt {
      flex-shrink: 0;
      margin-bottom: 20px;
      text-align: center; }
      #footer .ft-info .wrap .glp .txt .txt-in {
        display: inline-block;
        text-align: left; }
    #footer .ft-info .wrap .glp .button {
      margin-top: auto; } }
#footer .ft-btm {
  padding: 30px 0; }
  @media screen and (min-width: 768px) {
    #footer .ft-btm {
      padding: 50px 0 30px; } }
  #footer .ft-btm .ft-logo {
    text-align: center;
    margin-bottom: 30px; }
    #footer .ft-btm .ft-logo .ft-logo-img {
      width: auto;
      height: 22px; }
      @media screen and (min-width: 768px) {
        #footer .ft-btm .ft-logo .ft-logo-img {
          height: 35px; } }
  #footer .ft-btm .ft-ad {
    text-align: center; }
  #footer .ft-btm .tel_nb {
    text-align: center;
    margin-bottom: 30px; }
  #footer .ft-btm .copy {
    text-align: center;
    font-size: 1.2rem; }

/*<div class="button">
	<a href="#">ボタンのデザイン</a>
</div>*/
.button {
  margin-top: 15px; }
  @media screen and (min-width: 768px) {
    .button {
      margin-top: 40px; } }

.button a {
  background: #333;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 10px 25px;
  color: #fff;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  border-radius: 6px; }
  @media screen and (min-width: 768px) {
    .button a {
      padding: 12px 25px;
      max-width: 500px; } }

.button a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: translateY(-50%) rotate(45deg); }

.button a:before {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  right: 22px;
  width: 16px;
  height: 2px;
  margin-top: -1px;
  background: #fff; }

.button a:hover {
  background: #acacac; }

.button a:hover:after {
  right: 1.4rem;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff; }

.button a:hover:before {
  background: #fff;
  right: 1.4rem; }

.ct-btn {
  max-width: 500px;
  margin: 15px auto 0; }
  @media screen and (min-width: 768px) {
    .ct-btn {
      margin: 40px auto 0; } }

.btn a {
  background: #333;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 10px 25px;
  color: #fff;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  border: 1px solid #333; }
  @media screen and (min-width: 768px) {
    .btn a {
      padding: 12px 100px; } }

.btn a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  transform: translateY(-50%) rotate(45deg); }

.btn a:hover {
  background: #352e37; }

.btn a:hover:after {
  right: 1.4rem; }

/* メディアクエリ
---------------------------------------- */
/* font-size 320-1200
---------------------------------------- */
/*1.8-3*/
/*1.4-1.8*/
/*1.7-2.2*/
/*1.6-2*/
/*1.4-1.6*/
/*1.5-1.7*/
/*1.4-1.6*/
/*$cutch: calc(1.4rem + (1vw - 0.32rem) * 0.2273);*/
/*	tit
--------------------------------------*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
/* set.scss */
/*	hover
--------------------------------------*/
a {
  color: inherit;
  text-decoration: none; }

@media screen and (min-width: 768px) {
  a {
    -webkit-transition: all .2s linear;
    transition: all .2s linear; }

  .alpha {
    -webkit-transition: all .2s linear;
    transition: all .2s linear; }

  .alpha:hover {
    opacity: .7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; } }
/*	hover img zoom
--------------------------------------*/
/* 各コンテンツの画像サイズは各自設定 */
@media screen and (min-width: 768px) {
  .pic {
    overflow: hidden; }
    .pic img {
      display: block;
      transition-duration: .3s; }
      .pic img:hover {
        transform: scale(1.1);
        transition-duration: .3s; } }
/*	tit
--------------------------------------*/
.sec-tit {
  margin-bottom: 10px; }
  @media screen and (min-width: 768px) {
    .sec-tit {
      margin-bottom: 20px; } }
  .sec-tit .en {
    display: block;
    font-size: 1.2rem;
    font-family: "Montserrat", sans-serif;
    color: #acacac;
    line-height: 1;
    margin-bottom: 10px; }
    @media screen and (min-width: 768px) {
      .sec-tit .en {
        font-size: 1.4rem;
        margin-bottom: 2px;
        margin-bottom: 30px; } }
  .sec-tit .jp {
    font-size: calc(1.7rem + (1vw - 0.32rem) * 0.5682);
    font-family: "Noto Serif JP", serif;
    line-height: 1.3; }

.part-tit {
  margin-bottom: 10px; }
  @media screen and (min-width: 768px) {
    .part-tit {
      margin-bottom: 20px; } }
  .part-tit .en {
    display: block;
    font-size: 1.2rem;
    font-family: "Montserrat", sans-serif;
    color: #acacac;
    line-height: 1;
    margin-bottom: 6px; }
    @media screen and (min-width: 768px) {
      .part-tit .en {
        font-size: 1.4rem;
        margin-bottom: 2px;
        margin-bottom: 10px; } }
  .part-tit .jp {
    font-size: calc(1.6rem + (1vw - 0.32rem) * 0.4545);
    font-family: "Noto Serif JP", serif;
    line-height: 1.3; }

/*	content txt
--------------------------------------*/
@media screen and (min-width: 768px) {
  .txt-ct {
    text-align: center; } }

.txt-jp {
  font-size: calc(1.4rem + (1vw - 0.32rem) * 0.2273);
  font-family: "Noto Serif JP", serif;
  line-height: 1.3;
  padding-top: 20px; }
  @media screen and (min-width: 768px) {
    .txt-jp {
      text-align: center;
      line-height: 1.8;
      padding-top: 50px; } }

@media screen and (min-width: 768px) {
  .lh18 {
    line-height: 1.8; } }

/*	content padding
--------------------------------------*/
.pad {
  padding-top: 30px;
  padding-bottom: 40px; }
  @media screen and (min-width: 768px) {
    .pad {
      padding-top: 80px;
      padding-bottom: 80px; } }

.pad-top {
  padding-top: 30px; }
  @media screen and (min-width: 768px) {
    .pad-top {
      padding-top: 80px; } }

.pad-btm {
  padding-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .pad-btm {
      padding-bottom: 80px; } }

.mb {
  margin-bottom: 10px; }

@media screen and (min-width: 768px) {
  .mb {
    margin-bottom: 15px; }

  .mtop {
    margin-top: 30px; } }
.link {
  padding-top: 72px;
  margin-top: -72px; }

.gmap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden; }

.gmap iframe,
.gmap object,
.gmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/*	set
--------------------------------------*/
@media screen and (min-width: 768px) {
  .wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; } }
.wrap .left {
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .wrap .left {
      width: 47.37%; } }
@media screen and (min-width: 768px) {
  .wrap .right {
    width: 47.37%; } }
@media screen and (min-width: 768px) {
  .wrap .set {
    width: 50%; } }
.wrap .set .in {
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    .wrap .set .in {
      margin-bottom: 0;
      padding-left: 30px; } }
@media screen and (min-width: 768px) {
  .wrap .od {
    order: -1; } }

/* メディアクエリ
---------------------------------------- */
/* font-size 320-1200
---------------------------------------- */
/*1.8-3*/
/*1.4-1.8*/
/*1.7-2.2*/
/*1.6-2*/
/*1.4-1.6*/
/*1.5-1.7*/
/*1.4-1.6*/
/*$cutch: calc(1.4rem + (1vw - 0.32rem) * 0.2273);*/
/*	tit
--------------------------------------*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
@media screen and (min-width: 768px) {
  #home .sec01 .wrap, #home .sec03 .wrap, #home .sec04 .wrap {
    align-items: center; } }

#home .sec01 .bg {
  position: relative;
  z-index: 1; }
  #home .sec01 .bg::after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 60%;
    background-image: url("../images/home/sec01_bg.png");
    background-size: cover; }
    @media screen and (min-width: 768px) {
      #home .sec01 .bg::after {
        left: 40%;
        width: 60%;
        height: 100%; } }
  #home .sec01 .bg .pad {
    position: relative;
    z-index: 2; }

#home .sec02 .wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 15px; }
  #home .sec02 .wrap::after {
    position: absolute;
    top: 0;
    right: 0;
    content: '';
    width: 175px;
    height: 93px;
    margin-top: -15px;
    background-image: url("../images/home/sec02.svg");
    background-size: 175px auto;
    background-repeat: no-repeat; }
    @media screen and (min-width: 768px) {
      #home .sec02 .wrap::after {
        width: 351px;
        height: 185px;
        margin: -30px -15px 0 0;
        background-size: 351px 185px;
        background-repeat: no-repeat; } }
  #home .sec02 .wrap .set-img {
    width: 50%; }
    @media screen and (min-width: 768px) {
      #home .sec02 .wrap .set-img {
        width: 34.333%;
        width: -webki-calc((100% - 135px) / 4);
        width: calc((100% - 135px) / 4); } }

#home .sec03 .sq-list-wrap {
  border: 1px solid #acacac;
  padding: 20px;
  margin-top: 15px; }
  @media screen and (min-width: 768px) {
    #home .sec03 .sq-list-wrap {
      padding: 30px 50px; } }
  #home .sec03 .sq-list-wrap .sq-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 10px; }
    @media screen and (min-width: 768px) {
      #home .sec03 .sq-list-wrap .sq-list {
        margin-bottom: 20px; } }
    #home .sec03 .sq-list-wrap .sq-list .item {
      width: 48%; }
  #home .sec03 .sq-list-wrap .txt-ct {
    font-weight: 500; }

.inst .tit {
  font-family: "Satisfy", cursive;
  text-align: center;
  font-size: calc(1.8rem + (1vw - 0.32rem) * 1.3636); }

.mv_page {
  padding: 60px 0 30px;
  background: #ececec;
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .mv_page {
      margin-bottom: 50px; } }
  .mv_page .tit_page .en {
    display: block;
    text-align: center;
    font-size: calc(1.4rem + (1vw - 0.32rem) * 0.2273);
    font-family: "Montserrat", sans-serif;
    color: #acacac;
    line-height: 1; }
  .mv_page .tit_page .jp {
    display: block;
    text-align: center;
    font-size: calc(1.7rem + (1vw - 0.32rem) * 0.5682);
    font-family: "Noto Serif JP", serif; }

/* メディアクエリ
---------------------------------------- */
/* font-size 320-1200
---------------------------------------- */
/*1.8-3*/
/*1.4-1.8*/
/*1.7-2.2*/
/*1.6-2*/
/*1.4-1.6*/
/*1.5-1.7*/
/*1.4-1.6*/
/*$cutch: calc(1.4rem + (1vw - 0.32rem) * 0.2273);*/
/*	tit
--------------------------------------*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
#misson .sec01 .sec-tit, #misson .sec02 .sec-tit {
  text-align: center; }
#misson .part-tit {
  text-align: center; }

#misson .sec02, #misson .sec03, #misson .sec04 {
  /*.txt, .list {
  	margin-bottom: 10px;
  	@media screen and ($sp-first){
  		margin-bottom: 40px;
  	}
  }*/ }
  #misson .sec02 .set .pict, #misson .sec03 .set .pict, #misson .sec04 .set .pict {
    margin-bottom: 10px; }
    @media screen and (min-width: 768px) {
      #misson .sec02 .set .pict, #misson .sec03 .set .pict, #misson .sec04 .set .pict {
        margin-bottom: 40px; } }
  @media screen and (min-width: 768px) {
    #misson .sec02 .set .txt, #misson .sec03 .set .txt, #misson .sec04 .set .txt {
      text-align: center; } }

#misson .sec04 .wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    #misson .sec04 .wrap {
      margin-bottom: 60px; } }
  #misson .sec04 .wrap::after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 241px;
    height: 99px;
    margin: 0 0 -25px -15px;
    background-image: url("../images/misson/sec04.svg");
    background-size: 241px 99px;
    background-repeat: no-repeat; }
    @media screen and (min-width: 768px) {
      #misson .sec04 .wrap::after {
        width: 482px;
        height: 198px;
        margin: 0 0 -50px -15px;
        background-size: 482px 198px;
        background-repeat: no-repeat; } }
  #misson .sec04 .wrap .set-img {
    width: 50%; }
    @media screen and (min-width: 768px) {
      #misson .sec04 .wrap .set-img {
        width: 34.333%;
        width: -webki-calc((100% - 135px) / 4);
        width: calc((100% - 135px) / 4); } }
@media screen and (min-width: 768px) {
  #misson .sec04 .list {
    width: 500px;
    margin: 0 auto; } }
#misson .sec04 .list .item {
  padding-left: 1em;
  text-indent: -1em; }

/* メディアクエリ
---------------------------------------- */
/* font-size 320-1200
---------------------------------------- */
/*1.8-3*/
/*1.4-1.8*/
/*1.7-2.2*/
/*1.6-2*/
/*1.4-1.6*/
/*1.5-1.7*/
/*1.4-1.6*/
/*$cutch: calc(1.4rem + (1vw - 0.32rem) * 0.2273);*/
/*	tit
--------------------------------------*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
#attempt .sec01 .sec-tit, #attempt .sec02 .sec-tit, #attempt .sec03 .sec-tit {
  text-align: center; }

@media screen and (min-width: 768px) {
  #attempt .sec04 .wrap {
    align-items: center; } }

#attempt .sec01 .bg {
  position: relative;
  z-index: 1; }
  #attempt .sec01 .bg::after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 80%;
    background-image: url("../images/attempt/sec01_bg.png");
    background-size: cover; }
    @media screen and (min-width: 768px) {
      #attempt .sec01 .bg::after {
        left: 20%;
        width: 80%;
        height: 50%; } }
  #attempt .sec01 .bg .pad {
    position: relative;
    z-index: 2; }
#attempt .sec01 .txt-jp {
  margin-bottom: 10px; }
  @media screen and (min-width: 768px) {
    #attempt .sec01 .txt-jp {
      margin-bottom: 50px; } }

#attempt .sec02 .txt-jp, #attempt .sec03 .txt-jp {
  margin-bottom: 15px; }
  @media screen and (min-width: 768px) {
    #attempt .sec02 .txt-jp, #attempt .sec03 .txt-jp {
      margin-bottom: 40px; } }
@media screen and (min-width: 768px) {
  #attempt .sec02 .clum3, #attempt .sec03 .clum3 {
    display: flex;
    justify-content: space-between; } }
@media screen and (min-width: 768px) {
  #attempt .sec02 .clum3 .set, #attempt .sec03 .clum3 .set {
    display: flex;
    flex-direction: column;
    width: calc((100% - 100px) / 3); } }
#attempt .sec02 .clum3 .set:not(:first-child), #attempt .sec03 .clum3 .set:not(:first-child) {
  margin-top: 30px; }
  @media screen and (min-width: 768px) {
    #attempt .sec02 .clum3 .set:not(:first-child), #attempt .sec03 .clum3 .set:not(:first-child) {
      margin-top: 0; } }
#attempt .sec02 .clum3 .set .pict, #attempt .sec03 .clum3 .set .pict {
  margin-bottom: 15px; }
  @media screen and (min-width: 768px) {
    #attempt .sec02 .clum3 .set .pict, #attempt .sec03 .clum3 .set .pict {
      margin-bottom: 30px; } }
#attempt .sec02 .clum3 .set .tit, #attempt .sec03 .clum3 .set .tit {
  text-align: center;
  font-size: calc(1.4rem + (1vw - 0.32rem) * 0.2273);
  margin-bottom: 6px; }
  @media screen and (min-width: 768px) {
    #attempt .sec02 .clum3 .set .tit, #attempt .sec03 .clum3 .set .tit {
      margin-bottom: 13px; } }
  #attempt .sec02 .clum3 .set .tit .sm, #attempt .sec03 .clum3 .set .tit .sm {
    display: block;
    text-align: center;
    font-size: 1.2rem; }

/* メディアクエリ
---------------------------------------- */
/* font-size 320-1200
---------------------------------------- */
/*1.8-3*/
/*1.4-1.8*/
/*1.7-2.2*/
/*1.6-2*/
/*1.4-1.6*/
/*1.5-1.7*/
/*1.4-1.6*/
/*$cutch: calc(1.4rem + (1vw - 0.32rem) * 0.2273);*/
/*	tit
--------------------------------------*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
#contact .sec01 .sec-tit {
  text-align: center; }

.contact_sec01 .con_info {
  /*padding: 15px 25px;*/
  /*border: 1px solid #ccc;*/
  padding-bottom: 30px; }
  .contact_sec01 .con_info .txt {
    margin-bottom: 15px; }
  .contact_sec01 .con_info .tel_nb {
    text-align: center; }
    .contact_sec01 .con_info .tel_nb .tel-call {
      position: relative;
      display: inline-block;
      font-size: 2.5rem;
      line-height: 1; }
      .contact_sec01 .con_info .tel_nb .tel-call::after {
        position: absolute;
        content: 'Tel.';
        font-size: 1.4rem;
        top: 50%;
        left: 0;
        margin: -.25em 0 0 -1.8em;
        color: #333; }
    .contact_sec01 .con_info .tel_nb .left_txt {
      display: block; }
.contact_sec01 .cons_form_wrap {
  padding: 15px 25px 30px;
  /*border: 1px solid #ccc;*/ }
  .contact_sec01 .cons_form_wrap .contact_tbl th {
    display: block;
    width: 100%;
    padding: 15px 15px 0; }
    .contact_sec01 .cons_form_wrap .contact_tbl th .req {
      display: inline-block;
      padding: 1px 10px 1px;
      margin-left: 5px;
      font-size: 1.3rem;
      color: #fff;
      background: #c90000; }
  .contact_sec01 .cons_form_wrap .contact_tbl td {
    display: block;
    width: 100%;
    padding: 15px 15px; }
  .contact_sec01 .cons_form_wrap .contact_tbl tr {
    border-bottom: 1px solid #7e7e7e; }
  .contact_sec01 .cons_form_wrap .approval {
    text-align: center;
    margin: 30px 0; }
    .contact_sec01 .cons_form_wrap .approval .approval_txt .link {
      border-bottom: 1px solid #3c271f; }

@media screen and (min-width: 768px) {
  .contact_sec01 .pad_top {
    padding-top: 100px; }
  .contact_sec01 .con_info {
    /*padding: 45px 25px;*/
    text-align: center; }
    .contact_sec01 .con_info .txt {
      margin-bottom: 30px; }
    .contact_sec01 .con_info .tel_nb {
      text-align: center; }
      .contact_sec01 .con_info .tel_nb .tel-call {
        font-size: 4rem;
        margin-left: 4rem; }
        .contact_sec01 .con_info .tel_nb .tel-call::after {
          font-size: 1.6rem;
          margin: -0.25em 0 0 -1.8em; }
      .contact_sec01 .con_info .tel_nb .left_txt {
        display: block; }
  .contact_sec01 .cons_form_wrap {
    padding: 30px 50px 65px; }
    .contact_sec01 .cons_form_wrap .contact_tbl th {
      display: table-cell;
      width: 30%;
      padding: 25px 30px; }
    .contact_sec01 .cons_form_wrap .contact_tbl td {
      display: table-cell;
      width: 70%;
      padding: 25px 30px; }
    .contact_sec01 .cons_form_wrap .approval {
      margin: 60px 0 70px; }
      .contact_sec01 .cons_form_wrap .approval .approval_txt {
        margin-top: 40px; } }
.contact_sec01 .cons_form_wrap .cons_form_note {
  margin: 30px 0; }
  .contact_sec01 .cons_form_wrap .cons_form_note a {
    display: inline-block;
    padding-bottom: 1px;
    border-bottom: 1px solid #fff; }
    .contact_sec01 .cons_form_wrap .cons_form_note a:hover {
      color: #cfcfcf;
      border-bottom: 1px solid #cfcfcf; }
  .contact_sec01 .cons_form_wrap .cons_form_note .cons_form_txt {
    margin-top: 10px;
    text-align: center; }

@media screen and (min-width: 768px) {
  .contact_sec01 .cons_form_wrap .cons_form_note .cons_form_txt {
    margin-top: 30px; } }
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

input[type=text], input[type=email] {
  width: 100%;
  height: 35px;
  border: 1px solid #d6d6d6;
  padding: 5px 10px 5px 15px;
  font-size: 14px;
  background: #fff;
  color: #333; }

input[type=tel] {
  width: 100%;
  height: 35px;
  border: 1px solid #d6d6d6;
  /*border: none;*/
  padding: 5px 10px 5px 15px;
  font-size: 14px;
  background: #fff;
  color: #333; }

input[type=checkbox] {
  font-size: 14px;
  margin-bottom: 4px;
  background: #000;
  border: 1px solid #fff; }

textarea {
  width: 100%;
  height: 15em;
  border: 1px solid #d6d6d6;
  /*border: none;*/
  padding: 10px 10px 10px 15px;
  font-size: 14px;
  background: #fff;
  color: #333; }

.mwform-radio-field input {
  margin-bottom: 7px; }

input[type="submit"], input[type="button"] {
  display: block;
  width: 240px;
  margin: 0 auto;
  text-align: center;
  padding: 10px 0;
  background: #333;
  color: #fff;
  font-size: 16px; }

input[type="submit"].apbtn_right {
  display: block;
  width: 240px;
  margin: 0 auto;
  text-align: center;
  padding: 10px 0;
  background: #333;
  color: #fff;
  font-size: 16px; }

@media screen and (min-width: 768px) {
  input[type="submit"].apbtn_right {
    font-size: 16px; }

  input[type="submit"], input[type="button"] {
    font-size: 16px; } }
input[type="submit"]:hover, input[type="button"]:hover {
  background: #555;
  color: #fff; }

@media screen and (min-width: 768px) {
  .form_policy {
    text-align: center;
    margin: 15px 0; } }
/*	style info : check_field
--------------------------------------*/
@media screen and (min-width: 768px) {
  .check_field .horizontal-item {
    display: inline-block;
    width: 50%; }

  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0 !important; } }
/* 送信 */
.form_btn {
  width: 80%;
  max-width: 240px;
  margin: 0 auto 30px; }

/*.form_btn input[type=button], .form_btn input[type=submit] {
	width: 80%;
	max-width: 300px;
	text-align: center;
	display: block;
	width: 100%;
	padding: 15px 0;
	background: #333;
	font-size: 1.4rem;
}*/
.form_btn_sc {
  width: 240px;
  margin: 30px auto 0; }
  .form_btn_sc .item_btn {
    margin-bottom: 20px; }

@media screen and (min-width: 768px) {
  .form_btn_sc {
    width: 600px;
    margin: 50px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .form_btn_sc .item_btn {
      width: 240px; }

  .form_btn input[type=button], .form_btn input[type=submit] {
    width: 240px; } }
.thanks_in {
  border: 1px solid #ccc;
  padding: 40px 15px; }
  .thanks_in .thanks_tit {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 30px; }
  .thanks_in .txt {
    margin-bottom: 30px; }
  .thanks_in .thsanks_cv_in {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 30px 0; }
    .thanks_in .thsanks_cv_in .left {
      text-align: center;
      margin-bottom: 30px; }
    .thanks_in .thsanks_cv_in .right .tel_nb {
      text-align: center;
      padding-left: 30px; }
      .thanks_in .thsanks_cv_in .right .tel_nb span {
        display: inline-block;
        position: relative;
        font-size: 2.5rem; }
        .thanks_in .thsanks_cv_in .right .tel_nb span::before {
          position: absolute;
          content: '';
          top: 50%;
          left: -50px;
          display: block;
          width: 46px;
          height: 30px;
          margin-top: -15px;
          background-repeat: no-repeat;
          background-image: url(../images/common/ico_free_w.png);
          background-size: 46px 30px; }
    .thanks_in .thsanks_cv_in .right .txt {
      text-align: center; }

@media screen and (min-width: 768px) {
  .thanks_in {
    padding: 80px 130px; }
    .thanks_in .thanks_tit {
      font-size: 2.4rem;
      text-align: center;
      margin-bottom: 100px; }
    .thanks_in .thanks_txtarea {
      text-align: center; }
      .thanks_in .thanks_txtarea .txt {
        display: inline-block;
        text-align: left;
        margin-bottom: 60px; }
    .thanks_in .thsanks_cv_in {
      padding: 50px 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center; }
      .thanks_in .thsanks_cv_in .left {
        width: 50%;
        margin-bottom: 0; }
      .thanks_in .thsanks_cv_in .right {
        width: 50%;
        padding-top: 10px; }
        .thanks_in .thsanks_cv_in .right .tel_nb {
          text-align: center;
          padding-left: 30px; }
          .thanks_in .thsanks_cv_in .right .tel_nb span {
            font-size: 3rem; }
        .thanks_in .thsanks_cv_in .right .txt {
          text-align: center; } }
/* company.scss */
#company .sec01 .sec-tit {
  text-align: center; }
#company .sec01 .tbl {
  width: 100%;
  margin-top: 30px; }
  @media screen and (min-width: 768px) {
    #company .sec01 .tbl {
      width: 90%;
      max-width: 800px;
      margin: 50px auto 0; } }
  #company .sec01 .tbl tr {
    border-bottom: 1px solid #ccc; }
    #company .sec01 .tbl tr:first-child {
      border-top: 1px solid #ccc; }
  #company .sec01 .tbl th {
    display: block;
    width: 100%;
    padding: 10px 10px 2px; }
    @media screen and (min-width: 768px) {
      #company .sec01 .tbl th {
        display: table-cell;
        width: 180px;
        padding: 18px 0 18px 40px; } }
  #company .sec01 .tbl td {
    display: block;
    width: 100%;
    padding: 2px 10px 10px; }
    @media screen and (min-width: 768px) {
      #company .sec01 .tbl td {
        display: table-cell;
        width: auto;
        padding: 18px 0; } }

/* メディアクエリ
---------------------------------------- */
/* font-size 320-1200
---------------------------------------- */
/*1.8-3*/
/*1.4-1.8*/
/*1.7-2.2*/
/*1.6-2*/
/*1.4-1.6*/
/*1.5-1.7*/
/*1.4-1.6*/
/*$cutch: calc(1.4rem + (1vw - 0.32rem) * 0.2273);*/
/*	tit
--------------------------------------*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
.policy .tit_ct {
  font-size: 1.6rem; }
.policy .policy_head {
  margin-bottom: 40px; }
  .policy .policy_head .policy_tit {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 30px; }
  .policy .policy_head .list {
    margin: 15px 0 5px 15px; }
    .policy .policy_head .list li {
      padding-left: 1em;
      text-indent: -1em; }

.policy .policy_detail {
  margin-bottom: 30px; }
  .policy .policy_detail .policy_tit_left {
    font-size: 1.6rem;
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 2px solid #ccc; }
  .policy .policy_detail .list {
    margin: 15px 0 5px 15px; }
    .policy .policy_detail .list li {
      padding-left: 1em;
      text-indent: -1em; }

@media screen and (min-width: 768px) {
  .policy .tit_ct {
    font-size: 2.2rem; }
  .policy .policy_head {
    margin-bottom: 80px; }
    .policy .policy_head .policy_tit {
      font-size: 1.6rem;
      margin-bottom: 60px; }

  .policy .policy_detail {
    margin-bottom: 60px; }
    .policy .policy_detail .policy_tit_left {
      font-size: 1.6rem; } }
/* メディアクエリ
---------------------------------------- */
/* font-size 320-1200
---------------------------------------- */
/*1.8-3*/
/*1.4-1.8*/
/*1.7-2.2*/
/*1.6-2*/
/*1.4-1.6*/
/*1.5-1.7*/
/*1.4-1.6*/
/*$cutch: calc(1.4rem + (1vw - 0.32rem) * 0.2273);*/
/*	tit
--------------------------------------*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
/*.mv_home_wrap {
	padding-bottom: 15px;
}
*/
.mv_home {
  position: relative;
  width: 100%;
  /*padding-bottom: 15px;*/ }
  .mv_home::after {
    position: absolute;
    bottom: 100px;
    right: 10%;
    content: '';
    width: 240px;
    height: 60px;
    background-image: url("../images/home/mv-txt.png");
    background-repeat: no-repeat;
    background-size: 240px auto; }
    @media screen and (min-width: 768px) {
      .mv_home::after {
        bottom: 40px;
        right: 10%;
        width: 803px;
        height: 261px;
        background-size: 803px 261px; } }
  .mv_home .cutch {
    position: absolute;
    top: 30%;
    left: 5%; }
    .mv_home .cutch .in {
      display: inline-block;
      background: #fff;
      line-height: 1;
      font-size: calc(1.8rem + (1vw - 0.32rem) * 1.3636);
      font-family: "Noto Serif JP", serif;
      padding: .1875rem .5rem .3125rem;
      margin-bottom: 1rem; }

@media screen and (min-width: 768px) {
  .mv_home {
    position: relative;
    width: 100%; } }
.mv {
  height: 350px;
  width: 100%;
  background: #fff; }

.cb_slideshow,
.cb_slideshow:after {
  width: 100%;
  height: 350px; }

@media screen and (min-width: 768px) {
  .mv {
    height: 600px; }

  .cb_slideshow,
  .cb_slideshow:after {
    height: 600px; } }
.cb_slideshow li {
  position: relative; }

.cb_slideshow li span {
  width: 100%;
  height: 350px;
  position: absolute;
  top: 0px;
  left: 0px;
  color: transparent;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: none;
  opacity: 0;
  z-index: 0;
  animation: imageAnimation 24s linear infinite 0s; }

@media screen and (min-width: 768px) {
  .cb_slideshow li span {
    height: 600px; } }
.cb_slideshow li .item {
  z-index: 1000;
  position: absolute;
  top: 0;
  left: 0px;
  width: 100%;
  height: 350px;
  text-align: center;
  opacity: 0;
  color: #fff;
  animation: titleAnimation 24s linear infinite 0s; }

@media screen and (min-width: 768px) {
  .cb_slideshow li .item {
    height: 600px; } }
.cb_slideshow li .item .tit {
  font-family: 'Times New Roman','Luchida Grande';
  font-size: 3rem;
  padding: 150px 0 0;
  margin-bottom: 20px;
  line-height: 1.5; }

.cb_slideshow li .item p {
  font-family: 'Times New Roman','Luchida Grande';
  font-size: 1.8rem;
  line-height: 1.5; }

@media screen and (min-width: 768px) {
  .cb_slideshow li .item .tit {
    font-size: 3.6rem;
    padding: 250px 0 0;
    line-height: 2;
    letter-spacing: .1em; }

  .cb_slideshow li .item p {
    font-size: 2.4rem;
    line-height: 1.5; } }
/*	style info : repair
--------------------------------------*/
.slid li:nth-child(1) span {
  background-image: url("../images/home/mv01.png"); }

.slid li:nth-child(2) span {
  background-image: url("../images/home/mv02.png");
  animation-delay: 8s; }

.slid li:nth-child(3) span {
  background-image: url("../images/home/mv03.png");
  animation-delay: 16s; }

.cb_slideshow li:nth-child(2) .item {
  animation-delay: 8s; }

.cb_slideshow li:nth-child(3) .item {
  animation-delay: 16s; }

@keyframes imageAnimation {
  0% {
    opacity: 0;
    animation-timing-function: ease-in; }
  12% {
    opacity: 1;
    animation-timing-function: ease-out; }
  30% {
    opacity: 1; }
  60% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes titleAnimation {
  0% {
    opacity: 0; }
  12% {
    opacity: 1; }
  30% {
    opacity: 1; }
  58% {
    opacity: 0; }
  100% {
    opacity: 0; } }
.no-cssanimations .cb_slideshow li span {
  opacity: 1; }
