@charset "UTF-8";
/* Scss Document */
/* 変数 */
/* reset
============================================================*/
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - https://richclarkdesign.com 
Twitter: @rich_clark
*/

::selection {
  background: #2e3192;
  color: #fff;
}

::-moz-selection {
  background: #2e3192;
  color: #fff;
}

body {
  line-height: 1.4;
  position: relative;
  text-align: left;
  font-size: 16px;
  color: #333;
  -webkit-text-size-adjust: none;
  overflow-wrap: break-word;
  word-break: break-all;
  background: #fff;
  transform-origin: 0 0;
  hyphens: manual;
}

p {
  font-size: clamp(16px, 15.6px + 0.125vw, 18px);
  line-height: 1.4em;
  letter-spacing: 0.05em;
  font-weight: 300;
}

img, p {
  vertical-align: bottom;
}

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

address {
  font-style: normal;
  background: #DDDDDD;
  padding: 20px;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

table th {
  text-align: left;
  line-height: 1.4em;
  letter-spacing: 0.05em;
  font-size: 16px;
}

table td {
  text-align: left;
  line-height: 1.4em;
  letter-spacing: 0.05em;
  font-size: 16px;
}

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  color: #333;
  -webkit-transition: all .3s;
  transition: all .3s;
  font-weight: 400;
}

a *,
a img {
  -webkit-transition: all .3s;
  transition: all .3s;
}

a:hover {
  text-decoration: none;
  -webkit-transition: all .3s;
  transition: all .3s;
  color: #333333;
  opacity: 0.6;
}

a.op:hover,
a img:hover {
  opacity: 0.6;
  -webkit-transition: all .3s;
  transition: all .3s;
}

a:focus,
a:hover {
  outline: none;
  text-decoration: none;
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/* --------------------------------------------------------------------------
   WordPressログイン時の管理バー(Admin Bar)競合回避
   -------------------------------------------------------------------------- */
#wap {
  width: 100%;
  max-width: 2300px;
  /* 固定ヘッダー(120px)の高さ分をあける */
  margin: 120px auto auto;
  height: 100%;
  position: relative;
  overflow: hidden;
}

/* 
   WordPressログイン時に出力される「.admin-bar」クラスを判定し、
   ヘッダーと全体コンテナが管理バー(PC: 32px / SP: 46px)に潜り込まないよう位置をずらします。
*/
.admin-bar header {
  top: 32px !important;
}
.admin-bar #wap {
  margin-top: calc(120px + 32px) !important;
}

@media (max-width: 782px) {
  .admin-bar header {
    top: 46px !important;
  }
  .admin-bar #wap {
    margin-top: calc(120px + 46px) !important;
  }
}

/* --------------------------------------------------------------------------
   ユーティリティクラス
   -------------------------------------------------------------------------- */
.left {
  float: left;
}

.right {
  float: right;
}

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

.f_bold {
  font-weight: 800;
}

.f_10, .f_10 span { font-size: 10px; }
.f_12, .f_12 span { font-size: 12px; }
.f_14, .f_14 span { font-size: 14px; }
.f_18, .f_18 span { font-size: 18px; }
.f_20, .f_20 span { font-size: 20px; }
.f_21, .f_21 span { font-size: 21px; }
.f_22, .f_22 span { font-size: 22px; }
.f_24, .f_24 span { font-size: 24px; }
.f_26, .f_26 span { font-size: 26px; }
.f_28, .f_28 span { font-size: 28px; }
.f_32, .f_32 span { font-size: 32px; }
.f_36, .f_36 span { font-size: 36px; }
.f_40, .f_40 span { font-size: 40px; }
.f_42, .f_42 span { font-size: 42px; }
.f_48, .f_48 span { font-size: 48px; }
.f_56, .f_56 span { font-size: 56px; }
.f_60, .f_60 span { font-size: 60px; }
.f_64, .f_64 span { font-size: 64px; }
.f_72, .f_72 span { font-size: 72px; }
.f_84, .f_84 span { font-size: 84px; }
.f_96, .f_96 span { font-size: 96px; }

.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt40 { margin-top: 40px; }
.mt50 { margin-top: 50px; }
.mt60 { margin-top: 60px; }
.mt80 { margin-top: 80px; }
.mt100 { margin-top: 100px; }
.mt120 { margin-top: 120px; }
.mt-200 { margin-top: -200px; }

/* ==========================================================================
   ヘッダー領域
   ========================================================================== */
header {
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
  position: fixed;  
}

header .row {
  height: 120px;
  padding: 0 2%;
  box-sizing: border-box;
  background: #fff;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

header h1 {
  width: 20vw;
  max-width: 260px;
  margin: 0;
}

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

header nav.navbar {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

header nav h2 {
  margin: 0;
}

header nav h2 a {
  display: inline-block;
  text-align: center;
  padding: 15px 0 5px;
  margin: 0 1vw;
  position: relative;
}

header nav h2 a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #2e3192;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: center top;
  transform-origin: center top;
  -webkit-transition: -webkit-transform .3s;
  transition: transform .3s;
}

header nav h2 a:hover::after {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

header nav h2 a i.material-icons {
  -webkit-transition: 0s;
  transition: 0s;
  font-size: 18px;
  top: 3px;
}

/* ==========================================================================
   フッター・共通パーツ領域
   ========================================================================== */
footer ul i.filter_none {
  font-size: 18px;
  top: 2px;
}

.form_link {
  box-sizing: border-box;
}

.form_link .form_link_txt01 {
  background: #2e3192;
  border-radius: 30px;
  padding: 2px 0;
  text-align: center;
  color: #fff;
  display: inline-block;
  width: 100%;
}

.form_link .form_link_txt02 i,
.form_link .form_link_txt02 a {
  display: inline-block;
  color: #2e3192;
  font-size: 30px;
  font-weight: bold;
  padding: 10px 0 0px;
}

.form_link .form_link_txt02 i {
  margin-right: 10px;
}

.form_link .btn_main {
  width: 100%;
  padding: 15px 0;
}

#pagetop {
  position: fixed;
  bottom: 10%;
  right: 2%;
  z-index: 2000;
  line-height: 100%;
}

#pagetop a:hover p {
  opacity: 0.6;
}

.pc_none {
  display: none;
}

.sns-block{
  display: flex;
}

.sns-sc{
    width: 40%;
    margin:1% auto;
}
