@charset "UTF-8";
/*
*   CSS 変数
*----------------------------*/
:root {
  /********** font family **********/
  --fontFamily_base: "Noto Sans JP", sans-serif;
  --fontFamily_sub: "Montserrat", sans-serif;
  /********** font size **********/
  --fontSize_base: 18px;
  --fontSize_base_mbl: 16px;
  /********** font weight **********/
  --font-weight_base: 400;
  /********** line height **********/
  --lineHeight_base: 1.8em;
  /********** letter spacing **********/
  --letterSpacing_base: 0.06em;
  /********** color **********/
  /*** BASE ***/
  --color_main: #41b0e4;
  --color_sub: #f4869d;
  --color_accent: #f4869d;
  --color_font: #284b66;
  --color_font_sub: #666;
  --color_link: #284b66;
  --color_bg: #fff;
  /* メインカラー透過色（style9で使用） */
  --color_main_alpha: rgba(65, 176, 228, 0.2);
  /*** グラデーション ***/
  --gradation_default: linear-gradient(90deg, #ffedeb, #e6f6fc);
  /*** TABLE ***/
  --tableTh_color: #e5f6ff;
  --tableLine_color: #ccc;
  /*** 下層パーツ ***/
  --color_parts_main: var(--color_main);
  --color_parts_sub: #e5f6ff;
  --color_parts_sub__02: #fdf2f5;
  --color_parts_accent: #f48645;
  --color_parts_line: #cccccc;
  --color_parts_list-mark: var(--color_parts_main);
  --color_style_font__01: var(--color_parts_main);
  --color_style_font__02: var(--color_parts_accent);
  --path_btn_icon: url(../images/common/arrow_w.svg);
  --path_btn_icon_new-window: url(../images/common/icon/icon_new-window_w.svg);
  /********** width **********/
  /* コンテンツ幅 */
  --width_base: 1200px;
  /* 最小ブラウザ幅（設定幅未満は横スクロール） */
  --width_min_base: 320px;
  /* MOBILEメニュー幅 */
  --mobileMenu_width_tab: 360px;
  --mobileMenu_width_sp: 320px;
  /********** base padding **********/
  --sidePadding_base: 30px;
  --sidePadding_base_mbl: 20px;
  /********** break point **********/
  --width-tab__min: 600px;
  --width-tab__max: 1024px;
  /********** base header height **********/
  --height-header: 220px;
  --height-header_scrolled: 130px;
  --height-header_mbl: 60px;
}

/*
  File Name   : body.css
  Description : Write content styles
*/
/* default
============================================================ */
/*** structure ***/
html {
  overflow-y: scroll;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: var(--fontSize_base);
  background-color: var(--color_bg);
}
@media only screen and (max-width: 1024px) {
  html {
    font-size: var(--fontSize_base_mbl);
  }
}

*, *:before, *:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  font-style: normal;
}

body.sougoui {
  min-width: var(--width_min_base);
  margin: 0;
  color: var(--color_font);
  font-family: var(--fontFamily_base);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: var(--fontSize_base);
  font-weight: var(--font-weight_base);
  letter-spacing: var(--letterSpacing_base);
  line-height: var(--lineHeight_base);
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  word-break: break-all;
  padding-top: var(--height-header);
  background-color: var(--color_bg);
}
@media only screen and (max-width: 1024px) {
  body.sougoui {
    font-size: var(--fontSize_base_mbl);
    padding-top: var(--height-header_mbl);
  }
}
@media print {
  body.sougoui {
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
  }
}
body.sougoui#tinymce, body.sougoui.contentBody {
  background-color: #fff;
}
body.sougoui.top {
  padding-top: 0;
}

body > footer,
body > header {
  width: 100%;
  min-width: var(--width_min_base);
}

/*** text ***/
p {
  margin: 0;
  padding: 0;
  font-style: normal;
  font-weight: inherit;
  letter-spacing: var(--letterSpacing_base);
  line-height: var(--lineHeight_base);
}

div {
  font-style: normal;
  font-weight: inherit;
  letter-spacing: var(--letterSpacing_base);
  line-height: var(--lineHeight_base);
}

picture {
  display: block;
}

h1,
h2,
h3,
h4 {
  line-height: 1;
  margin: 0;
}

h4,
h5,
h6 {
  font-size: 1em;
  margin: 0;
}

small,
.font-small {
  font-size: 0.875em;
}

sub {
  vertical-align: baseline;
  position: relative;
  bottom: -0.2em;
  margin-left: 1px;
}

sup {
  vertical-align: baseline;
  position: relative;
  top: -0.4em;
  margin-left: 1px;
}

/*** list ***/
dl,
dt,
dd {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-style: normal;
  font-weight: normal;
}

li,
ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
}

/*** object ***/
embed,
object {
  vertical-align: bottom;
}

/*** presentation ***/
u {
  font-size: inherit;
  text-decoration: underline;
}

/*** hypertext ***/
a {
  font-size: inherit;
  color: var(--color_link);
}

a:hover,
a:active {
  opacity: 0.8;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}

a img {
  border: none;
}

/*** a tel: ***/
a[href^="tel:"] {
  color: inherit;
}
@media print, screen and (min-width: 600px) {
  a[href^="tel:"] {
    color: inherit;
    display: inline-block;
    pointer-events: none;
    text-decoration: none;
  }
}

