@charset "UTF-8";
/*
Theme Name: リグ・コーポレーション
Author: fois
*/
@keyframes slide-top {
  0% {
    opacity: 0;
    transform: translateY(284px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
@keyframes slide-bottom {
  0% {
    opacity: 0;
    transform: translateY(-466px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
@keyframes load {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
*,
*::after,
*::before {
  box-sizing: border-box; }

body,
button,
input,
select,
textarea {
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; }

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary,
div,
span,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
th,
td,
a,
img,
label,
form,
input,
textarea {
  margin: 0;
  padding: 0; }

ol,
ul {
  list-style: none; }

img {
  border: 0;
  line-height: 1;
  vertical-align: top; }
  @media (max-width: 767px) {
    img {
      height: auto; } }

a {
  background: transparent;
  cursor: pointer;
  outline: 0 none; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700; }

html {
  display: flex;
  flex-direction: column;
  font-size: 62.5%; }

body {
  color: #181b38;
  display: flex;
  flex-direction: column;
  min-height: 100vh; }
  @media (min-width: 768px), print {
    body {
      min-width: calc( 1000px + 40px );
      font-size: 1.4rem; } }
  @media (max-width: 767px) {
    body {
      font-size: 1.2rem; } }

main {
  flex: 1 1 auto;
  position: relative; }

.mg_tp10 {
  margin-top: 10px; }

.mg_bt10 {
  margin-bottom: 10px; }

.mg_tp20 {
  margin-top: 20px; }

.mg_bt20 {
  margin-bottom: 20px; }

.mg_tp30 {
  margin-top: 30px; }

.mg_bt30 {
  margin-bottom: 30px; }

.mg_tp40 {
  margin-top: 40px; }

.mg_bt40 {
  margin-bottom: 40px; }

.mg_tp50 {
  margin-top: 50px; }

.mg_bt50 {
  margin-bottom: 50px; }

.mg_tp60 {
  margin-top: 60px; }

.mg_bt60 {
  margin-bottom: 60px; }

.mg_tp70 {
  margin-top: 70px; }

.mg_bt70 {
  margin-bottom: 70px; }

.mg_tp80 {
  margin-top: 80px; }

.mg_bt80 {
  margin-bottom: 80px; }

body {
  line-height: 1.8;
  position: relative; }
  @media (min-width: 768px), print {
    body {
      min-width: 1000px; } }
  @media (max-width: 767px) {
    body {
      overflow-x: hidden; } }

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

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

a {
  background-color: transparent;
  color: #181b38;
  cursor: pointer;
  text-decoration: none;
  transition: color .2s, background .2s, opacity .2s; }
  a:hover {
    color: #747688; }
  @media (min-width: 768px), print {
    a[href^="tel:"] {
      pointer-events: none; } }

a[target=_blank] {
  position: relative; }

.alignleft {
  margin-bottom: 1.62em;
  display: inline;
  float: left;
  margin-right: 1.62em; }

.alignright {
  margin-bottom: 1.62em;
  display: inline;
  float: right;
  margin-left: 1.62em; }

.aligncenter {
  margin-bottom: 1.62em;
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.wrap {
  margin: 0 auto;
  max-width: 1000px;
  position: relative; }

.clearfix::after {
  content: "";
  display: block;
  clear: both; }

.clear {
  clear: both; }

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

@media (max-width: 767px) {
  .sp_hide {
    display: none; } }

@media (min-width: 768px), print {
  .pc_br {
    display: inline-block; } }

@media (max-width: 767px) {
  .sp_br {
    display: inline-block; } }

.btn, .contact_btn input {
  background: #181b38;
  border: none;
  border-radius: 100px;
  color: #fff;
  cursor: pointer;
  display: block;
  line-height: 1.1;
  padding: 15px;
  text-align: center;
  transition: background .3s;
  width: 100%; }
  .btn:hover, .contact_btn input:hover {
    background: #747688;
    color: #fff; }

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0; }

input[type="number"] {
  -moz-appearance: textfield; }

header {
  align-items: center;
  background-color: transparent;
  display: flex;
  height: 62px;
  justify-content: space-between;
  left: 0;
  padding: 0 15px;
  position: fixed;
  right: 0;
  top: 0;
  transition: background .3s;
  z-index: 2; }
  header.com_head {
    background: #fff; }

@media (min-width: 768px), print {
  .head_logo {
    flex: 1 1 0%;
    padding: 0 15px; } }
@media (max-width: 767px) {
  .head_logo {
    height: 21px;
    width: 160px; } }
.head_logo a {
  display: block; }
  @media (min-width: 768px), print {
    .head_logo a {
      align-items: center;
      display: flex;
      max-width: 250px; } }
  @media (max-width: 767px) {
    .head_logo a {
      height: 21px; } }
.head_logo img {
  vertical-align: top; }

@media (min-width: 768px), print {
  .head_menu {
    display: none; } }
@media (max-width: 767px) {
  .head_menu {
    background: #181b38;
    display: block;
    height: 50px;
    right: 6px;
    position: absolute;
    top: 6px;
    width: 50px;
    z-index: 10; }
    .head_menu::before,
    .head_menu span::before,
    .head_menu span::after {
      background: #fff;
      content: "";
      display: block;
      height: 2px;
      left: 14px;
      position: absolute;
      transition: all 0.4s;
      transform: translateY(-50%);
      width: 22px; }
    .head_menu::before {
      top: 50%; }
    .head_menu span::before {
      top: calc(50% + 6px); }
    .head_menu span::after {
      top: calc(50% - 6px); }
    .head_menu.head_menu_show::before {
      display: none; }
    .head_menu.head_menu_show span::before, .head_menu.head_menu_show span::after {
      top: 50%; }
    .head_menu.head_menu_show span::before {
      transform: translateY(-50%) rotate(45deg); }
    .head_menu.head_menu_show span::after {
      transform: translateY(-50%) rotate(-45deg); } }

@media (max-width: 767px) {
  .head_nav {
    background: #fff;
    bottom: 200%;
    height: 100%;
    left: 0;
    overflow-y: auto;
    padding: 30px;
    position: fixed;
    transition: .5s bottom;
    width: 100%;
    z-index: 9; }
    .head_nav.head_nav_show {
      bottom: 0; } }
.head_nav ul {
  display: flex; }
  @media (max-width: 767px) {
    .head_nav ul {
      align-items: center;
      flex-direction: column;
      justify-content: center;
      height: 100%; } }
  @media (min-width: 768px), print {
    .head_nav ul li {
      margin: 0 3px; } }
  .head_nav ul li a {
    font-size: 1.55rem; }
    @media (min-width: 768px), print {
      .head_nav ul li a {
        align-items: center;
        border-radius: 100px;
        display: flex;
        justify-content: center;
        padding: 3px 12px; }
        .head_nav ul li a:hover {
          background-color: #181b38;
          color: #fff; } }
    @media (max-width: 767px) {
      .head_nav ul li a {
        display: block;
        font-weight: bold;
        padding: 15px; } }

footer {
  background: #181b38;
  position: relative; }

@media (min-width: 768px), print {
  .foot_top {
    align-items: center;
    display: flex;
    margin: auto;
    padding: 20px 100px 20px 0;
    max-width: 840px; } }
@media (max-width: 767px) {
  .foot_top {
    padding: 10px; } }

.foot_acc {
  color: #fff;
  flex: 1 1 0%;
  font-size: 1.3rem; }
  @media (max-width: 767px) {
    .foot_acc {
      display: none; } }
  .foot_acc dt {
    background: url("image/common/logo-w.svg") left center/59px auto no-repeat;
    margin-bottom: 10px;
    padding: 5px 0 5px 75px; }

@media (max-width: 767px) {
  .foot_contact {
    margin: auto;
    max-width: 160px; } }
.foot_contact a {
  border: 1px solid #fff;
  color: #fff;
  display: block;
  padding: 15px 15px 15px 65px;
  position: relative; }
  @media (max-width: 767px) {
    .foot_contact a {
      padding: 10px 10px 10px 50px; } }
  .foot_contact a::before {
    background: url("image/common/ico-contact.svg") center/30px auto no-repeat;
    border-right: 1px solid #fff;
    content: "";
    height: calc(100% - 10px);
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px; }
    @media (max-width: 767px) {
      .foot_contact a::before {
        background-size: 22px auto;
        width: 40px; } }
  .foot_contact a:hover {
    background: rgba(255, 255, 255, 0.2); }

.foot_nav {
  background: #747688; }
  @media (max-width: 767px) {
    .foot_nav {
      display: none; } }
  .foot_nav ul {
    display: flex;
    margin: auto;
    max-width: 840px; }
    .foot_nav ul a {
      color: #fff;
      display: block;
      padding: 10px 15px 10px 1em;
      position: relative; }
      .foot_nav ul a::before {
        background: #fff;
        border-radius: 2px;
        content: "";
        height: 2px;
        left: 3px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 2px; }
      .foot_nav ul a:hover {
        color: #181b38; }

.foot_copy {
  background: #babbc3;
  color: #000;
  font-size: 1.1rem;
  padding: 6px;
  text-align: center; }

.pagetop {
  bottom: 80px;
  height: 58px;
  opacity: 0;
  position: fixed;
  right: 60px;
  transition: opacity .5s;
  visibility: hidden;
  width: 58px; }
  @media (max-width: 767px) {
    .pagetop {
      height: 38px;
      bottom: 20px;
      right: 10px;
      width: 38px; } }
  .pagetop.pagetop_show {
    opacity: 1;
    visibility: visible; }
  .pagetop a {
    background: #fff;
    border-radius: 29px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
    display: block;
    height: 58px;
    padding: 15px 9px;
    width: 58px; }
    @media (max-width: 767px) {
      .pagetop a {
        height: 38px;
        padding: 12px 8px;
        width: 38px; } }
    .pagetop a:hover {
      opacity: .7; }
    .pagetop a img {
      width: 40px; }
      @media (max-width: 767px) {
        .pagetop a img {
          width: 22px; } }

.com_ttl {
  font-size: 2.7rem;
  font-weight: normal;
  margin-bottom: 35px;
  text-align: center; }
  @media (max-width: 767px) {
    .com_ttl {
      font-size: 1.65rem;
      margin-bottom: 15px; } }

.com_att li {
  padding-left: 1.2em;
  position: relative; }
  .com_att li::before {
    content: "※";
    left: 0;
    position: absolute; }

input[type="text"], input[type="email"], input[type="tel"], select, textarea {
  background: #fff;
  border: none;
  border-radius: 5px;
  box-shadow: 0 0 6px #bbdced;
  font-size: 1.6rem;
  padding: 7px;
  width: 100%; }

@media (min-width: 768px), print {
  textarea {
    height: 245px; } }
@media (max-width: 767px) {
  textarea {
    height: 140px; } }

::placeholder {
  color: #ccc; }

.home_main {
  background: radial-gradient(at 90% bottom, #e6f0f0, #bbdced); }
  @media (min-width: 768px), print {
    .home_main {
      height: 466px; } }
  @media (max-width: 767px) {
    .home_main {
      height: 230px; } }

.home_main_wrap {
  margin: 0 auto;
  max-width: 1000px;
  position: relative;
  background: url("image/home/ph-main.png") right bottom no-repeat;
  height: 100%; }
  @media (min-width: 768px), print {
    .home_main_wrap {
      padding-left: 34px;
      padding-top: 114px; } }
  @media (max-width: 767px) {
    .home_main_wrap {
      background-position: right -40px bottom;
      background-size: auto 190px;
      padding-left: 25px;
      padding-top: 85px;
      max-width: 400px; } }

.home_main_message p {
  display: flex; }
  @media (min-width: 768px), print {
    .home_main_message p {
      margin-bottom: 50px; } }
  @media (max-width: 767px) {
    .home_main_message p {
      margin-bottom: 16px; } }
  .home_main_message p span {
    display: block; }
    @media (min-width: 768px), print {
      .home_main_message p span {
        height: 62px; } }
    @media (max-width: 767px) {
      .home_main_message p span {
        height: 22px; } }
    .home_main_message p span img {
      height: 100%;
      width: auto; }

.home_method {
  background: #181b38;
  color: #fff;
  padding: 30px 20px 40px;
  text-align: center; }
  @media (max-width: 767px) {
    .home_method {
      padding: 25px 20px 30px; } }

.home_method_ttl {
  background: url("image/common/logo-w.svg") center top/108px 45px no-repeat;
  font-size: 1.6rem;
  margin-bottom: 35px;
  padding-top: 62px; }
  @media (max-width: 767px) {
    .home_method_ttl {
      background-size: 35px auto;
      font-size: 1.2rem;
      margin-bottom: 15px;
      padding-top: 23px; } }

.home_method_cap {
  font-size: 2.2rem;
  margin-bottom: 35px; }
  @media (max-width: 767px) {
    .home_method_cap {
      font-size: 1.6rem;
      margin-bottom: 15px;
      line-height: 1.7; } }

@media (min-width: 768px), print {
  .home_method_txt {
    font-size: 1.6rem;
    line-height: 2.5; } }
@media (max-width: 767px) {
  .home_method_txt {
    line-height: 1.7; } }

.home_bus {
  background: url("image/home/home-about-bg02.jpg") center/auto 100% repeat-x;
  color: #231815;
  overflow: hidden;
  padding-bottom: 45px;
  position: relative; }
  @media (max-width: 767px) {
    .home_bus {
      padding-bottom: 25px; } }
  .home_bus::after {
    background: url("image/home/home-bus-photo.png") left bottom no-repeat;
    content: "";
    position: absolute; }
    @media (min-width: 768px), print {
      .home_bus::after {
        bottom: -284px;
        height: 284px;
        width: 222px; } }
    @media (max-width: 767px) {
      .home_bus::after {
        background-size: 111px auto;
        bottom: -142px;
        height: 142px;
        width: 111px; } }

.home_bus_cont {
  background: url("image/home/home-about-bg01.png") center top no-repeat;
  padding-top: 40px;
  min-height: 466px;
  opacity: 0; }
  @media (max-width: 767px) {
    .home_bus_cont {
      background-size: auto 100%;
      padding-bottom: 60px;
      padding-top: 25px;
      min-height: 210px; } }

.home_bus_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: auto;
  max-width: 750px; }
  @media (max-width: 767px) {
    .home_bus_list {
      padding-left: 20px;
      padding-right: 20px;
      max-width: 500px; } }
  .home_bus_list li {
    margin: 15px 14px; }
    @media (max-width: 767px) {
      .home_bus_list li {
        height: 16px;
        margin: 0 8px 10px;
        vertical-align: top; } }
    .home_bus_list li img {
      height: 22px;
      width: auto; }
      @media (max-width: 767px) {
        .home_bus_list li img {
          height: 16px; } }

.home_bus_txt {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-weight: bold;
  line-height: 1.8;
  opacity: 0;
  transition: opacity .5s ease-in-out 1.5s; }
  @media (min-width: 768px), print {
    .home_bus_txt {
      display: flex;
      font-size: 1.7rem;
      justify-content: center;
      padding-left: 10px; } }
  @media (max-width: 767px) {
    .home_bus_txt {
      padding-left: 108px; } }

.home_bus.active::after {
  animation: slide-top 1s ease-in-out .5s both;
  bottom: 0;
  left: calc(50% - 500px); }
  @media (max-width: 767px) {
    .home_bus.active::after {
      left: -10px; } }
.home_bus.active .home_bus_cont {
  animation: slide-bottom .8s ease-in-out both;
  opacity: 1; }
.home_bus.active .home_bus_txt {
  opacity: 1; }

.home_feature {
  background: radial-gradient(at 90% 20%, #e6f0f0, #bbdced);
  overflow: hidden;
  padding-top: 40px;
  text-align: center; }
  @media (max-width: 767px) {
    .home_feature {
      padding-top: 25px; } }

.home_feature_ttl {
  margin-bottom: 5px; }

.home_feature_cap {
  margin-bottom: 30px; }
  @media (max-width: 767px) {
    .home_feature_cap {
      margin-bottom: 15px; } }

.home_feature_list li {
  color: #fff;
  margin-bottom: 40px;
  position: relative;
  text-align: left; }
  @media (max-width: 767px) {
    .home_feature_list li {
      margin-bottom: 15px; } }
  .home_feature_list li:nth-of-type(odd) {
    background: linear-gradient(to right, #181b38 50%, transparent 50%); }
    @media (max-width: 767px) {
      .home_feature_list li:nth-of-type(odd) {
        padding-right: 10px; } }
  .home_feature_list li:nth-of-type(even) {
    background: linear-gradient(to right, transparent 50%, #181b38 50%); }
    @media (max-width: 767px) {
      .home_feature_list li:nth-of-type(even) {
        padding-left: 10px; } }
  .home_feature_list li:nth-of-type(1) .home_feature_list_box {
    background-image: url("image/home/home-feature-num01.svg");
    background-position: 65px center; }
    @media (max-width: 767px) {
      .home_feature_list li:nth-of-type(1) .home_feature_list_box {
        background-position: 35px 25px;
        padding-bottom: 102px; } }
    .home_feature_list li:nth-of-type(1) .home_feature_list_box::after {
      background-image: url("image/home/home-feature-img01.svg"); }
      @media (min-width: 768px), print {
        .home_feature_list li:nth-of-type(1) .home_feature_list_box::after {
          height: 142px;
          right: 86px;
          top: 50%;
          transform: translateY(-50%);
          width: 172px; } }
      @media (max-width: 767px) {
        .home_feature_list li:nth-of-type(1) .home_feature_list_box::after {
          bottom: 10px;
          left: 94px;
          height: 92px;
          width: 112px; } }
  .home_feature_list li:nth-of-type(2) .home_feature_list_box {
    background-image: url("image/home/home-feature-num02.svg");
    background-position: 40px center; }
    @media (max-width: 767px) {
      .home_feature_list li:nth-of-type(2) .home_feature_list_box {
        background-position: 28px 25px;
        padding-bottom: 84px; } }
    .home_feature_list li:nth-of-type(2) .home_feature_list_box::after {
      background-image: url("image/home/home-feature-img02.svg"); }
      @media (min-width: 768px), print {
        .home_feature_list li:nth-of-type(2) .home_feature_list_box::after {
          height: 118px;
          right: -10px;
          top: 50%;
          transform: translateY(-50%);
          width: 190px; } }
      @media (max-width: 767px) {
        .home_feature_list li:nth-of-type(2) .home_feature_list_box::after {
          bottom: 10px;
          height: 74px;
          left: 50%;
          width: 120px; } }
  .home_feature_list li:nth-of-type(3) .home_feature_list_box {
    background-image: url("image/home/home-feature-num03.svg");
    background-position: 40px center; }
    @media (max-width: 767px) {
      .home_feature_list li:nth-of-type(3) .home_feature_list_box {
        background-position: 30px 25px;
        padding-bottom: 76px; } }
    .home_feature_list li:nth-of-type(3) .home_feature_list_box::after {
      background-image: url("image/home/home-feature-img03.svg"); }
      @media (min-width: 768px), print {
        .home_feature_list li:nth-of-type(3) .home_feature_list_box::after {
          bottom: 10px;
          height: 102px;
          right: 55px;
          width: 152px; } }
      @media (max-width: 767px) {
        .home_feature_list li:nth-of-type(3) .home_feature_list_box::after {
          bottom: 10px;
          height: 66px;
          left: 50%;
          transform: translateX(-50%);
          width: 100px; } }

.home_feature_list_box {
  background-color: #181b38;
  background-repeat: no-repeat;
  background-size: auto 105px;
  border-radius: 500px;
  min-height: 190px;
  margin: auto;
  padding: 30px 20px 30px 170px;
  position: relative;
  max-width: 850px; }
  @media (max-width: 767px) {
    .home_feature_list_box {
      background-size: auto 57px;
      min-height: 202px;
      padding: 20px 30px 20px 94px; } }
  .home_feature_list_box::after {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute; }

.home_feature_sttl {
  font-size: 2.5rem;
  font-weight: normal;
  margin-bottom: 15px; }
  @media (max-width: 767px) {
    .home_feature_sttl {
      font-size: 1.6rem;
      margin-bottom: 5px; } }

.home_feature_sub {
  background: url("image/home/home-feature-mark.svg") 130px 17px/25px auto no-repeat;
  overflow: hidden;
  text-align: left; }
  @media (min-width: 768px), print {
    .home_feature_sub {
      padding: 47px 280px 50px 205px; } }
  @media (max-width: 767px) {
    .home_feature_sub {
      background-position: 32px 0;
      background-size: 9px auto;
      padding: 0 20px 110px 63px; } }

.home_feature_sub_ph {
  position: absolute; }
  @media (min-width: 768px), print {
    .home_feature_sub_ph {
      bottom: 0;
      right: 90px; } }
  @media (max-width: 767px) {
    .home_feature_sub_ph {
      bottom: -30px;
      left: 0;
      margin: 0 auto;
      right: 0;
      width: 92px; } }

.home_concept {
  padding: 40px 0 60px;
  text-align: center; }
  @media (max-width: 767px) {
    .home_concept {
      padding: 35px 0 30px; } }
  .home_concept p {
    display: block;
    margin: 55px auto 0; }
    @media (max-width: 767px) {
      .home_concept p {
        margin-top: 26px; } }

@media (min-width: 768px), print {
  .home_concept_txt01 {
    width: 225px; } }
@media (max-width: 767px) {
  .home_concept_txt01 {
    width: 131px; } }

@media (min-width: 768px), print {
  .home_concept_txt02 {
    width: 503px; } }
@media (max-width: 767px) {
  .home_concept_txt02 {
    width: 279px; } }

@media (min-width: 768px), print {
  .home_concept_txt03 {
    width: 363px; } }
@media (max-width: 767px) {
  .home_concept_txt03 {
    width: 217px; } }

@media (min-width: 768px), print {
  .home_concept_txt04 {
    width: 323px; } }
@media (max-width: 767px) {
  .home_concept_txt04 {
    width: 189px; } }

@media (min-width: 768px), print {
  .home_concept_txt05 {
    width: 486px; } }
@media (max-width: 767px) {
  .home_concept_txt05 {
    width: 284px; } }

@media (min-width: 768px), print {
  .home_concept_txt06 {
    width: 632px; } }
@media (max-width: 767px) {
  .home_concept_txt06 {
    width: 328px; } }

@media (min-width: 768px), print {
  .home_concept_txt07 {
    width: 389px; } }
@media (max-width: 767px) {
  .home_concept_txt07 {
    width: 227px; } }

@media (min-width: 768px), print {
  .home_concept_txt08 {
    width: 637px; } }
@media (max-width: 767px) {
  .home_concept_txt08 {
    width: 224px; } }

@media (min-width: 768px), print {
  .home_concept_txt09 {
    width: 447px; } }
@media (max-width: 767px) {
  .home_concept_txt09 {
    width: 262px; } }

@media (min-width: 768px), print {
  .home_concept_txt10 {
    width: 485px; } }
@media (max-width: 767px) {
  .home_concept_txt10 {
    width: 289px; } }

@media (min-width: 768px), print {
  .home_concept_txt11 {
    width: 170px; } }
@media (max-width: 767px) {
  .home_concept_txt11 {
    width: 99px; } }

@media (min-width: 768px), print {
  .home_concept_txt12 {
    width: 400px; } }
@media (max-width: 767px) {
  .home_concept_txt12 {
    width: 234px; } }

@media (min-width: 768px), print {
  .home_concept_txt13 {
    width: 227px; } }
@media (max-width: 767px) {
  .home_concept_txt13 {
    width: 132px; } }

.home_company {
  background: linear-gradient(to bottom, #e6f0f0, #bbdced);
  padding: 40px 0 50px; }
  @media (max-width: 767px) {
    .home_company {
      padding: 30px 0; } }

.home_company_about {
  margin: 0 auto 55px;
  max-width: 690px; }
  @media (max-width: 767px) {
    .home_company_about {
      margin: 30px auto;
      width: 80%; } }

.home_company_dl {
  border-top: 1px solid #73899b;
  display: flex;
  flex-wrap: wrap; }
  .home_company_dl dt,
  .home_company_dl dd {
    border-bottom: 1px solid #73899b;
    padding: 15px 5px; }
    @media (max-width: 767px) {
      .home_company_dl dt,
      .home_company_dl dd {
        padding: 10px 5px; } }
  .home_company_dl dt {
    width: 150px; }
    @media (max-width: 767px) {
      .home_company_dl dt {
        width: 74px; } }
  .home_company_dl dd {
    width: calc(100% - 150px); }
    @media (max-width: 767px) {
      .home_company_dl dd {
        width: calc(100% - 74px); } }

.home_company_access {
  margin: auto;
  max-width: 715px; }
  @media (max-width: 767px) {
    .home_company_access {
      max-width: 338px; } }

@media (max-width: 767px) {
  .home_company_map {
    margin-top: -5px; } }

#loading {
  align-items: center;
  background-color: #181b38;
  display: flex;
  height: 100vh;
  justify-content: center;
  left: 0;
  position: fixed;
  top: 0;
  transition: all 1s;
  width: 100vw;
  z-index: 9999; }

.loaded {
  opacity: 0;
  visibility: hidden; }

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, #loading {
    opacity: 0;
    visibility: hidden; } }
.spinner {
  animation: load 1.4s infinite linear;
  background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  border-radius: 50%;
  height: 100px;
  margin: 50px auto;
  position: relative;
  text-indent: -9999em;
  transform: translateZ(0);
  width: 100px; }
  .spinner::before, .spinner::after {
    content: "";
    left: 0;
    position: absolute;
    top: 0; }
  .spinner::before {
    background: #fff;
    border-radius: 100% 0 0 0;
    height: 50%;
    width: 50%; }
  .spinner::after {
    background: #181b38;
    border-radius: 50%;
    bottom: 0;
    content: "";
    height: 75%;
    margin: auto;
    right: 0;
    width: 75%; }

.sub_main {
  background: radial-gradient(at 90% 90%, #bbdced, #e6f0f0);
  padding-top: 62px; }

.sub_wrap {
  margin: 0 auto;
  max-width: 1000px;
  position: relative;
  padding: 30px 15px;
  max-width: 800px; }

.contact_ttl {
  margin-bottom: 5px; }

.contact_txt {
  margin-bottom: 10px;
  text-align: center; }

.contact_info {
  border: 1px solid #73899b;
  line-height: 1.5;
  margin-bottom: 20px;
  padding: 12px; }

.contact_info_time {
  display: flex; }
  .contact_info_time dt::before {
    content: "・"; }
  .contact_info_time dt::after {
    content: "："; }

.contact_info_sub {
  border-top: 1px solid #73899b;
  margin-top: 12px;
  padding-top: 12px; }

.contact_tbl {
  border-bottom: 1px solid #73899b;
  margin-bottom: 20px;
  width: 100%; }
  @media (max-width: 767px) {
    .contact_tbl {
      display: block; } }
  @media (max-width: 767px) {
    .contact_tbl tr, .contact_tbl th, .contact_tbl td {
      display: block;
      width: 100%; } }
  .contact_tbl th {
    font-weight: normal;
    text-align: left;
    vertical-align: top; }
    @media (min-width: 768px), print {
      .contact_tbl th {
        padding: 14px 0 9px;
        width: 130px; } }
    .contact_tbl th .required {
      color: #5d5f74;
      display: inline-block;
      font-weight: bold;
      margin-left: 5px; }
      .contact_tbl th .required::before {
        content: "*"; }
  @media (min-width: 768px), print {
    .contact_tbl td {
      padding: 9px 0; } }
  @media (max-width: 767px) {
    .contact_tbl td {
      padding: 5px 0 10px; } }
  .contact_tbl td.contact_tbl_mess {
    padding-bottom: 30px; }

.contact_tbl_mail {
  margin-bottom: 18px; }

.contact_dl dt {
  color: #5d5f74;
  font-weight: bold;
  margin-bottom: 3px; }
.contact_dl dd {
  margin-bottom: 9px; }
  .contact_dl dd:last-of-type {
    margin-bottom: 0; }

.contact_pp {
  background: #fff;
  border: 1px solid #181b38;
  line-height: 1.4;
  margin-bottom: 15px;
  overflow-y: auto; }
  @media (min-width: 768px), print {
    .contact_pp {
      font-size: 1.3rem;
      height: 230px;
      padding: 10px 20px; } }
  @media (max-width: 767px) {
    .contact_pp {
      height: 220px;
      padding: 10px; } }
  .contact_pp p {
    margin-bottom: 1em; }

.contact_pp_ttl {
  border-bottom: 3px solid #8b8d9b;
  color: #5d5f74;
  font-weight: bold;
  padding-bottom: 2px; }
  @media (min-width: 768px), print {
    .contact_pp_ttl {
      font-size: 1.7rem;
      margin-bottom: 15px; } }
  @media (max-width: 767px) {
    .contact_pp_ttl {
      font-size: 1.4rem;
      margin-bottom: 10px; } }

.contact_pp_dl dt {
  color: #5d5f74;
  font-weight: bold; }
  @media (min-width: 768px), print {
    .contact_pp_dl dt {
      font-size: 1.6rem; } }
  @media (max-width: 767px) {
    .contact_pp_dl dt {
      font-size: 1.2rem; } }
.contact_pp_dl dd {
  margin-bottom: 1em; }
  .contact_pp_dl dd ol {
    counter-reset: number; }
    .contact_pp_dl dd ol li {
      padding-left: 15px;
      position: relative; }
      .contact_pp_dl dd ol li::before {
        counter-increment: number;
        content: counter(number) ".";
        left: 0;
        position: absolute; }

.contact_pp_name {
  margin-bottom: 20px;
  text-align: right; }

.contact_pp_check {
  text-align: center;
  margin-bottom: 15px; }

.contact_btn_bk {
  margin-top: 10px; }
  .contact_btn_bk input {
    background: none;
    border: none;
    color: #181b38;
    cursor: pointer;
    transition: color .3s; }
    .contact_btn_bk input:hover {
      color: #747688; }

.center_btn {
  max-width: 300px;
  margin: 30px auto 0; }