/*** edit ***/
del {
  color: #666;
  font-size: inherit;
  text-decoration: line-through;
}

ins {
  border-bottom: 1px dotted #ccc;
  font-size: inherit;
  text-decoration: none;
}

/*** forms ***/
legend {
  white-space: normal;
}

button,
input,
label,
select,
textarea,
form img {
  vertical-align: middle;
}

button,
input,
select,
textarea {
  max-width: 100%;
}

input,
select,
textarea {
  outline: none;
  color: var(--color_font);
  border: 1px solid #6c6c6c;
}

input[type=text],
input[type=number],
input[type=search],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=month],
input[type=week],
input[type=time],
input[type=email],
input[type=tel],
input[type=telephone],
input[type=url],
input[type=password],
select,
textarea {
  max-width: 100%;
  border-radius: 0;
}

button,
input[type=color],
input[type=file],
input[type=image],
input[type=range] {
  border: none;
  padding: 0;
  background: none;
}

input[type=checkbox],
input[type=color],
input[type=radio],
input[type=range],
select {
  cursor: pointer;
}

input[type=color],
input[type=file],
input[type=image],
input[type=range] {
  border: none;
}

input[type=password] {
  ime-mode: disabled;
}

input[disabled],
input[readonly],
select[disabled],
select[readonly] {
  cursor: default;
}

textarea {
  resize: vertical;
}

form a img {
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}

form a img,
input[type=button],
input[type=image],
input[type=reset],
input[type=submit],
button {
  border-radius: 0;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}

form a:hover img,
form a:active img,
input[type=button]:hover,
input[type=button]:active,
input[type=image]:hover,
input[type=image]:active,
input[type=reset]:hover,
input[type=reset]:active,
input[type=submit]:hover,
input[type=submit]:active,
button:hover,
button:active {
  opacity: 0.8;
}

label.error,
input.error {
  background: #ffeeee;
}

/*** tables ***/
table {
  max-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}

table th,
table td {
  font-size: inherit;
  word-break: break-all;
}

table th > :last-child,
table td > :last-child {
  margin-bottom: 0;
}

/*** image ***/
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -ms-interpolation-mode: bicubic;
}

/*** selection ***/
::-moz-selection {
  color: #fff;
  background: #999;
  text-shadow: none;
}

::selection {
  color: #fff;
  background: #999;
  text-shadow: none;
}

input::-moz-selection, textarea::-moz-selection {
  color: var(--color_font);
}

input::selection,
textarea::selection {
  color: var(--color_font);
}

/*** placeholder ***/
::-webkit-input-placeholder {
  color: #6c6c6c;
  opacity: 1;
}
::-moz-placeholder {
  color: #6c6c6c;
  opacity: 1;
}
:-ms-input-placeholder {
  color: #6c6c6c;
  opacity: 1;
}
::-ms-input-placeholder {
  color: #6c6c6c;
  opacity: 1;
}
::placeholder {
  color: #6c6c6c;
  opacity: 1;
}

::-ms-input-placeholder {
  color: #6c6c6c;
  opacity: 1;
}

:focus::-webkit-input-placeholder {
  color: transparent;
}

:focus::-moz-placeholder {
  color: transparent;
}

:focus:-ms-input-placeholder {
  color: transparent;
}

:focus::-ms-input-placeholder {
  color: transparent;
}

:focus::placeholder {
  color: transparent;
}

:focus::-ms-input-placeholder {
  color: transparent;
}

/* utiiities
============================================================ */
/*** float ***/
.com-clear {
  clear: both;
}

/*** hide ***/
.com-hide {
  position: absolute;
  z-index: -1;
  overflow: hidden;
  text-align: left;
  text-indent: -9999px;
}

/*** clearfix ***/
.com-clearfix::before,
.com-clearfix::after {
  content: "";
  display: table;
}

.com-clearfix::after {
  clear: both;
}

/*** align ***/
.com-align_r {
  text-align: right !important;
}

.com-align_c {
  text-align: center !important;
}

.com-align_l {
  text-align: left !important;
}

.com-justify {
  text-align: justify;
}

/*** panel layout ***/
.com-panel-layout {
  display: table;
  width: auto;
  table-layout: fixed;
  word-spacing: -0.4em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.com-panel-layout .panel-layout-child,
.com-panel-layout > article,
.com-panel-layout > figure,
.com-panel-layout > li,
.com-panel-layout > div,
.com-panel-layout > p,
.com-panel-layout > section {
  display: inline-block;
  margin: 0;
  padding: 0;
  vertical-align: top;
  word-spacing: normal;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/*** disable-tel ***/
.com-disable-tel {
  cursor: default !important;
  pointer-events: none !important;
  text-decoration: none !important;
}

/*** color ***/
.red {
  color: red;
}

.red2 {
  color: #f80000;
}

.orange {
  color: orange;
}

.blue {
  color: blue;
}

.navy {
  color: navy;
}

.green {
  color: green;
}

.yellow {
  color: yellow;
}

.yellow2 {
  color: #ffff00;
}

/*** 印刷時用設定 ***/
@media print {
  body,
header,
footer {
    min-width: 1060px !important;
  }

  header {
    position: absolute !important;
  }
}