@charset "UTF-8";

/*===============================================================

	読み込み

===============================================================*/

/*===============================================================

	変数

===============================================================*/

/*　画面左右のマージン　*/

/*　幅　*/

/*	グリッド幅  */

/*	セクション、コンテンツ間のマージン　*/

:root {

  /*



  .hoge {

  	transition: all 1s var(--ease-elastic-out);

  	opacity: 1;

  }



  */

  /* Sine（もっとも弱い） */

  --ease-sine-in: cubic-bezier(0.47, 0, 0.745, 0.715);

  --ease-sine-out: cubic-bezier(0.39, 0.575, 0.565, 1);

  --ease-sine-inout: cubic-bezier(0.445, 0.05, 0.55, 0.95);

  /* Quad（弱め。Sineより強く、Cubicより弱い） */

  --ease-quad-in: cubic-bezier(0.55, 0.085, 0.68, 0.53);

  --ease-quad-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);

  --ease-quad-inout: cubic-bezier(0.455, 0.03, 0.515, 0.955);

  /* Cubic（Quadより強く、Quartより弱い） */

  --ease-cubic-in: cubic-bezier(0.55, 0.055, 0.675, 0.19);

  --ease-cubic-out: cubic-bezier(0.215, 0.61, 0.355, 1);

  --ease-cubic-inout: cubic-bezier(0.645, 0.045, 0.355, 1);

  /* Quart（Cubicより強く、Quintより弱い） */

  --ease-quart-in: cubic-bezier(0.895, 0.03, 0.685, 0.22);

  --ease-quart-out: cubic-bezier(0.165, 0.84, 0.44, 1);

  --ease-quart-inout: cubic-bezier(0.77, 0, 0.175, 1);

  /* Quint（Quartより強く、Expoより弱い） */

  --ease-quint-in: cubic-bezier(0.755, 0.05, 0.855, 0.06);

  --ease-quint-out: cubic-bezier(0.23, 1, 0.32, 1);

  --ease-quint-inout: cubic-bezier(0.86, 0, 0.07, 1);

  /* Expo（もっとも強い） */

  --ease-expo-in: cubic-bezier(0.95, 0.05, 0.795, 0.035);

  --ease-expo-out: cubic-bezier(0.19, 1, 0.22, 1);

  --ease-expo-inout: cubic-bezier(1, 0, 0, 1);

  /* Circ（Expoのような強さを持つが、加速や減速の時間がよりゆるやか。） */

  --ease-circ-in: cubic-bezier(0.6, 0.04, 0.98, 0.335);

  --ease-circ-out: cubic-bezier(0.075, 0.82, 0.165, 1);

  --ease-circ-inout: cubic-bezier(0.785, 0.135, 0.15, 0.86);

  /* Back（少し行き過ぎてから戻ってくるような動き） */

  --ease-back-in: cubic-bezier(0.6, -0.28, 0.735, 0.045);

  --ease-back-out: cubic-bezier(0.175, 0.885, 0.32, 1.275);

  --ease-back-inout: cubic-bezier(0.68, -0.55, 0.265, 1.55);

  /* ぼよんぼよんする動き */

  --ease-elastic-out: linear(0, 0.2178 2.1%, 1.1144 8.49%, 1.2959 10.7%, 1.3463 11.81%, 1.3705 12.94%, 1.3726, 1.3643 14.48%, 1.3151 16.2%, 1.0317 21.81%, 0.941 24.01%, 0.8912 25.91%, 0.8694 27.84%, 0.8698 29.21%, 0.8824 30.71%, 1.0122 38.33%, 1.0357, 1.046 42.71%, 1.0416 45.7%, 0.9961 53.26%, 0.9839 57.54%, 0.9853 60.71%, 1.0012 68.14%, 1.0056 72.24%, 0.9981 86.66%, 1);

  /* バウンス */

  --ease-bounce-out: linear(0, 0.004, 0.016, 0.035, 0.063 9.1%, 0.141, 0.25, 0.391, 0.563, 0.765, 1, 0.891, 0.813 45.5%, 0.785, 0.766, 0.754, 0.75, 0.754, 0.766, 0.785, 0.813 63.6%, 0.891, 1 72.7%, 0.973, 0.953, 0.941, 0.938, 0.941, 0.953, 0.973, 1, 0.988, 0.984, 0.988, 1);

}



/*===============================================================

	色 _color.scss

===============================================================*/

.color_main {

  color: #333;

}



.color_main_hover {

  color: #252525;

}



.color_sub {

  color: #ccc;

}



.color_sub_hover {

  color: #ddd;

}



.color_red {

  color: #FA3A3A;

}



.color_red_hover {

  color: #d01010;

}



.color_brown {

  color: #847865;

}



.color_brown_hover {

  color: #6d614e;

}



.color_light_brown {

  color: #F1EDE7;

}



.color_light_brown_hover {

  color: #dcd6ce;

}



.color_blue {

  color: #3573FF;

}



.color_blue_hover {

  color: #0b49d5;

}



.color_light_blue {

  color: #ECF5F7;

}



.color_green {

  color: #0ABB0A;

}



.color_light_green {

  color: #D6F0DC;

}



.color_orange {

  color: #FF6A00;

}



.color_purple {

  color: #c001e6;

}



.color_yellow {

  color: #E4C200;

}



.color_light_yellow {

  color: #FFF5E0;

}



.color_beige {

  color: #F4F3E9;

}



.color_beige_dark {

  color: #e0decf;

}



.color_pink {

  color: #FD004E;

}



.color_light_pink {

  color: #FCEFF2;

}



.color_gray {

  color: #666;

}



.color_white {

  color: #fff;

}



.color_light_gray {

  color: #E3E3E3;

}



.color_key {

  color: #5987EF;

}



/*===============================================================



	_reset.scss 2021/9/24



===============================================================*/

/* 初期化

----------------------------------------------------------------*/

html {

  font-size: 62.5%;

}



html,

body,

div,

span,

applet,

object,

iframe,

h1,

h2,

h3,

h4,

h5,

h6,

p,

blockquote,

pre,

abbr,

acronym,

address,

big,

cite,

code,

del,

dfn,

em,

img,

ins,

kbd,

q,

s,

samp,

small,

strike,

strong,

sub,

sup,

tt,

var,

b,

u,

i,

center,

dl,

dt,

dd,

ol,

ul,

li,

fieldset,

form,

label,

legend,

table,

caption,

tbody,

tfoot,

thead,

tr,

th,

td,

article,

aside,

canvas,

details,

embed,

figure,

figcaption,

footer,

header,

hgroup,

menu,

nav,

output,

ruby,

section,

summary,

time,

mark,

audio,

video {

  margin: 0;

  padding: 0;

  border: 0;

  font-style: normal;

  font-weight: normal;

  vertical-align: baseline;

  outline: none;

  -webkit-box-sizing: border-box;

          box-sizing: border-box;

}



img {

  width: 100%;

  height: auto;

}



blockquote,

q {

  quotes: none;

}



blockquote:before,

blockquote:after,

q:before,

q:after {

  content: "";

  content: none;

}



input,

textarea {

  margin: 0;

  padding: 0;

}



input[type=submit],

textarea {

  font-family: inherit;

}



button {

  background-color: transparent;

  border: none;

  cursor: pointer;

  outline: none;

  padding: 0;

  -webkit-appearance: none;

     -moz-appearance: none;

          appearance: none;

}



table {

  border-collapse: collapse;

  border-spacing: 0;

}



body {

  font-family: "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", Osaka, sans-serif;

}



h1,

h2,

h3,

h4,

h5,

h6,

p,

li,

th,

td,

dt,

dd,

div {

  font-size: 1.6rem;

}

@media screen and (max-width: 800px) {

  h1,

  h2,

  h3,

  h4,

  h5,

  h6,

  p,

  li,

  th,

  td,

  dt,

  dd,

  div {

    font-size: 4vw;

  }

}



caption,

th,

td {

  text-align: left;

  vertical-align: top;

}



img {

  vertical-align: top;

  border: 0;

}



ul,

li {

  list-style: none;

}



option {

  padding-right: 1em;

}



address,

caption {

  font-style: normal;

  font-weight: normal;

}



a {

  text-decoration: underline;

}



ul a,

li a {

  zoom: 1;

}



strong {

  font-weight: bold;

}



em {

  font-style: italic;

}



/* HTML5

----------------------------------------------------------------*/

article,

aside,

details,

figcaption,

figure,

footer,

header,

hgroup,

menu,

nav,

section {

  display: block;

}



/*===============================================================

	_mixin.scss

===============================================================*/

/*===============================================================

	ボタン

	@include btn_base(#c00,#000,#fff,#fff,auto);

===============================================================*/

/*===============================================================

	矢印

	@include mx_arw();	

===============================================================*/

/*===============================================================

	三角

	@include mx_sankaku(幅,高さ,色,色hover,向き);	

===============================================================*/

/*===============================================================

	センタリング

	@include mx_margin_center();	

===============================================================*/

/*===============================================================

	斜線の背景

	@include mx_slash($color1,$color2,$width);	

===============================================================*/

/*===============================================================

	グラデーション

	@include mx_grade(色1,色2,向き（横:h / 縦:v）)

===============================================================*/

/*===============================================================

	font

===============================================================*/

@font-face {

  font-family: "Noto Sans JP";

  font-style: normal;

  font-weight: 400;

  src: url("/common/font/noto_sans/NotoSansCJKjp-Regular_subset.woff") format("woff");

}

@font-face {

  font-family: "Noto Sans JP";

  font-style: bold;

  font-weight: 800;

  src: url("/common/font/noto_sans/NotoSansCJKjp-Bold_subset.woff") format("woff");

}

@font-face {

  font-family: "YakuHanJP";

  font-style: normal;

  font-weight: normal;

  src: url("/common/font/yakuhan/YakuHanJP-Regular.woff2") format("woff2"), url("/common/font/yakuhan/YakuHanJP-Regular.woff") format("woff");

}

@font-face {

  font-family: "YakuHanJP";

  font-style: normal;

  font-weight: bold;

  src: url("/common/font/yakuhan/YakuHanJP-Bold.woff2") format("woff2"), url("/common/font/yakuhan/YakuHanJP-Bold.woff") format("woff");

}

body {

  font-family: "YakuHanJP", "Noto Sans JP", sans-serif;

}



.en {

  font-family: "Anton", sans-serif;

  font-weight: 400;

  font-style: normal;

}



/*===============================================================

	フォント

===============================================================*/

/*-------------------------------------------------------------

フォントサイズ

-------------------------------------------------------------*/

.fs_bass {

  font-size: 1.6rem;

}



.fs_xs {

  font-size: 1rem;

}



.fs_sm {

  font-size: 1.4rem;

}



.fs_md {

  font-size: 2rem;

}



.fs_lg {

  font-size: 2.5rem;

}



.fs_xl {

  font-size: 3rem;

}



.fs_xxl {

  font-size: 4rem;

}



.fs_xxxl {

  font-size: 5rem;

}



/* for TABLET */

/* SP */

@media screen and (max-width: 800px) {

  .fs_bass {

    font-size: 4vw;

  }

  .fs_xs {

    font-size: 3.2vw;

  }

  .fs_sm {

    font-size: 3.8vw;

  }

  .fs_md {

    font-size: 4.2vw;

  }

  .fs_lg {

    font-size: 4.2vw;

  }

  .fs_xl {

    font-size: 4.5vw;

  }

  .fs_xxl {

    font-size: 4.5vw;

  }

  .fs_xxxl {

    font-size: 5vw;

  }

}

/* for SP */

/*-------------------------------------------------------------

line-height

-------------------------------------------------------------*/

.lh_20 {

  line-height: 2;

}



.lh_19 {

  line-height: 1.9;

}



.lh_18 {

  line-height: 1.8;

}



.lh_17 {

  line-height: 1.7;

}



.lh_16 {

  line-height: 1.6;

}



.lh_15 {

  line-height: 1.5;

}



.lh_14 {

  line-height: 1.4;

}



.lh_13 {

  line-height: 1.3;

}



.lh_12 {

  line-height: 1.2;

}



.lh_11 {

  line-height: 1.1;

}



.lh_10 {

  line-height: 1;

}



/*===============================================================



	_common.scss 2021/9/24



===============================================================*/

/* html/body設定

----------------------------------------------------------------*/

body {

  width: 100%;

  color: #fff;

  background: #202020;

  text-align: left;

  position: relative;

  overflow-x: hidden;

  -webkit-text-size-adjust: none;

  /* 縦横文字サイズ同じ */

  -webkit-font-smoothing: antialiased;

  background-color: #202020;

  color: #fff;

}



a {

  -webkit-box-sizing: border-box;

          box-sizing: border-box;

  color: #06179b;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  text-decoration: underline;

}



a:hover {

  color: #6807f9;

  text-decoration: none;

}



/* a:focus {

	outline: 2px;

	box-shadow: 0 0 20px 0 $c_focus;

} */

a:focus,

button:focus,

select:focus {

  outline: 2px;

  -webkit-box-shadow: none;

          box-shadow: none;

}



a:focus-visible,

button:focus-visible,

select:focus-visible,

.select_wrap:focus-within {

  outline: 2px;

  -webkit-box-shadow: 0 0 20px 0 #00f;

          box-shadow: 0 0 20px 0 #00f;

}



.select_wrap:focus-within {

  outline: 2px;

  -webkit-box-shadow: 0 0 20px 0 #00f;

          box-shadow: 0 0 20px 0 #00f;

}



/* タブレット以下 */

/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～640px */

@media only screen and (max-width: 800px) {

  body {

    overflow-x: hidden;

  }

}

/* for SP max-width: 800px */

/*===============================================================



	基本文字サイズ、装飾



===============================================================*/

h1,

h2,

h3,

h4 {

  line-height: 1.5;

  font-weight: bold;

}



p {

  line-height: 2;

}



sup {

  margin: 0;

  padding: 0;

  font-size: 1.1rem;

}



.bold {

  font-weight: bold;

}



.txt_caption {

  font-size: small;

  line-height: 1.4;

}



/* タブレット以下 */

/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */

@media only screen and (max-width: 800px) {

  h1,

  h2,

  h3,

  h4,

  h5,

  h6,

  p,

  li,

  th,

  td,

  dt,

  dd,

  div {

    line-height: 1.6;

  }

  div,

  p {

    line-height: 1.8;

  }

  li {

    line-height: 1.6;

  }

}

/* for SP max-width: 800px */

@font-face {

  font-family: "icomoon2024";

  src: url("../../common/font/iconmoon/icomoon2024.eot?9csyn6");

  src: url("../../common/font/iconmoon/icomoon2024.eot?9csyn6#iefix") format("embedded-opentype"), url("../../common/font/iconmoon/icomoon2024.ttf?9csyn6") format("truetype"), url("../../common/font/iconmoon/icomoon2024.woff?9csyn6") format("woff"), url("../../common/font/iconmoon/icomoon2024.svg?9csyn6#icomoon2024") format("svg");

  font-weight: normal;

  font-style: normal;

  font-display: block;

}

[class^=icon_],

[class*=" icon_"] {

  /* use !important to prevent issues with browser extensions that change fonts */

  font-family: "icomoon2024" !important;

  speak: never;

  font-style: normal;

  font-weight: normal;

  font-variant: normal;

  text-transform: none;

  line-height: 1;

  /* Better Font Rendering =========== */

  -webkit-font-smoothing: antialiased;

  -moz-osx-font-smoothing: grayscale;

}



.icon_account_thin:before {

  content: "\e900";

}



.icon_arw_down_thin:before {

  content: "\e901";

}



.icon_arw_left_thin:before {

  content: "\e902";

}



.icon_arw_right_thin:before {

  content: "\e903";

}



.icon_arw_up_thin:before {

  content: "\e904";

}



.icon_bookmark_thin:before {

  content: "\e905";

}



.icon_calendar_thin:before {

  content: "\e906";

}



.icon_cart_thin:before {

  content: "\e907";

}



.icon_caution_thin:before {

  content: "\e908";

}



.icon_comment_thin:before {

  content: "\e909";

}



.icon_chat_thin:before {

  content: "\e90a";

}



.icon_check_thin:before {

  content: "\e90b";

}



.icon_clock_thin:before {

  content: "\e90c";

}



.icon_closs_thin:before {

  content: "\e90d";

}



.icon_document_thin:before {

  content: "\e90e";

}



.icon_download_thin:before {

  content: "\e90f";

}



.icon_eye_none_thin:before {

  content: "\e910";

}



.icon_eye_thin:before {

  content: "\e911";

}



.icon_favorite_thin:before {

  content: "\e912";

}



.icon_file_thin:before {

  content: "\e913";

}



.icon_filter_thin:before {

  content: "\e914";

}



.icon_home_thin:before {

  content: "\e915";

}



.icon_image_thin:before {

  content: "\e916";

}



.icon_information_thin:before {

  content: "\e917";

}



.icon_list_thin:before {

  content: "\e918";

}



.icon_lock_thin:before {

  content: "\e919";

}



.icon_mail_thin:before {

  content: "\e91a";

}



.icon_map_thin:before {

  content: "\e91b";

}



.icon_minus_thin:before {

  content: "\e91c";

}



.icon_mobile_thin:before {

  content: "\e91d";

}



.icon_new_tab_thin:before {

  content: "\e91e";

}



.icon_new_window_thin:before {

  content: "\e91f";

}



.icon_pdf_thin:before {

  content: "\e920";

}



.icon_plus_thin:before {

  content: "\e921";

}



.icon_refresh_thin:before {

  content: "\e922";

}



.icon_replay_thin:before {

  content: "\e923";

}



.icon_round_play_thin:before {

  content: "\e924";

}



.icon_round_stop_thin:before {

  content: "\e925";

}



.icon_search_thin:before {

  content: "\e926";

}



.icon_setting_thin:before {

  content: "\e927";

}



.icon_share_thin:before {

  content: "\e928";

}



.icon_star_thin:before {

  content: "\e929";

}



.icon_stop_thin:before {

  content: "\e92a";

}



.icon_tel_thin:before {

  content: "\e92b";

}



.icon_unlock_thin:before {

  content: "\e92c";

}



.icon_upload_thin:before {

  content: "\e92d";

}



.icon_video_thin:before {

  content: "\e92e";

}



.icon_zoom_in_thin:before {

  content: "\e92f";

}



.icon_zoom_out_thin:before {

  content: "\e930";

}



.icon_sns_facebook:before {

  content: "\e931";

}



.icon_sns_instagram:before {

  content: "\e932";

}



.icon_sns_note:before {

  content: "\e933";

}



.icon_sns_x:before {

  content: "\e934";

}



.icon_sns_youtube:before {

  content: "\e935";

}



.icon_download:before {

  content: "\e937";

}



.icon_arw_down:before {

  content: "\e938";

}



.icon_arw_left:before {

  content: "\e939";

}



.icon_arw:before,

.icon_arw_right:before {

  content: "\e93a";

}



.icon_arw_s_down:before {

  content: "\e93b";

}



.icon_arw_s_left:before {

  content: "\e93c";

}



.icon_arw_s_right:before {

  content: "\e93d";

}



.icon_arw_s_up:before {

  content: "\e93e";

}



.icon_arw_l_down:before {

  content: "\e93f";

}



.icon_arw_l_left:before {

  content: "\e940";

}



.icon_arw_l_right:before {

  content: "\e941";

}



.icon_arw_l_up:before {

  content: "\e942";

}



.icon_arw_up:before {

  content: "\e943";

}



.icon_paus:before {

  content: "\e944";

}



.icon_play:before {

  content: "\e945";

}



.icon_record:before {

  content: "\e946";

}



.icon_stop:before {

  content: "\e947";

}



.icon_dots:before {

  content: "\e948";

}



.icon_dots_v:before {

  content: "\e949";

}



.icon_sankaku_down:before {

  content: "\e94a";

}



.icon_sankaku_left:before {

  content: "\e94b";

}



.icon_sankaku:before,

.icon_sankaku_right:before {

  content: "\e94c";

}



.icon_sankaku_up:before {

  content: "\e94d";

}



.icon_clip:before {

  content: "\e94e";

}



.icon_music:before {

  content: "\e94f";

}



.icon_calculator:before {

  content: "\e950";

}



.icon_camera:before {

  content: "\e951";

}



.icon_check:before {

  content: "\e952";

}



.icon_heart:before {

  content: "\e953";

}



.icon_help:before {

  content: "\e954";

}



.icon_home1:before {

  content: "\e955";

}



.icon_photo:before {

  content: "\e956";

}



.icon_pc:before {

  content: "\e957";

}



.icon_map_pin:before {

  content: "\e958";

}



.icon_search:before {

  content: "\e959";

}



.icon_mail:before {

  content: "\e95a";

}



.icon_map:before {

  content: "\e95b";

}



.icon_message:before {

  content: "\e95c";

}



.icon_mobile:before {

  content: "\e95d";

}



.icon_blank:before {

  content: "\e95e";

}



.icon_share:before {

  content: "\e95f";

}



.icon_cart:before {

  content: "\e960";

}



.icon_info:before {

  content: "\ea0c";

}



.icon_pdf:before {

  content: "\eadf";

}



.icon_word:before {

  content: "\eae1";

}



.icon_excel:before {

  content: "\eae2";

}



/*===============================================================



	skip_link



===============================================================*/

.skip_link {

  z-index: 99999;

  position: absolute;

  top: -100px;

  left: 5px;

  background-color: #333;

  color: #fff;

  width: 22rem;

  line-height: 3;

  text-align: center;

  font-weight: bold;

  border-radius: 5px;

  font-size: 1.8rem;

}

.skip_link:focus {

  top: 5px;

}

.skip_link:hover {

  background-color: #333;

  color: #fff;

}

.skip_link {

  /* タブレット */

}

.skip_link {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .skip_link {

    width: 20rem;

    font-size: 1.6rem;

  }

}

.skip_link {

  /* for SP */

}



/*===============================================================



	_utils.scss 2021/9/24



===============================================================*/

.align_center {

  text-align: center !important;

}



.align_right {

  text-align: right !important;

}



.align_left {

  text-align: left !important;

}



@media only screen and (max-width: 800px) {

  .sp_align_center {

    text-align: center !important;

  }

  .sp_align_right {

    text-align: right !important;

  }

  .sp_align_left {

    text-align: left !important;

  }

}

/* for SP  */

/*===============================================================



	フロート関係



===============================================================*/

.clear {

  width: 100%;

  overflow: hidden;

}



.clearboth {

  clear: both;

}



.cf:before,

.cf:after {

  content: " ";

  display: table;

}



.cf:after {

  clear: both;

}



.cf {

  *zoom: 1;

}



.flol {

  float: left;

}



.flor {

  float: right;

}



/*===============================================================



	PC/SP/TABLET



===============================================================*/

.sp {

  display: none;

}



.tablet {

  display: none;

}



.sp {

  display: none;

}



.sp_tablet {

  display: none;

}



.none {

  display: none !important;

}



/* タブレット以下 */

@media screen and (max-width: 1070px) {

  .pc {

    display: none;

  }

  .tablet,

  .pc_tablet,

  .sp_tablet {

    display: block;

  }

}

/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */

@media only screen and (max-width: 800px) {

  .sp {

    display: block;

  }

  .pc_tablet,

  .tablet {

    display: none;

  }

}

/* for SP max-width: 800px */

/*-------------------------------------------------------------

	font	

-------------------------------------------------------------*/

.font_ss {

  font-size: smaller;

  font-size: 70%;

}



.font_s {

  font-size: small;

  font-size: 80%;

}



.font_m {

  font-size: medium;

  font-size: 90%;

}



.font_l {

  font-size: large;

  font-size: 120%;

}



.font_xl {

  font-size: larger;

  font-size: 140%;

}



/*===============================================================



	img fig



===============================================================*/



.fig img,

.fitimg img,

.photo img {

  width: 100%;

  height: auto;

}



.video_container {

  position: relative;

  width: 100%;

  padding-top: 56.25%;

}



.video_container iframe {

  position: absolute;

  top: 0;

  right: 0;

  width: 100% !important;

  height: 100% !important;

}



/* タブレット以下 */

/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */

/* for SP max-width: 800px */

/*===============================================================

js_multilinkarea js_linkarea

===============================================================*/

.js_linkarea,

.js_multilinkarea {

  cursor: pointer;

}



/*===============================================================

    js_scroll

===============================================================*/

.js_scroll {

  -webkit-transition: all 0s;

  transition: all 0s;

}

.js_scroll.is_active {

  -webkit-transition: all 1s;

  transition: all 1s;

}

.js_scroll {

  /* タブレット */

}

.js_scroll {

  /* for TABLET */

  /* SP */

}

.js_scroll {

  /* for SP */

}



/*===============================================================

    js_fadein

===============================================================*/

.js_fadein {

  opacity: 0;

}

.js_fadein.is_active {

  opacity: 1;

}

.js_fadein {

  /* タブレット */

}

.js_fadein {

  /* SP */

}

/*===============================================================

    js_fadein_up

===============================================================*/

.js_fadein_up {

  opacity: 0;

  -webkit-transform: translateY(3vw);

          transform: translateY(3vw);

}

.js_fadein_up.is_active {

  opacity: 1;

  -webkit-transform: translateY(0vw);

          transform: translateY(0vw);

}



/*===============================================================

    js_fadein_down

===============================================================*/

.js_fadein_down {

  opacity: 0;

  -webkit-transform: translateY(-3vw);

          transform: translateY(-3vw);

}

.js_fadein_down.is_active {

  opacity: 1;

  -webkit-transform: translateY(0vw);

          transform: translateY(0vw);

}



/*===============================================================

    js_fadein_left

===============================================================*/

.js_fadein_left {

  opacity: 0;

  -webkit-transform: translateX(-3vw);

          transform: translateX(-3vw);

}

.js_fadein_left.is_active {

  opacity: 1;

  -webkit-transform: translateX(0vw);

          transform: translateX(0vw);

}



/*===============================================================

    js_fadein_right

===============================================================*/

.js_fadein_right {

  opacity: 0;

  -webkit-transform: translateX(3vw);

          transform: translateX(3vw);

}

.js_fadein_right.is_active {

  opacity: 1;

  -webkit-transform: translateX(0vw);

          transform: translateX(0vw);

}



/*===============================================================

    js_fadein_photo

===============================================================*/

.js_fadein_photo {

  overflow: hidden;

}

.js_fadein_photo img {

  -webkit-transition: all 1s;

  transition: all 1s;

  opacity: 0;

  -webkit-transform: scale(1);

          transform: scale(1);

}

.js_fadein_photo.is_active img {

  opacity: 1;

  -webkit-transform: scale(1.1);

          transform: scale(1.1);

}



/*===============================================================

	js_gsap_parallax_photo

===============================================================*/

.js_gsap_parallax_photo_reverse,

.js_gsap_parallax_photo {

  background-color: #000;

  overflow: hidden;

}



/*===============================================================

	js_2step

===============================================================*/

.js_2step, .js_2step_down, .js_2step_up {

  display: inline-block;

  position: relative;

  z-index: 1;

  overflow: hidden;

  height: -webkit-fit-content;

  height: -moz-fit-content;

  height: fit-content;

}

.js_2step::before, .js_2step_down::before, .js_2step_up::before, .js_2step::after, .js_2step_down::after, .js_2step_up::after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  left: 0;

  right: 0;

  margin: auto;

  width: 100%;

  height: 100%;

  background-color: #eee;

  -webkit-transform-origin: 0 0;

          transform-origin: 0 0;

  -webkit-transition: all 0.5s cubic-bezier(0.51, -0.01, 0.21, 1.01);

  transition: all 0.5s cubic-bezier(0.51, -0.01, 0.21, 1.01);

  z-index: 2;

}

.js_2step::after, .js_2step_down::after, .js_2step_up::after {

  background-color: #fff;

}

.js_2step.is_active::before, .is_active.js_2step_down::before, .is_active.js_2step_up::before, .js_2step.is_active::after, .is_active.js_2step_down::after, .is_active.js_2step_up::after {

  -webkit-transform-origin: 0 right;

          transform-origin: 0 right;

}

.js_2step.is_active::after, .is_active.js_2step_down::after, .is_active.js_2step_up::after {

  left: auto;

  right: 0;

  width: 0%;

}

.js_2step.is_active::before, .is_active.js_2step_down::before, .is_active.js_2step_up::before {

  -webkit-transition-delay: 0.5s;

          transition-delay: 0.5s;

  left: auto;

  right: 0;

  width: 0%;

}



/*===============================================================

	js_2step_up

===============================================================*/

.js_2step_up.is_active::before, .js_2step_up.is_active::after {

  -webkit-transform-origin: top 0;

          transform-origin: top 0;

  top: 0;

  bottom: auto;

  left: auto;

  right: auto;

  width: 100%;

  height: 0%;

}



/*===============================================================

	js_2step_down

===============================================================*/

.js_2step_down.is_active::before, .js_2step_down.is_active::after {

  -webkit-transform-origin: bottom 0;

          transform-origin: bottom 0;

  top: auto;

  bottom: 0;

  left: auto;

  right: auto;

  width: 100%;

  height: 0%;

}



/*===============================================================



	マージン



===============================================================*/

.mt0 {

  margin-top: 0px !important;

}



.mt05 {

  margin-top: 0.5rem !important;

}



.mt10 {

  margin-top: 1rem !important;

}



.mt15 {

  margin-top: 1.5rem !important;

}



.mt20 {

  margin-top: 2rem !important;

}



.mt25 {

  margin-top: 2.5rem !important;

}



.mt30 {

  margin-top: 3rem !important;

}



.mt40 {

  margin-top: 4rem !important;

}



.mt50 {

  margin-top: 5rem !important;

}



.mt60 {

  margin-top: 6rem !important;

}



.mt70 {

  margin-top: 7rem !important;

}



.mt80 {

  margin-top: 8rem !important;

}



.mt90 {

  margin-top: 9rem !important;

}



.mt100 {

  margin-top: 10rem !important;

}



/* タブレット以下 */

@media screen and (max-width: 1070px) {

  .mt0 {

    margin-top: 0px !important;

  }

  .mt05 {

    margin-top: 0.47vw !important;

  }

  .mt10 {

    margin-top: 0.93vw !important;

  }

  .mt15 {

    margin-top: 1.4vw !important;

  }

  .mt20 {

    margin-top: 1.87vw !important;

  }

  .mt25 {

    margin-top: 2.34vw !important;

  }

  .mt30 {

    margin-top: 2.8vw !important;

  }

  .mt40 {

    margin-top: 3.74vw !important;

  }

  .mt50 {

    margin-top: 4.67vw !important;

  }

  .mt60 {

    margin-top: 5.61vw !important;

  }

  .mt70 {

    margin-top: 6.54vw !important;

  }

  .mt80 {

    margin-top: 7.48vw !important;

  }

  .mt90 {

    margin-top: 8.41vw !important;

  }

  .mt100 {

    margin-top: 9.35vw !important;

  }

  .mb05 {

    margin-bottom: 0.47vw !important;

  }

  .mb10 {

    margin-bottom: 0.93vw !important;

  }

  .mb15 {

    margin-bottom: 1.4vw !important;

  }

  .mb20 {

    margin-bottom: 1.87vw !important;

  }

  .mb25 {

    margin-bottom: 2.34vw !important;

  }

  .mb30 {

    margin-bottom: 2.8vw !important;

  }

  .mt05 {

    margin-top: 0.47vw !important;

  }

  .mt10 {

    margin-top: 0.93vw !important;

  }

  .mt15 {

    margin-top: 1.4vw !important;

  }

  .mt20 {

    margin-top: 1.87vw !important;

  }

  .mt25 {

    margin-top: 2.34vw !important;

  }

  .mt30 {

    margin-top: 2.8vw !important;

  }

  .mt40 {

    margin-top: 3.74vw !important;

  }

  .mt50 {

    margin-top: 4.67vw !important;

  }

  .mt60 {

    margin-top: 5.61vw !important;

  }

  .mt70 {

    margin-top: 6.54vw !important;

  }

  .mt80 {

    margin-top: 7.48vw !important;

  }

  .mt90 {

    margin-top: 8.41vw !important;

  }

  .mt100 {

    margin-top: 9.35vw !important;

  }

  .mb05 {

    margin-bottom: 0.47vw !important;

  }

  .mb10 {

    margin-bottom: 0.93vw !important;

  }

  .mb15 {

    margin-bottom: 1.4vw !important;

  }

  .mb20 {

    margin-bottom: 1.87vw !important;

  }

  .mb25 {

    margin-bottom: 2.34vw !important;

  }

  .mb30 {

    margin-bottom: 2.8vw !important;

  }

  .mb40 {

    margin-bottom: 3.74vw !important;

  }

  .mb50 {

    margin-bottom: 4.67vw !important;

  }

  .mb60 {

    margin-bottom: 5.61vw !important;

  }

  .mb70 {

    margin-bottom: 6.54vw !important;

  }

  .mb80 {

    margin-bottom: 7.48vw !important;

  }

  .mb90 {

    margin-bottom: 8.41vw !important;

  }

  .mb100 {

    margin-bottom: 9.35vw !important;

  }

}

/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */

@media screen and (max-width: 800px) {

  .mt05 {

    margin-top: 0.63vw !important;

  }

  .mt10 {

    margin-top: 1.25vw !important;

  }

  .mt15 {

    margin-top: 1.88vw !important;

  }

  .mt20 {

    margin-top: 2.5vw !important;

  }

  .mt25 {

    margin-top: 3.13vw !important;

  }

  .mt30 {

    margin-top: 3.75vw !important;

  }

  .mt40 {

    margin-top: 5vw !important;

  }

  .mt50 {

    margin-top: 6.25vw !important;

  }

  .mt60 {

    margin-top: 7.5vw !important;

  }

  .mt70 {

    margin-top: 8.75vw !important;

  }

  .mt80 {

    margin-top: 10vw !important;

  }

  .mt90 {

    margin-top: 11.25vw !important;

  }

  .mt100 {

    margin-top: 12.5vw !important;

  }

  .mt0_sp {

    margin-top: 0 !important;

  }

  .mt05_sp {

    margin-top: 0.63vw !important;

  }

  .mt10_sp {

    margin-top: 1.25vw !important;

  }

  .mt15_sp {

    margin-top: 1.88vw !important;

  }

  .mt20_sp {

    margin-top: 2.5vw !important;

  }

  .mt25_sp {

    margin-top: 3.13vw !important;

  }

  .mt30_sp {

    margin-top: 3.75vw !important;

  }

  .mt40_sp {

    margin-top: 5vw !important;

  }

  .mt50_sp {

    margin-top: 6.25vw !important;

  }

  .mt60_sp {

    margin-top: 7.5vw !important;

  }

  .mt70_sp {

    margin-top: 8.75vw !important;

  }

  .mt80_sp {

    margin-top: 10vw !important;

  }

  .mt90_sp {

    margin-top: 11.25vw !important;

  }

  .mt100_sp {

    margin-top: 12.5vw !important;

  }

  .mb05_sp {

    margin-bottom: 0.63vw !important;

  }

  .mb10_sp {

    margin-bottom: 1.25vw !important;

  }

  .mb15_sp {

    margin-bottom: 1.88vw !important;

  }

  .mb20_sp {

    margin-bottom: 2.5vw !important;

  }

  .mb25_sp {

    margin-bottom: 3.13vw !important;

  }

  .mb30_sp {

    margin-bottom: 3.75vw !important;

  }

  .mb40_sp {

    margin-bottom: 5vw !important;

  }

  .mb50_sp {

    margin-bottom: 6.25vw !important;

  }

  .mb60_sp {

    margin-bottom: 7.5vw !important;

  }

  .mb70_sp {

    margin-bottom: 8.75vw !important;

  }

  .mb80_sp {

    margin-bottom: 10vw !important;

  }

  .mb90_sp {

    margin-bottom: 11.25vw !important;

  }

  .mb100_sp {

    margin-bottom: 12.5vw !important;

  }

}

/* for SP max-width: 800px */

/*-------------------------------------------------------------

 margin-bottom

-------------------------------------------------------------*/

.mb0 {

  margin-bottom: 0rem !important;

}



.mb05 {

  margin-bottom: 0.5rem !important;

}



.mb10 {

  margin-bottom: 1rem !important;

}



.mb15 {

  margin-bottom: 1.5rem !important;

}



.mb20 {

  margin-bottom: 2rem !important;

}



.mb25 {

  margin-bottom: 2.5rem !important;

}



.mb30 {

  margin-bottom: 3rem !important;

}



.mb40 {

  margin-bottom: 4rem !important;

}



.mb50 {

  margin-bottom: 5rem !important;

}



.mb60 {

  margin-bottom: 6rem !important;

}



.mb70 {

  margin-bottom: 7rem !important;

}



.mb80 {

  margin-bottom: 8rem !important;

}



.mb90 {

  margin-bottom: 9rem !important;

}



.mb100 {

  margin-bottom: 10rem !important;

}



@media screen and (max-width: 800px) {

  .mb05 {

    margin-bottom: 0.63vw !important;

  }

  .mb10 {

    margin-bottom: 1.25vw !important;

  }

  .mb15 {

    margin-bottom: 1.88vw !important;

  }

  .mb20 {

    margin-bottom: 2.5vw !important;

  }

  .mb25 {

    margin-bottom: 3.13vw !important;

  }

  .mb30 {

    margin-bottom: 3.75vw !important;

  }

  .mb40 {

    margin-bottom: 5vw !important;

  }

  .mb50 {

    margin-bottom: 6.25vw !important;

  }

  .mb60 {

    margin-bottom: 7.5vw !important;

  }

  .mb70 {

    margin-bottom: 8.75vw !important;

  }

  .mb80 {

    margin-bottom: 10vw !important;

  }

  .mb90 {

    margin-bottom: 11.25vw !important;

  }

  .mb100 {

    margin-bottom: 12.5vw !important;

  }

}

/* for SP */

/*-------------------------------------------------------------

 margin-left

-------------------------------------------------------------*/

.ml0 {

  margin-left: 0rem !important;

}



.ml05 {

  margin-left: 0.5rem !important;

}



.ml10 {

  margin-left: 1rem !important;

}



.ml15 {

  margin-left: 1.5rem !important;

}



.ml20 {

  margin-left: 2rem !important;

}



.ml25 {

  margin-left: 2.5rem !important;

}



.ml30 {

  margin-left: 3rem !important;

}



.ml40 {

  margin-left: 4rem !important;

}



.ml50 {

  margin-left: 5rem !important;

}



.ml60 {

  margin-left: 6rem !important;

}



.ml70 {

  margin-left: 7rem !important;

}



.ml80 {

  margin-left: 8rem !important;

}



.ml90 {

  margin-left: 9rem !important;

}



.ml100 {

  margin-left: 10rem !important;

}



@media screen and (max-width: 800px) {

  .ml05 {

    margin-left: 0.63vw !important;

  }

  .ml10 {

    margin-left: 1.25vw !important;

  }

  .ml15 {

    margin-left: 1.88vw !important;

  }

  .ml20 {

    margin-left: 2.5vw !important;

  }

  .ml25 {

    margin-left: 3.13vw !important;

  }

  .ml30 {

    margin-left: 3.75vw !important;

  }

  .ml40 {

    margin-left: 5vw !important;

  }

  .ml50 {

    margin-left: 6.25vw !important;

  }

  .ml60 {

    margin-left: 7.5vw !important;

  }

  .ml70 {

    margin-left: 8.75vw !important;

  }

  .ml80 {

    margin-left: 10vw !important;

  }

  .ml90 {

    margin-left: 11.25vw !important;

  }

  .ml100 {

    margin-left: 12.5vw !important;

  }

}

/* for SP */

/*-------------------------------------------------------------

 margin-right

-------------------------------------------------------------*/

.mr0 {

  margin-right: 0rem !important;

}



.mr05 {

  margin-right: 0.5rem !important;

}



.mr10 {

  margin-right: 1rem !important;

}



.mr15 {

  margin-right: 1.5rem !important;

}



.mr20 {

  margin-right: 2rem !important;

}



.mr25 {

  margin-right: 2.5rem !important;

}



.mr30 {

  margin-right: 3rem !important;

}



.mr40 {

  margin-right: 4rem !important;

}



.mr50 {

  margin-right: 5rem !important;

}



.mr60 {

  margin-right: 6rem !important;

}



.mr70 {

  margin-right: 7rem !important;

}



.mr80 {

  margin-right: 8rem !important;

}



.mr90 {

  margin-right: 9rem !important;

}



.mr100 {

  margin-right: 10rem !important;

}



@media screen and (max-width: 800px) {

  .mr05 {

    margin-right: 0.63vw !important;

  }

  .mr10 {

    margin-right: 1.25vw !important;

  }

  .mr15 {

    margin-right: 1.88vw !important;

  }

  .mr20 {

    margin-right: 2.5vw !important;

  }

  .mr25 {

    margin-right: 3.13vw !important;

  }

  .mr30 {

    margin-right: 3.75vw !important;

  }

  .mr40 {

    margin-right: 5vw !important;

  }

  .mr50 {

    margin-right: 6.25vw !important;

  }

  .mr60 {

    margin-right: 7.5vw !important;

  }

  .mr70 {

    margin-right: 8.75vw !important;

  }

  .mr80 {

    margin-right: 10vw !important;

  }

  .mr90 {

    margin-right: 11.25vw !important;

  }

  .mr100 {

    margin-right: 12.5vw !important;

  }

}

/* for SP */

/*===============================================================



	padding



===============================================================*/

.pt0 {

  padding-top: 0 !important;

}



.pb0 {

  padding-bottom: 0 !important;

}



@media screen and (max-width: 800px) {

  .pt0_sp {

    padding-top: 0 !important;

  }

}



@media screen and (max-width: 800px) {

  .pb0_sp {

    padding-bottom: 0 !important;

  }

}



/*===============================================================



    アニメーション



    animation: rotate_loop 40s linear infinite;



===============================================================*/

@-webkit-keyframes rotate_loop {

  0% {

    -webkit-transform: rotate(0deg);

            transform: rotate(0deg);

  }

  100% {

    -webkit-transform: rotate(360deg);

            transform: rotate(360deg);

  }

}

@keyframes rotate_loop {

  0% {

    -webkit-transform: rotate(0deg);

            transform: rotate(0deg);

  }

  100% {

    -webkit-transform: rotate(360deg);

            transform: rotate(360deg);

  }

}

@-webkit-keyframes rotate_loop_revers {

  0% {

    -webkit-transform: rotate(0deg);

            transform: rotate(0deg);

  }

  100% {

    -webkit-transform: rotate(-360deg);

            transform: rotate(-360deg);

  }

}

@keyframes rotate_loop_revers {

  0% {

    -webkit-transform: rotate(0deg);

            transform: rotate(0deg);

  }

  100% {

    -webkit-transform: rotate(-360deg);

            transform: rotate(-360deg);

  }

}

@-webkit-keyframes scale_bounse {

  0% {

    -webkit-transform: scale(1);

            transform: scale(1);

  }

  50% {

    -webkit-transform: scale(1.1);

            transform: scale(1.1);

  }

  100% {

    -webkit-transform: scale(1);

            transform: scale(1);

  }

}

@keyframes scale_bounse {

  0% {

    -webkit-transform: scale(1);

            transform: scale(1);

  }

  50% {

    -webkit-transform: scale(1.1);

            transform: scale(1.1);

  }

  100% {

    -webkit-transform: scale(1);

            transform: scale(1);

  }

}

@-webkit-keyframes kv_phone_animation {

  0% {

    -webkit-transform: translate(0, 0) rotate(0);

            transform: translate(0, 0) rotate(0);

  }

  50% {

    -webkit-transform: translate(0, 2rem) rotate(-2deg);

            transform: translate(0, 2rem) rotate(-2deg);

  }

  100% {

    -webkit-transform: translate(0, 0) rotate(0deg);

            transform: translate(0, 0) rotate(0deg);

  }

}

@keyframes kv_phone_animation {

  0% {

    -webkit-transform: translate(0, 0) rotate(0);

            transform: translate(0, 0) rotate(0);

  }

  50% {

    -webkit-transform: translate(0, 2rem) rotate(-2deg);

            transform: translate(0, 2rem) rotate(-2deg);

  }

  100% {

    -webkit-transform: translate(0, 0) rotate(0deg);

            transform: translate(0, 0) rotate(0deg);

  }

}

/*===============================================================



    c_return_to_top



===============================================================*/

.c_return_to_top {

  width: 100%;

  overflow: hidden;

}

.c_return_to_top a {

  display: block;

  right: 4rem;

  bottom: 4rem;

  width: 5rem;

  height: 5rem;

  color: #fff;

  background-color: #2D2C2C;

  text-indent: 100%;

  overflow: hidden;

  white-space: nowrap;

  z-index: 101;

  position: fixed;

  border-radius: 3rem;

  -webkit-transform: translateY(10rem);

          transform: translateY(10rem);

}

.c_return_to_top.show a {

  -webkit-transform: translateY(0);

          transform: translateY(0);

}

.c_return_to_top a:hover {

  background-color: #222;

}

.c_return_to_top a::after {

  position: absolute;

  content: " ";

  width: 1rem;

  height: 1rem;

  top: 2.2rem;

  left: 0;

  right: 0;

  bottom: auto;

  margin: auto;

  border-top: solid 2px #fff;

  border-left: solid 2px #fff;

  -webkit-transform: rotate(45deg);

          transform: rotate(45deg);

  border-radius: 2px;

}

.c_return_to_top {

  /* タブレット */

}

.c_return_to_top {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_return_to_top a {

    width: 40px;

    height: 40px;

    right: 3vw;

    bottom: 3vw;

  }

  .c_return_to_top a::after {

    width: 8px;

    height: 8px;

    top: 17px;

    left: 0;

    right: 0;

    bottom: auto;

  }

}

.c_return_to_top {

  /* for SP */

  /*===============================================================

      //	#btn_pagetop

  ===============================================================*/

}



/*===============================================================



    テーブル



===============================================================*/

.c_table table {

  width: 100%;

  text-align: left;

  font-size: 1.4rem;

  line-height: 1.5;

  border-collapse: separate;

  border-spacing: 0;

  border-bottom: solid 1px #ccc;

}

.c_table th,

.c_table td {

  padding: 1rem;

  border: solid 1px #ccc;

  border-bottom: 0;

}

.c_table th {

  font-weight: bold;

  border-right: 0;

  background: rgba(0, 0, 0, 0.05);

}

.c_table td + td {

  border-left: 0;

}

.c_table tr:nth-child(odd) {

  background: #fff;

}

.c_table tr:nth-child(even) {

  background: rgba(0, 0, 0, 0.05);

}

.c_table {

  /* タブレット */

}

.c_table {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_table {

    overflow-y: scroll;

  }

  .c_table table {

    padding: 0;

    margin-top: 0px;

    min-width: 200vw;

  }

  .c_table th,

  .c_table td {

    padding: 0.5rem;

    font-size: 1.5rem;

    line-height: 1.6;

  }

  .c_table tr:nth-child(odd),

  .c_table tr:nth-child(even) {

    background: #fff;

  }

}

.c_table {

  /* for SP */

  /*===============================================================

      //	c_table

  ===============================================================*/

}



[class^=c_btn] a,

[class^=c_btn] a:hover {

  text-decoration: none;

}



/*===============================================================



    btn_round



===============================================================*/

.c_btn, .c_btn_round, .c_btn__cta {

  width: 30%;

  max-width: 40rem;

}

* + .c_btn, * + .c_btn_round, * + .c_btn__cta {

  margin-top: 3rem;

}

.c_btn a, .c_btn_round a, .c_btn__cta a {

  text-decoration: none !important;

  display: block;

  text-align: center;

  color: #fff !important;

  background-color: none;

  border: solid 2px #fff;

  padding: 0.75em 1.5em;

  font-weight: bold;

  position: relative;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  min-height: 4em;

}

.c_btn a .label, .c_btn_round a .label, .c_btn__cta a .label {

  display: inline-block;

  font-weight: bold;

  font-size: 1.8rem;

  line-height: 1.3;

  color: #fff !important;

}

.c_btn, .c_btn_round, .c_btn__cta {

  /* 1. .label の中に icon_ がある場合 */

}

.c_btn, .c_btn_round, .c_btn__cta {

  /* 2. .label はあるが、その中に icon_ がない場合 */

}

.c_btn a:has(.label):not(:has(.label [class^=icon_])):has([class^=icon_]), .c_btn_round a:has(.label):not(:has(.label [class^=icon_])):has([class^=icon_]), .c_btn__cta a:has(.label):not(:has(.label [class^=icon_])):has([class^=icon_]) {

  padding-left: 2em;

  padding-right: 2em;

}

.c_btn, .c_btn_round, .c_btn__cta {

  /* 3. .label の中にも外にも icon_ が存在しない場合 */

}

.c_btn a:has(.label):not(:has([class^=icon_])), .c_btn_round a:has(.label):not(:has([class^=icon_])), .c_btn__cta a:has(.label):not(:has([class^=icon_])) {

  padding-left: 1.5em;

  padding-right: 1.5em;

}

@media screen and (max-width: 800px) {

  .c_btn a:has(.label):not(:has([class^=icon_])), .c_btn_round a:has(.label):not(:has([class^=icon_])), .c_btn__cta a:has(.label):not(:has([class^=icon_])) {

    padding-left: 2.5vw;

    padding-right: 2.5vw;

  }

}

.c_btn a:hover, .c_btn_round a:hover, .c_btn__cta a:hover {

  text-decoration: none;

  color: #202020;

  background-color: #fff;

}

.c_btn a:hover .label, .c_btn_round a:hover .label, .c_btn__cta a:hover .label {

  color: #202020 !important;

}

.c_btn, .c_btn_round, .c_btn__cta {

  /* タブレット */

}

.c_btn, .c_btn_round, .c_btn__cta {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_btn, .c_btn_round, .c_btn__cta {

    width: 90%;

  }

  * + .c_btn, * + .c_btn_round, * + .c_btn__cta {

    margin-top: 3rem;

  }

  .c_btn + .c_btn, .c_btn_round + .c_btn, .c_btn + .c_btn_round, .c_btn_round + .c_btn_round, .c_btn__cta + .c_btn, .c_btn__cta + .c_btn_round, .c_btn + .c_btn__cta, .c_btn_round + .c_btn__cta, .c_btn__cta + .c_btn__cta {

    margin-top: 1.5rem;

  }

  .c_btn a, .c_btn_round a, .c_btn__cta a {

    padding: 2.5vw 0;

  }

  .c_btn a .label, .c_btn_round a .label, .c_btn__cta a .label {

    font-size: 1.6rem;

  }

}

.c_btn, .c_btn_round, .c_btn__cta {

  /* for SP */

}



/*===============================================================



    c_btn__cta



===============================================================*/

.c_btn__cta {

  display: block;

  max-width: 100%;

  width: 100%;

}

.c_btn__cta a .label {

  width: 100%;

  display: block;

  text-align: right;

  font-size: 3rem;

  padding: 1.5em 2em;

  position: relative;

}

.c_btn__cta a .label::after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  right: 1em;

  margin: auto;

  border: solid 4px #fff;

  width: 0.6em;

  height: 0.6em;

  border-top: none;

  border-left: none;

  -webkit-transform: rotate(-45deg) translate(-1px, -1px);

          transform: rotate(-45deg) translate(-1px, -1px);

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

.c_btn__cta a:hover .label::after {

  border: solid 4px #202020;

  border-top: none;

  border-left: none;

}

@media screen and (max-width: 800px) {

  .c_btn__cta a .label {

    font-size: 5vw;

    padding: 0.5em 2em;

  }

  .c_btn__cta a .label::after {

    border: solid 2px #fff;

    width: 0.55em;

    height: 0.55em;

    border-top: none;

    border-left: none;

  }

  .c_btn__cta a:hover .label::after {

    border: solid 2px #202020;

    border-top: none;

    border-left: none;

  }

}



/*===============================================================

    //	btn

===============================================================*/

/*-------------------------------------------------------------

    c_btn_round	

-------------------------------------------------------------*/

.c_btn_round a {

  border-radius: 5rem;

}

.c_btn_round {

  /* タブレット */

}

.c_btn_round {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_btn_round a {

    border-radius: 100vw;

  }

}

.c_btn_round {

  /* for SP */

}



/*-------------------------------------------------------------

    icon	

-------------------------------------------------------------*/

span + [class^=icon_],

span + [class*=" icon_"] {

  position: absolute;

  top: 0;

  bottom: 0;

  right: 1.5rem;

  margin: auto;

  height: 1em;

  /* タブレット */

}

span + [class^=icon_],

span + [class*=" icon_"] {

  /* for TABLET */

  /* SP */

}

span + [class^=icon_],

span + [class*=" icon_"] {

  /* for SP */

}



/*-------------------------------------------------------------

    btn_line	

-------------------------------------------------------------*/

.c_btn_line a {

  border: solid 2px #06179b;

  background-color: transparent;

  color: #06179b;

  padding: calc(1.5em - 2px) 0;

}

.c_btn_line a:hover {

  background-color: transparent;

  color: #6807f9;

  border: solid 2px #6807f9;

}

.c_btn_line {

  /* タブレット */

}

.c_btn_line {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_btn_line a {

    padding: calc(2.5vw - 2px) 0;

  }

}

.c_btn_line {

  /* for SP */

}



/*-------------------------------------------------------------

    btn_flex	

-------------------------------------------------------------*/

.c_btn_flex {

  width: auto;

  display: inline-block;

  min-width: inherit;

  max-width: 60rem;

}

.c_btn_flex a {

  padding-left: 3rem;

  padding-right: 3rem;

}

.c_btn_flex {

  /* タブレット */

}

.c_btn_flex {

  /* for TABLET */

  /* SP */

}

.c_btn_flex {

  /* for SP */

}



/*-------------------------------------------------------------

    btn_deactive	

-------------------------------------------------------------*/

.c_btn_deactive a {

  pointer-events: none;

  border: dashed 2px rgba(6, 23, 155, 0.5);

  background-color: transparent;

  color: #06179b;

  padding: calc(1.5em - 2px) 0;

}

.c_btn_deactive a .label {

  opacity: 0.5;

}

.c_btn_deactive a [class^=icon_],

.c_btn_deactive a [class*=" icon_"] {

  opacity: 0.2;

}

.c_btn_deactive a:focus {

  outline: none !important;

  -webkit-box-shadow: 0;

          box-shadow: 0;

  -webkit-box-shadow: 0 0 20px 0 transparent;

          box-shadow: 0 0 20px 0 transparent;

}

.c_btn_deactive {

  /* タブレット */

}

.c_btn_deactive {

  /* for TABLET */

  /* SP */

}

.c_btn_deactive {

  /* for SP */

}



/*===============================================================



    c_btn_white



===============================================================*/

.c_btn_white a {

  background-color: #fff;

  color: #333;

}

.c_btn_white a:hover {

  background-color: #fff;

  color: #333;

  opacity: 0.7;

}

/*===============================================================



    c_btns



===============================================================*/

.c_btns {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  margin-top: -3rem;

}

.c_btns [class^=c_btn] {

  margin: 0 0;

  margin-top: 3rem;

}

.c_btns {

  /* --- 子要素3つの場合 --- */

}

.c_btns:has(> [class^=c_btn]:nth-child(3):last-child) {

  --btn-count: 3;

  gap: 3rem;

}

.c_btns:has(> [class^=c_btn]:nth-child(3):last-child) [class^=c_btn] {

  width: calc((100% - 6rem) / 3);

}

.c_btns {

  /* --- 子要素4つの場合 --- */

}

.c_btns:has(> [class^=c_btn]:nth-child(4):last-child) {

  --btn-count: 4;

  gap: 1rem;

}

.c_btns:has(> [class^=c_btn]:nth-child(4):last-child) [class^=c_btn] {

  width: calc((100% - 3rem) / 4);

}

.c_btns {

  /* --- 子要素2つの場合 --- */

}

.c_btns:has(> [class^=c_btn]:nth-child(2):last-child) {

  --btn-count: 2;

  gap: 3rem;

}

.c_btns:has(> [class^=c_btn]:nth-child(2):last-child) [class^=c_btn] {

  width: calc((100% - 4rem) / 3);

}

.c_btns {

  /* タブレット */

}

.c_btns {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_btns {

    margin-top: -3vw;

  }

  .c_btns [class^=c_btn] {

    margin: 0 0;

    margin-top: 3vw;

  }

  .c_btns {

    /* --- 子要素3つの場合 --- */

  }

  .c_btns:has(> [class^=c_btn]:nth-child(3):last-child) {

    --btn-count: 3;

    gap: 0 3vw;

  }

  .c_btns:has(> [class^=c_btn]:nth-child(3):last-child) [class^=c_btn] {

    width: calc((100% - 3vw) / 2);

  }

  .c_btns {

    /* --- 子要素4つの場合 --- */

  }

  .c_btns:has(> [class^=c_btn]:nth-child(4):last-child) {

    --btn-count: 4;

    gap: 0 3vw;

  }

  .c_btns:has(> [class^=c_btn]:nth-child(4):last-child) [class^=c_btn] {

    width: calc((100% - 3vw) / 2);

  }

  .c_btns {

    /* --- 子要素2つの場合 --- */

  }

  .c_btns:has(> [class^=c_btn]:nth-child(2):last-child) {

    --btn-count: 2;

    gap: 0 3vw;

  }

  .c_btns:has(> [class^=c_btn]:nth-child(2):last-child) [class^=c_btn] {

    width: calc((100% - 3vw) / 2);

  }

  .c_btns .c_btn_sp_1column {

    width: 100% !important;

  }

}

.c_btns {

  /* for SP */

  /*===============================================================

      //	c_btns

  ===============================================================*/

}



/*===============================================================



    c_txtlink



===============================================================*/

.c_txtlink a {

  color: #06179b;

  text-decoration: none;

  display: inline-block;

  position: relative;

}

.c_txtlink a:hover {

  color: #6807f9;

}

.c_txtlink [class^=icon_],

.c_txtlink [class*=" icon_"] {

  right: -1.2em;

}

.c_txtlink .icon_arw {

  vertical-align: -1px;

}

.c_txtlink {

  /* タブレット */

}

.c_txtlink {

  /* for TABLET */

  /* SP */

}

.c_txtlink {

  /* for SP */

  /*===============================================================

      //	c_txtlink

  ===============================================================*/

}



/*===============================================================



	c_datalist



===============================================================*/

.c_datalist {

  text-align: left;

}

.c_datalist dl {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  width: 100%;

  overflow: hidden;

  border-bottom: solid 1px #666;

}

.c_datalist dt,

.c_datalist dd {

  border-top: solid 1px #666;

  padding: 2rem 1rem;

}

.c_datalist dt {

  width: 25%;

  font-weight: bold;

}

.c_datalist dd {

  width: 75%;

}

.c_datalist {

  /* タブレット以下 */

}

.c_datalist {

  /* for tablet max-width: 960px */

  /* SP向けレイアウトの指定：～736px */

}

@media screen and (max-width: 800px) {

  .c_datalist {

    width: 100%;

    margin-top: 5vw;

  }

  .c_datalist dt,

  .c_datalist dd {

    width: 100%;

    font-size: 1.5rem;

    line-height: 1.4;

  }

  .c_datalist dt {

    padding: 1.5rem 0 0 0;

  }

  .c_datalist dd {

    width: 100%;

    border-top: none;

    padding: 0px 0 1.5rem 0;

    margin-top: 0.5rem;

  }

}

.c_datalist {

  /* for SP max-width: 736px */

}



/*-------------------------------------------------------------

    c_indent_list	

-------------------------------------------------------------*/

.c_indent_list {

  margin-top: 0.5em;

}

.c_indent_list li {

  font-size: 1.5rem;

  line-height: 1.6;

  padding-left: 1em;

  text-indent: -1em;

}

.c_indent_list li + li {

  margin-top: 0.3em;

}

.c_indent_list {

  /* タブレット */

}

.c_indent_list {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_indent_list li {

    font-size: 3.5vw;

  }

}

.c_indent_list {

  /* for SP */

}



/*---------------------------------------------------------------

		リスト

	---------------------------------------------------------------*/

.c_ul_list li {

  position: relative;

  padding-left: 1.6rem;

}

.c_ul_list li::after {

  content: "";

  position: absolute;

  top: 0.95rem;

  left: 0;

  width: 0.6rem;

  height: 0.6rem;

  border-radius: 50%;

  background: #333;

}

.c_ul_list li + li {

  margin-top: 0.5rem;

}

@media screen and (max-width: 800px) {

  .c_ul_list li {

    padding-left: 1.5rem;

  }

  .c_ul_list li::after {

    top: 1.15rem;

    width: 0.5rem;

    height: 0.5rem;

  }

  .c_ul_list li + li {

    margin-top: 0.5rem;

  }

}



/*---------------------------------------------------------------

		番号付きリスト

	---------------------------------------------------------------*/

.c_ol_list {

  counter-reset: li;

}

.c_ol_list li {

  position: relative;

  padding-left: 2rem;

}

.c_ol_list li:before {

  content: counter(li) "";

  position: absolute;

  top: 0;

  left: 0;

  font-weight: bold;

  color: #333;

  counter-increment: li;

}

.c_ol_list li + li {

  margin-top: 0.5rem;

}

@media screen and (max-width: 800px) {

  .c_ol_list li {

    padding-left: 1.5rem;

  }

  .c_ol_list li + li {

    margin-top: 0.5rem;

  }

}



/*===============================================================



	_headline.scss 2021/9/24



===============================================================*/

/*-------------------------------------------------------------

	mixin	

-------------------------------------------------------------*/

/*-------------------------------------------------------------

	headline	

-------------------------------------------------------------*/

.headline .title {

  font-size: 4rem;

  line-height: 1.3;

}

.headline .lead {

  font-size: 2rem;

}

.headline .title + .lead {

  margin-top: 1.5rem;

}

.headline .lead + .title {

  margin-top: 0.5rem;

}

.content * + .headline {

  margin-top: 10rem;

}

@media screen and (max-width: 800px) {

  .headline .title {

    font-size: 6.5vw;

    line-height: 1.4;

  }

  .headline .lead {

    font-size: 4vw;

    line-height: 1.7;

  }

  .headline .title + .lead {

    margin-top: 3vw;

  }

  .headline .lead + .title {

    margin-top: 1vw;

  }

  .content * + .headline {

    margin-top: 5rem;

  }

}



/*-------------------------------------------------------------

	content_title	

-------------------------------------------------------------*/

.content_title {

  margin-bottom: 3rem;

}

.content_title .title {

  font-size: 3rem;

}

.content_title .lead {

  font-size: 2rem;

  line-height: 1.6;

}

.content_title .title + .lead {

  margin-top: 1.5rem;

}

.content_title .lead + .title {

  margin-top: 1rem;

}

.content * + .content_title {

  margin-top: 10rem;

}

@media screen and (max-width: 800px) {

  .content_title .title {

    font-size: 5vw;

  }

  .content_title .lead {

    font-size: 4vw;

    line-height: 1.5;

  }

  .content_title .title + .lead {

    margin-top: 2vw;

  }

  .content_title .lead + .title {

    margin-top: 2vw;

  }

  .content * + .content_title {

    margin-top: 5rem;

  }

}



/*-------------------------------------------------------------

	lv_1	

-------------------------------------------------------------*/

.lv_1 .title {

  font-size: 3rem;

  line-height: 1.4;

}

.lv_1 .lead {

  font-size: 2rem;

}

.content * + .lv_1 {

  margin-top: 10rem;

}

@media screen and (max-width: 800px) {

  .lv_1 .title {

    font-size: 6vw;

  }

  .lv_1 .lead {

    font-size: 4vw;

    line-height: 1.5;

  }

  .lv_1 .title + .lead {

    margin-top: 1vw;

  }

  .lv_1 .lead + .title {

    margin-top: 0vw;

  }

  .content * + .lv_1 {

    margin-top: 5rem;

  }

}



/*-------------------------------------------------------------

	lv_2	

-------------------------------------------------------------*/

.lv_2 .title {

  font-size: 2.5rem;

}

.lv_2 .lead {

  font-size: 1.8rem;

}

.lv_2 .title + .lead {

  margin-top: 0.5rem;

}

@media screen and (max-width: 800px) {

  .lv_2 .title {

    font-size: 5.2vw;

  }

  .lv_2 .lead {

    font-size: 4vw;

  }

  .lv_2 .title + .lead {

    margin-top: 1vw;

  }

  .lv_2 .lead + .title {

    margin-top: 0vw;

  }

}



/*-------------------------------------------------------------

	lv_3	

-------------------------------------------------------------*/

.lv_3 .title {

  font-size: 2rem;

}

.lv_3 .lead {

  font-size: 1.4rem;

}

@media screen and (max-width: 800px) {

  .lv_3 .title {

    font-size: 4.2vw;

  }

  .lv_3 .lead {

    font-size: 4vw;

    line-height: 1.4;

  }

  .lv_3 .title + .lead {

    margin-top: 1vw;

  }

  .lv_3 .lead + .title {

    margin-top: 0vw;

  }

  .lv_3.block_title + .block {

    margin-top: 1.5rem;

  }

}



/*-------------------------------------------------------------

	lv_4	

-------------------------------------------------------------*/

.lv_4 .title {

  font-size: 1.8rem;

}

.lv_4 .lead {

  font-size: 1.4rem;

}

@media screen and (max-width: 800px) {

  .lv_4 .title {

    font-size: 4vw;

  }

  .lv_4 .lead {

    font-size: 3.2vw;

    line-height: 1.4;

  }

  .lv_4 .title + .lead {

    margin-top: 1vw;

  }

  .lv_4 .lead + .title {

    margin-top: 0vw;

  }

  .lv_4.block_title + .block {

    margin-top: 1rem;

  }

}



/*===============================================================



	pankuzu



===============================================================*/

.pankuzu {

  text-align: left;

  padding: 10px 0;

  background-color: #232323;

  border-top: 1px solid #555;

  border-bottom: 1px solid #555;

}

.pankuzu li {

  display: inline-block;

  padding-left: 0.8rem;

}

.pankuzu li:first-child {

  padding-left: 0;

}

.pankuzu li a {

  text-decoration: none;

  position: relative;

  padding-right: 1.8rem;

  color: #fff;

}

.pankuzu li a:hover {

  color: #fff;

  opacity: 0.7;

}

.pankuzu li a::after {

  content: "";

  position: absolute;

  margin: auto;

  top: 0;

  bottom: 0;

  right: 0;

  border-right: solid 1px #fff;

  border-bottom: solid 1px #fff;

  width: 0.6rem;

  height: 0.6rem;

  -webkit-transform: rotate(-45deg);

  transform: rotate(-45deg);

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

.pankuzu h1 {

  font-weight: normal;

}

.pankuzu {

  /* タブレット */

}

.pankuzu {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .pankuzu {

    padding: 3vw 0 0 0;

    border-bottom: 0;

  }

  .pankuzu h1,

  .pankuzu li {

    padding-left: 1.5vw;

    font-size: 3vw;

  }

  .pankuzu li a {

    padding-right: 3vw;

  }

  .pankuzu li a::after {

    width: 1.5vw;

    height: 1.5vw;

  }

  .pankuzu .update {

    font-size: 3.5vw;

  }

}

.pankuzu {

  /* for SP */

}



.detail .pankuzu .large_width,

.detail .pankuzu .content_width {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;

}

.detail .pankuzu .large_width .update,

.detail .pankuzu .content_width .update {

  text-align: right;

}

.detail .pankuzu .large_width,

.detail .pankuzu .content_width {

  /* タブレット */

}

.detail .pankuzu .large_width,

.detail .pankuzu .content_width {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .detail .pankuzu .large_width,

  .detail .pankuzu .content_width {

    display: block;

  }

  .detail .pankuzu .large_width h1,

  .detail .pankuzu .content_width h1 {

    font-size: 100%;

  }

}

.detail .pankuzu .large_width,

.detail .pankuzu .content_width {

  /* for SP */

}



/*===============================================================



    c_photo



===============================================================*/

.c_photo img {

  width: 100%;

  height: auto;

}

.c_photo {

  /* タブレット */

}

.c_photo {

  /* for TABLET */

  /* SP */

}

.c_photo {

  /* for SP */

  /*===============================================================

      //	c_photo

  ===============================================================*/

}



/*===============================================================



    c_column



===============================================================*/

.c_column, .c_column_round {

  border: solid 1px #666;

  padding: 5rem;

  /* タブレット */

}

.c_column, .c_column_round {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_column, .c_column_round {

    padding: 1.6rem;

  }

}

.c_column, .c_column_round {

  /* for SP */

  /*===============================================================

      //	c_column

  ===============================================================*/

}



/*-------------------------------------------------------------

    c_column_round	

-------------------------------------------------------------*/

.c_column_round {

  border-radius: 3rem;

  /* タブレット */

}

.c_column_round {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_column_round {

    border-radius: 3vw;

  }

}

.c_column_round {

  /* for SP */

}



/*===============================================================



    category_label



===============================================================*/

.c_category_label {

  min-width: 10rem;

  min-height: 2.5rem;

  /*pointer-events: none;*/

}

.c_category_label a {

  text-decoration: none;

  display: block;

}

.c_category_label a:hover {

  opacity: 0.7;

}

.c_category_label span {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;

  width: 100%;

  height: 100%;

  padding: 0 1em;

  padding-bottom: 1px;

  border-radius: 5rem;

  font-size: 1.6rem;

  line-height: 1.6;

  overflow: hidden;

  background-color: #000;

  color: #fff;

}

@media screen and (max-width: 800px) {

  .c_category_label {

    width: 9rem;

    height: 5vw;

    border-radius: 3vw;

    margin-left: auto;

    margin-right: 0;

    font-size: 1.2rem;

  }

}

.c_category_label {

  /*-------------------------------------------------------------

      ラベル色	

  -------------------------------------------------------------*/

}

.c_category_label .label_red {

  background-color: #FA3A3A;

}

.c_category_label .label_blue {

  background-color: #3573FF;

}

.c_category_label .label_green {

  background-color: #0ABB0A;

}

.c_category_label .label_brown {

  background-color: #847865;

}

.c_category_label .label_orange {

  background-color: #FF6A00;

}

.c_category_label .label_line {

  color: #000;

  background: #fff;

  border: solid 1px #000;

}



/*===============================================================



    c_category_label_list



===============================================================*/

.c_category_label_list {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: start;

      -ms-flex-pack: start;

          justify-content: flex-start;

  gap: 1.5rem;

}

@media screen and (max-width: 800px) {

  .c_category_label_list {

    gap: 0.5rem;

  }

  .c_category_label_list .c_category_label {

    margin: 0;

    min-width: 0;

    width: auto;

    font-size: 3vw;

  }

  .c_category_label_list .c_category_label span {

    width: 100%;

    margin: 0;

    padding: 0 0.7em;

  }

}



/*===============================================================



	c_topics_list



===============================================================*/

.c_topics_list {

  border-bottom: solid 1px #666;

}

.c_topics_list .item {

  position: relative;

  border-top: solid 1px #666;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

}

.c_topics_list .link {

  width: 100%;

  position: relative;

  padding: 2rem 1rem;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  text-decoration: none;

}

.c_topics_list .date,

.c_topics_list .text {

  z-index: 1;

  color: #333;

}

.c_topics_list .date a,

.c_topics_list .text a {

  color: #333;

  text-decoration: none;

}

.c_topics_list .date a:after,

.c_topics_list .text a:after {

  content: "";

  position: absolute;

  width: 100%;

  height: 100%;

  top: 0;

  left: 0;

  -webkit-transition: 0.1s;

  transition: 0.1s;

}

.c_topics_list .date a:hover:after,

.c_topics_list .text a:hover:after {

  color: #252525;

  text-decoration: none;

  background-color: rgba(0, 0, 0, 0.05);

}

.c_topics_list .date a:hover,

.c_topics_list .text a:hover {

  background: none;

  /* キャンセルに必要 */

}

.c_topics_list .date a:hover,

.c_topics_list .text a:hover {

  opacity: 0.7;

}

.c_topics_list .date:hover .text,

.c_topics_list .link:hover .text {

  color: #252525;

}

.c_topics_list .date {

  width: 130px;

}

.c_topics_list .c_category_label {

  z-index: 2;

  margin-right: 30px;

  margin-left: 15px;

}

.c_topics_list .c_category_label a {

  color: #333;

  text-decoration: none;

}

.c_topics_list .c_category_label a:hover {

  opacity: 0.7;

}

.c_topics_list .text {

  width: calc(100% - 235px);

  text-decoration: none !important;

}

@media screen and (max-width: 800px) {

  .c_topics_list .link {

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;

    padding: 1.2rem 0.5rem;

  }

  .c_topics_list .date {

    width: calc(100% - 10rem);

    font-weight: bold;

    color: #333;

    line-height: 1.4;

  }

  .c_topics_list .c_category_label {

    margin-left: auto;

    margin-right: 0;

  }

  .c_topics_list .c_category_label span {

    font-size: 1.4rem;

  }

  .c_topics_list .text {

    width: 100%;

    line-height: 1.5;

    margin-top: 0.5rem;

  }

}



/*===============================================================



	c_tab



===============================================================*/

.c_tab {

  /* タブレット */

}

.c_tab {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_tab {

    width: 100vw;

    margin: 0 calc(50% - 50vw);

    padding: 0 3vw;

  }

}

.c_tab {

  /* for SP */

  /*-------------------------------------------------------------

  	c_tab tablist	

  -------------------------------------------------------------*/

}

.c_tab .tablist {

  position: relative;

  z-index: 2;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;

  gap: 2px;

}

.c_tab .tablist button[role=tab] {

  border: none;

  border-radius: 3rem 3rem 0 0;

  font-size: 2.5rem;

  line-height: 1.3;

  font-weight: bold;

  text-align: center;

  padding: 2.5rem 0rem 1.5rem 0 !important;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  color: #FA3A3A;

  width: 40%;

  background-color: rgba(250, 58, 58, 0.1);

  border: solid 1px transparent;

  border-bottom: solid 1px #FA3A3A !important;

}

.c_tab .tablist button[role=tab][aria-selected=true] {

  background-color: #fff;

  border: solid 1px #FA3A3A !important;

  border-bottom: solid 1px transparent !important;

}

.c_tab .tablist button[role=tab][aria-selected=false]:hover {

  cursor: pointer;

  background-color: #FA3A3A;

  color: #fff;

}

.c_tab .tablist {

  /* タブレット */

}

.c_tab .tablist {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_tab .tablist {

    gap: 1px;

  }

  .c_tab .tablist button[role=tab] {

    padding: 1rem;

    border-radius: 3vw 3vw 0 0;

    font-size: 3.8vw;

    padding: 3vw 0rem 2vw 0 !important;

    width: 50%;

  }

}

.c_tab .tablist {

  /* for SP */

}

.c_tab {

  /*-------------------------------------------------------------

  	c_tab tabbody	

  -------------------------------------------------------------*/

}

.c_tab .tabbody {

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  position: relative;

  z-index: 1;

  background-color: #fff;

  border-radius: 3rem;

  overflow: hidden;

  border: solid 1px #FA3A3A !important;

  margin-top: -1px;

  height: auto;

}

.c_tab .tabbody .inner {

  -webkit-transition: all 0.2s;

  transition: all 0.2s;

  padding: 8rem 8rem;

  opacity: 0;

}

.c_tab .tabbody .active .inner {

  opacity: 1;

  height: auto;

}

.c_tab .tabbody .tab_title {

  font-size: 3rem;

}

.c_tab .tabbody p {

  margin-top: 1em;

}

.c_tab .tabbody .tabcontent:nth-child(3) .inner {

  background-color: #000;

  color: #fff;

}

.c_tab .tabbody {

  /* タブレット */

}

@media screen and (max-width: 1070px) {

  .c_tab .tabbody .inner {

    -webkit-transition: all 0.2s;

    transition: all 0.2s;

    padding: 8rem 5rem;

    opacity: 0;

  }

}

.c_tab .tabbody {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_tab .tabbody {

    border-radius: 0 0 3vw 3vw;

  }

  .c_tab .tabbody .inner {

    padding: 8vw 5vw;

  }

}

.c_tab .tabbody {

  /* for SP */

}

.c_tab {

  /*===============================================================

  //	c_tab

  ===============================================================*/

}



/*===============================================================



	carousel_slider



===============================================================*/

.c_carousel_slider {

  overflow: hidden;

}

.c_carousel_slider .slider {

  position: relative;

  opacity: 0;

}

.c_carousel_slider .slider .slide {

  position: relative;

}

.c_carousel_slider .slider .slide img {

  width: 100%;

  height: auto;

  display: block;

}

.c_carousel_slider {

  /* タブレット */

}

.c_carousel_slider {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_carousel_slider .slick-track {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

  }

  .c_carousel_slider .slick-slide {

    height: auto !important;

  }

  .c_carousel_slider .slick-list {

    margin-right: -3vw;

  }

  .c_carousel_slider .slick-slide {

    margin-right: 3vw;

  }

}

.c_carousel_slider {

  /* for SP */

  /*-------------------------------------------------------------

  block_pager

  -------------------------------------------------------------*/

}

.c_carousel_slider .block_pager {

  margin-top: 3rem;

  height: 50px;

  z-index: 5;

  width: 100%;

  position: relative;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  gap: 3rem;

}

.c_carousel_slider .block_pager .status {

  font-weight: bold;

  font-size: 2rem;

}

.c_carousel_slider .block_pager .goto_first a {

  position: absolute;

  top: 0;

  left: 0;

  margin: auto;

  display: inline-block;

  font-size: 1.6rem;

  line-height: 50px;

  padding: 0 1em;

  border-radius: 50px;

  color: #fff;

  background-color: #FA3A3A;

  text-decoration: none;

}

.c_carousel_slider .block_pager .goto_first.deactive {

  opacity: 0.5;

}

.c_carousel_slider .block_pager .goto_first.deactive a {

  background-color: #999;

}

@media screen and (max-width: 800px) {

  .c_carousel_slider .block_pager {

    margin-top: 3vw;

    gap: 2vw;

  }

  .c_carousel_slider .block_pager .goto_first a {

    top: 1.6vw;

    font-size: 3vw;

    line-height: 8vw;

    padding: 0 1em;

    border-radius: 8vw;

  }

}

.c_carousel_slider {

  /*-------------------------------------------------------------

  .slider .pager

     -------------------------------------------------------------*/

}

.c_carousel_slider .slider .pager.deactive {

  opacity: 0.5;

}

.c_carousel_slider .slider .pager.deactive a {

  background-color: #999;

}

.c_carousel_slider {

  /* タブレット */

}

.c_carousel_slider {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_carousel_slider .slider .pager {

    width: 8vw;

    height: 8vw;

  }

}

.c_carousel_slider {

  /* for SP */

  /*-------------------------------------------------------------

  	.slider .pager a

  -------------------------------------------------------------*/

}

.c_carousel_slider .slider .pager a {

  display: block;

  width: 50px;

  height: 50px;

  border-radius: 50% 50%;

  overflow: hidden;

  text-indent: -200%;

  position: relative;

  background-color: #FA3A3A;

}

.c_carousel_slider .slider .pager a:hover {

  opacity: 0.7;

}

.c_carousel_slider .slider .pager a:after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  left: 0;

  right: 0;

  margin: auto;

  border-right: solid 2px #fff;

  border-bottom: solid 2px #fff;

  width: 10px;

  height: 10px;

  -webkit-transform: rotate(-45deg) translate(-2px, -2px);

          transform: rotate(-45deg) translate(-2px, -2px);

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

.c_carousel_slider .slider .prev a:after {

  -webkit-transform: rotate(135deg) translate(-2px, -2px);

          transform: rotate(135deg) translate(-2px, -2px);

}

.c_carousel_slider {

  /* タブレット */

}

.c_carousel_slider {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_carousel_slider .slider .pager a {

    width: 8vw;

    height: 8vw;

  }

}

.c_carousel_slider {

  /* for SP */

}



.c_ui_selecter {

  display: inline-block;

  width: 100%;

  max-width: 100%;

  padding: 1.5rem 2rem;

  padding-right: 3rem;

  color: #000;

  font-size: 1.8rem;

  line-height: 1;

  background-color: #fff;

  border: 1px solid #FA3A3A;

  border-radius: 3rem;

  cursor: pointer;

  appearance: none;

  -webkit-appearance: none;

  -moz-appearance: none;

  background-image: url("data:image/svg+xml;utf8,    <svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'>    <polygon points='2,4 10,4 6,8' fill='%23D7083C'/></svg>");

  background-repeat: no-repeat;

  background-position: right 1.5rem center;

  background-size: 18px;

}

.c_ui_selecter:hover {

  border-color: #d01010;

}

.c_ui_selecter:focus {

  outline: none;

  border-color: #FA3A3A;

  -webkit-box-shadow: 0 0 0 3px rgba(250, 58, 58, 0.15);

          box-shadow: 0 0 0 3px rgba(250, 58, 58, 0.15);

}

.c_ui_selecter:focus-visible {

  outline: none;

}

.c_ui_selecter:disabled {

  color: #999;

  background-color: #f5f5f5;

  cursor: not-allowed;

}

.c_ui_selecter:-moz-focusring {

  color: transparent;

  text-shadow: 0 0 0 #000;

}

@media screen and (max-width: 800px) {

  .c_ui_selecter {

    padding: 3vw 4vw;

    font-size: 4vw;

  }

}



.c_ui_checkbox {

  appearance: none;

  -webkit-appearance: none;

  -moz-appearance: none;

  width: 18px;

  height: 18px;

  margin: 0 0.5em 0 0;

  border: 1px solid #FA3A3A;

  border-radius: 0;

  background-color: #fff;

  cursor: pointer;

  vertical-align: middle;

  position: relative;

}

.c_ui_checkbox:hover {

  border-color: #FA3A3A;

}

.c_ui_checkbox:checked {

  border-color: #FA3A3A;

  background-color: #FA3A3A;

}

.c_ui_checkbox:checked::after {

  content: "";

  position: absolute;

  left: 4px;

  top: 1px;

  width: 5px;

  height: 10px;

  border: solid #fff;

  border-width: 0 2px 2px 0;

  -webkit-transform: rotate(45deg);

          transform: rotate(45deg);

}

.c_ui_checkbox:focus {

  outline: none;

  -webkit-box-shadow: 0 0 0 3px rgba(250, 58, 58, 0.2);

          box-shadow: 0 0 0 3px rgba(250, 58, 58, 0.2);

}

.c_ui_checkbox:disabled {

  background-color: #f5f5f5;

  border-color: #ddd;

  cursor: not-allowed;

}



label {

  cursor: pointer;

  font-size: 1.8rem;

  color: #fff;

}

label a {

  color: #fff;

  text-decoration: none;

}

label a:hover {

  opacity: 0.7;

  color: #fff;

}

@media screen and (max-width: 800px) {

  label {

    font-size: 3.5vw;

  }

}



/*===============================================================



c_faq



===============================================================*/

.c_faq .block_faq {

  margin-top: 5rem !important;

}

.c_faq .block_faq + .block {

  margin-top: 3rem !important;

}

@media screen and (max-width: 800px) {

  .c_faq .block_faq {

    margin-top: 5vw !important;

  }

  .c_faq .block_faq + .block {

    margin-top: 4vw !important;

  }

}

.c_faq .block_faq {

  /*-------------------------------------------------------------

  .accordion_header {

      -------------------------------------------------------------*/

}

.c_faq .block_faq .accordion_header {

  position: relative;

  padding: 3rem 10rem 3rem 2.5rem;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  cursor: pointer;

}

.c_faq .block_faq .accordion_header:hover {

  opacity: 0.7;

}

.c_faq .block_faq .accordion_header:before, .c_faq .block_faq .accordion_header:after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  right: 2rem;

  margin: auto;

  width: 3rem;

  height: 1px;

  background: #666;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

.c_faq .block_faq .accordion_header:after {

  -webkit-transform: rotate(90deg);

          transform: rotate(90deg);

}

.c_faq .block_faq .accordion_header.active {

  border-bottom: none;

}

.c_faq .block_faq .accordion_header.active::after {

  -webkit-transform: rotate(0deg);

          transform: rotate(0deg);

}

@media screen and (max-width: 800px) {

  .c_faq .block_faq .accordion_header {

    padding: 5vw 12vw 5vw 5vw;

  }

  .c_faq .block_faq .accordion_header:before, .c_faq .block_faq .accordion_header:after {

    right: 4vw;

    width: 4.2vw;

  }

}

.c_faq .block_faq .accordion_header .title {

  font-size: 2rem;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  gap: 2rem;

}

.c_faq .block_faq .accordion_header .title::before {

  content: "Q";

  width: 4rem;

  height: 4rem;

  border-radius: 50%;

  background: #FA3A3A;

  font-size: 2rem;

  font-weight: bold;

  line-height: 1;

  color: #fff;

  text-align: center;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;

  -webkit-box-flex: 0;

      -ms-flex: 0 0 4rem;

          flex: 0 0 4rem;

}

@media screen and (max-width: 800px) {

  .c_faq .block_faq .accordion_header .title {

    font-size: 4vw;

    gap: 4vw;

  }

  .c_faq .block_faq .accordion_header .title::before {

    width: 7vw;

    height: 7vw;

    font-size: 4vw;

    -webkit-box-flex: 0;

        -ms-flex: 0 0 7vw;

            flex: 0 0 7vw;

  }

}

.c_faq .block_faq {

  /*-------------------------------------------------------------

  .accordion

      -------------------------------------------------------------*/

}

.c_faq .block_faq .accordion {

  width: 100%;

  border: 1px solid #666;

  background: #fff;

  border-radius: 1rem;

  /*-------------------------------------------------------------

  .accordion_body 

  -------------------------------------------------------------*/

}

.c_faq .block_faq .accordion .accordion_body {

  position: relative;

}

.c_faq .block_faq .accordion .accordion_body::before {

  content: "";

  position: absolute;

  top: 0;

  left: 2.5rem;

  right: 2.5rem;

  border-top: 1px solid #666;

}

.c_faq .block_faq .accordion .accordion_body .accordion_inner {

  padding: 3rem 2.5rem 2.5rem;

}

@media screen and (max-width: 800px) {

  .c_faq .block_faq .accordion .accordion_body::before {

    left: 5vw;

    right: 5vw;

  }

  .c_faq .block_faq .accordion .accordion_body .accordion_inner {

    padding: 4.5vw 5vw 5vw;

  }

  .c_faq .block_faq .accordion .accordion_body .accordion_inner .txt {

    font-size: 3.8vw;

  }

}



/*===============================================================



    c_no_entry



===============================================================*/

.c_no_entry {

  border: solid 1px #666;

  padding: 3rem;

  text-align: center;

}

@media screen and (max-width: 800px) {

  .c_no_entry {

    padding: 5vw 3vw;

  }

}



/*-------------------------------------------------------------

	notfound	

-------------------------------------------------------------*/

.c_notfound {

  text-align: center;

}

.c_notfound .head {

  color: #333;

  font-size: 3rem;

  line-height: 1.2;

  font-weight: bold;

}

.c_notfound .lead {

  font-size: 1.8rem;

  line-height: 1.8;

  font-weight: bold;

  margin-top: 3rem;

}

.c_notfound p {

  font-size: 1.6rem;

  line-height: 1.8;

  margin-top: 3rem;

}

.c_notfound .box {

  width: -webkit-fit-content;

  width: -moz-fit-content;

  width: fit-content;

  padding: 4rem;

  margin: 0 auto;

  margin-top: 3rem;

  background: #f5f5f5;

  -webkit-box-sizing: border-box;

          box-sizing: border-box;

}

.c_notfound .box li {

  font-size: 1.4rem;

  line-height: 1.6;

  text-align: left;

  text-indent: -1em;

  padding-left: 1em;

}

.c_notfound .box li + li {

  margin-top: 1rem;

}

.c_notfound {

  /* タブレット */

}

.c_notfound {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .c_notfound .head {

    font-size: 6vw;

  }

  .c_notfound .lead {

    font-size: 4vw;

    margin-top: 4vw;

  }

  .c_notfound p {

    font-size: 4vw;

    margin-top: 4vw;

  }

  .c_notfound .box {

    padding: 4vw;

    margin-top: 4vw;

  }

  .c_notfound .box li {

    font-size: 3.5vw;

  }

  .c_notfound .box li + li {

    margin-top: 1vw;

  }

}

.c_notfound {

  /* for SP */

}



/*===============================================================



    c_site_logo



===============================================================*/

.c_site_logo {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-line-pack: center;

      align-content: center;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;

  width: 100%;

}

.c_site_logo .mark {

  width: 17.5%;

  height: auto;

}

.c_site_logo .typo {

  width: 82%;

  height: auto;

}

/*===============================================================



    c_sns_icons



===============================================================*/

.c_sns_icons ul {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: start;

      -ms-flex-pack: start;

          justify-content: flex-start;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  gap: 1rem;

}

.c_sns_icons ul a,

.c_sns_icons ul img {

  display: block;

  width: 50px;

}

.c_sns_icons ul a:hover {

  opacity: 0.7;

}

@media screen and (max-width: 800px) {

  .c_sns_icons ul li {

    width: 10vw;

  }

}



/*===============================================================



    c_page_title



===============================================================*/

.c_page_title {

  text-align: center;

  margin-top: 9rem;

}

.c_page_title .title {

  font-size: 16vw;

  line-height: 1;

  color: var(--category-color);

  position: relative;

  display: inline-block;

  min-width: 1070px;

}

.c_page_title .title::after {

  content: "";

  position: absolute;

  bottom: -50px;

  left: 0;

  right: 0;

  margin: auto;

  width: 100%;

  height: 50px;

  background-color: var(--category-color);

  z-index: 1;

}

.c_page_title .lead {

  position: relative;

  z-index: 2;

  color: #202020;

  font-size: 3rem;

  line-height: 1.6;

  width: 100%;

}

@media screen and (max-width: 1070px) {

  .c_page_title .title {

    font-size: 13vw;

    min-width: 0;

    width: 100%;

  }

  .c_page_title .title::after {

    bottom: -5vw;

    height: 5vw;

  }

  .c_page_title .lead {

    font-size: 3vw;

  }

}

@media screen and (max-width: 800px) {

  .c_page_title {

    margin-top: 0vw;

  }

  .c_page_title .title {

    font-size: 14vw;

  }

  .c_page_title .title::after {

    bottom: -8.4vw;

    height: 8vw;

  }

  .c_page_title .lead {

    font-size: 4vw;

  }

}



/*===============================================================



    c_number_list



===============================================================*/

.c_number_list {

  margin-top: 3rem;

  counter-reset: number;

  list-style: none;

  padding: 0;

  border: 0;

}

.c_number_list li {

  counter-increment: number;

  position: relative;

  padding: 1.5em;

  padding-left: 6em;

  background-color: #2A2A2A;

  line-height: 1.8;

  list-style-type: none !important;

  margin: 0 !important;

}

.c_number_list li::before {

  content: counter(number);

  position: absolute;

  top: 1.5em;

  left: 1.5em;

  margin: auto;

  width: 2em;

  height: 2em;

  background: #424242;

  color: #fff;

  border-radius: 0.5rem;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;

  font-weight: bold;

  font-size: 120%;

  line-height: 1;

}

.c_number_list li + li {

  margin-top: 1rem !important;

}

@media screen and (max-width: 800px) {

  .c_number_list li {

    padding: 5vw;

    padding-top: 16vw;

    line-height: 1.8 !important;

  }

  .c_number_list li::before {

    top: 4vw;

    left: 0;

    right: 0;

    margin: auto;

  }

  .c_number_list li + li {

    margin-top: 2vw !important;

  }

}



/*===============================================================



    c_scroll_offer



===============================================================*/

.c_scroll_offer {

  width: 100vw;

  height: 100vh;

  position: fixed;

  z-index: -1;

  top: 0;

  left: 0;

  pointer-events: none;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

.header_show .c_scroll_offer {

  opacity: 0;

  -webkit-transform: translateY(5rem);

          transform: translateY(5rem);

}

.c_scroll_offer .inner {

  position: absolute;

  bottom: 4rem;

  left: 0;

  color: #fff;

  width: 10rem;

  height: 2.5rem;

  font-size: 1.2rem;

  -webkit-transform: rotate(-90deg);

          transform: rotate(-90deg);

}

.c_scroll_offer .inner .txt {

  position: relative;

  text-align: right;

  padding-bottom: 0.1em;

}

.c_scroll_offer .inner .txt::before {

  content: "";

  position: absolute;

  bottom: 0;

  left: 0;

  right: 0;

  margin: auto;

  width: 10rem;

  height: 1px;

  background-color: #fff;

}

.c_scroll_offer .inner .txt::after {

  content: "";

  position: absolute;

  bottom: -2px;

  right: 0;

  margin: auto;

  width: 5px;

  height: 5px;

  border-radius: 5px;

  background-color: #fff;

  background-color: #fff;

  -webkit-animation: animation_scroll_offer 2s infinite cubic-bezier(0.17, 0.67, 0.69, 0.99);

          animation: animation_scroll_offer 2s infinite cubic-bezier(0.17, 0.67, 0.69, 0.99);

}

@media screen and (max-width: 800px) {

  .c_scroll_offer {

    display: none;

  }

  .c_scroll_offer .inner {

    position: absolute;

    bottom: 0vw;

    right: -6vw;

  }

  .c_scroll_offer .inner .txt {

    position: relative;

  }

}

@-webkit-keyframes animation_scroll_offer {

  0% {

    right: 0;

    opacity: 0;

  }

  20% {

    opacity: 1;

  }

  80% {

    opacity: 1;

  }

  100% {

    right: 10rem;

    opacity: 0;

  }

}

@keyframes animation_scroll_offer {

  0% {

    right: 0;

    opacity: 0;

  }

  20% {

    opacity: 1;

  }

  80% {

    opacity: 1;

  }

  100% {

    right: 10rem;

    opacity: 0;

  }

}



/*--------------------------------------------------------------

	c_grid

--------------------------------------------------------------*/

.c_grid {

  --grid-cols: 1;

  display: -ms-grid;

  display: grid;

  -ms-grid-columns: ;

  grid-template-columns: repeat(var(--grid-cols), minmax(0, 1fr));

  gap: 3rem;

}

.c_grid > .grid {

  min-width: 0;

}

.c_grid {

  /* ----------------------------------------

  	PC：子要素数による自動カラム

  	※ :where() で詳細度を下げる

  ---------------------------------------- */

}

.c_grid:where(:has(> .grid:nth-child(1):last-child)) {

  --grid-cols: 1;

}

.c_grid:where(:has(> .grid:nth-child(2):last-child)) {

  --grid-cols: 2;

}

.c_grid:where(:has(> .grid:nth-child(3):last-child)) {

  --grid-cols: 3;

}

.c_grid:where(:has(> .grid:nth-child(4):last-child)), .c_grid:where(:has(> .grid:nth-child(5):last-child)) {

  --grid-cols: 2;

}

.c_grid:where(:has(> .grid:nth-child(6):last-child)) {

  --grid-cols: 3;

}

.c_grid:where(:has(> .grid:nth-child(n+7))) {

  --grid-cols: 2;

}

.c_grid {

  /* ----------------------------------------

  	PC：親クラスによるカラム固定

  	※ 自動判定より優先

  ---------------------------------------- */

}

.c_grid.c_grid__2column {

  --grid-cols: 2;

}

.c_grid.c_grid__3column {

  --grid-cols: 3;

}

.c_grid.c_grid__4column {

  --grid-cols: 4;

}

.c_grid.c_grid__5column {

  --grid-cols: 5;

}

.c_grid.c_grid__6column {

  --grid-cols: 6;

}

.c_grid {

  /* ----------------------------------------

  	Tablet

  ---------------------------------------- */

}

@media screen and (max-width: 1070px) {

  .c_grid:where(:has(> .grid:nth-child(1):last-child)) {

    --grid-cols: 1;

  }

  .c_grid:where(:has(> .grid:nth-child(2):last-child)) {

    --grid-cols: 2;

  }

  .c_grid:where(:has(> .grid:nth-child(3):last-child)) {

    --grid-cols: 3;

  }

  .c_grid:where(:has(> .grid:nth-child(n+4))) {

    --grid-cols: 2;

  }

  .c_grid.c_grid__2column {

    --grid-cols: 2;

  }

  .c_grid.c_grid__3column {

    --grid-cols: 3;

  }

  .c_grid.c_grid__4column {

    --grid-cols: 4;

  }

  .c_grid.c_grid__5column {

    --grid-cols: 5;

  }

  .c_grid.c_grid__6column {

    --grid-cols: 6;

  }

}

.c_grid {

  /* ----------------------------------------

  	SP

  ---------------------------------------- */

}

@media screen and (max-width: 800px) {

  .c_grid {

    -ms-grid-columns: 1fr;

    grid-template-columns: 1fr;

    --grid-cols: 1;

  }

  .c_grid.c_grid__sp_2column {

    -ms-grid-columns: (minmax(0, 1fr))[2];

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }

  .c_grid.c_grid__sp_3column {

    -ms-grid-columns: (minmax(0, 1fr))[3];

    grid-template-columns: repeat(3, minmax(0, 1fr));

  }

  .c_grid.c_grid__sp_4column {

    -ms-grid-columns: (minmax(0, 1fr))[4];

    grid-template-columns: repeat(4, minmax(0, 1fr));

  }

  .c_grid.c_grid__sp_5column {

    -ms-grid-columns: (minmax(0, 1fr))[5];

    grid-template-columns: repeat(5, minmax(0, 1fr));

  }

  .c_grid.c_grid__sp_6column {

    -ms-grid-columns: (minmax(0, 1fr))[6];

    grid-template-columns: repeat(6, minmax(0, 1fr));

  }

  .c_grid > .grid {

    -ms-grid-column-span: 1;

    grid-column: span 1;

  }

  .c_grid > .grid.grid_sp1 {

    -ms-grid-column-span: 1;

    grid-column: span 1;

  }

  .c_grid > .grid.grid_sp2 {

    -ms-grid-column-span: 2;

    grid-column: span 2;

  }

  .c_grid > .grid.grid_sp3 {

    -ms-grid-column-span: 3;

    grid-column: span 3;

  }

  .c_grid > .grid.grid_sp4 {

    -ms-grid-column-span: 4;

    grid-column: span 4;

  }

}



/*===============================================================



    c_slide_changer



===============================================================*/

.c_slide_changer {

  margin-top: 3rem;

}

.c_slide_changer .sildes,

.c_slide_changer .thumbs,

.c_slide_changer .comments {

  list-style: none;

  margin: 0;

  padding: 0;

}

.c_slide_changer .sildes img,

.c_slide_changer .thumbs img,

.c_slide_changer .comments img {

  display: block;

  width: 100%;

  height: 100%;

  -o-object-fit: cover;

     object-fit: cover;

}

@media screen and (max-width: 800px) {

  .c_slide_changer {

    margin-top: 5vw;

  }

}

.c_slide_changer {

  /*===============================================================

  sildes

  ===============================================================*/

}

.c_slide_changer .sildes {

  position: relative;

  overflow: hidden;

  background-color: #222;

  background-image: url(/common/images/asset/loading.svg);

  background-position: center center;

  background-repeat: no-repeat;

}

.c_slide_changer .sildes .slide {

  display: none;

  opacity: 0;

  aspect-ratio: 4/3;

}

.c_slide_changer .sildes .slide.active {

  display: block;

  opacity: 1;

}

.c_slide_changer {

  /*===============================================================

  thumbs

  ===============================================================*/

}

.c_slide_changer .thumbs {

  display: -ms-grid;

  display: grid;

  -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr 1rem 1fr 1rem 1fr;

  grid-template-columns: repeat(5, 1fr);

  gap: 1rem;

  margin-top: 1rem;

}

.c_slide_changer .thumbs .thumbnail {

  aspect-ratio: 4/3;

  cursor: pointer;

  opacity: 0.5;

  -webkit-transition: opacity 0.3s ease;

  transition: opacity 0.3s ease;

}

.c_slide_changer .thumbs .thumbnail.active, .c_slide_changer .thumbs .thumbnail:hover {

  opacity: 1;

}

@media screen and (max-width: 800px) {

  .c_slide_changer .thumbs {

    margin-top: 1vw;

    gap: 1vw;

  }

}

.c_slide_changer {

  /*===============================================================

  comments

  ===============================================================*/

}

.c_slide_changer .comments {

  margin-top: 2rem;

  position: relative;

  margin-top: 1rem;

  min-height: 8em;

  background-color: #222;

  padding: 1em;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

.c_slide_changer .comments .coment {

  display: none;

  opacity: 0;

}

.c_slide_changer .comments .coment.active {

  display: block;

  opacity: 1;

}

@media screen and (max-width: 800px) {

  .c_slide_changer .comments {

    margin-top: 2vw;

  }

  .c_slide_changer .comments .coment {

    font-size: 3.5vw;

  }

}



/*===============================================================



	レイアウト

	_rayout.scss



===============================================================*/

.full_width {

  padding-left: 3rem;

  padding-right: 3rem;

}

@media screen and (max-width: 800px) {

  .full_width {

    padding-left: 5vw;

    padding-right: 5vw;

  }

}



.max_width {

  max-width: 1800px;

  margin-left: auto;

  margin-right: auto;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

@media screen and (max-width: 1900px) {

  .max_width {

    padding: 0 3rem;

  }

}

@media screen and (max-width: 1170px) {

  .max_width {

    padding: 0 3rem;

  }

}

@media screen and (max-width: 800px) {

  .max_width {

    padding-left: 0;

    padding-right: 0;

  }

}



.wide_width {

  max-width: 150rem;

  margin-left: auto;

  margin-right: auto;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

@media screen and (max-width: 1600px) {

  .wide_width {

    padding: 0 3rem;

  }

  .max_width .wide_width {

    padding: 0;

  }

}

@media screen and (max-width: 1170px) {

  .wide_width {

    padding: 0 3rem;

  }

  .max_width .wide_width {

    padding: 0;

  }

}

@media screen and (max-width: 800px) {

  .wide_width {

    padding-left: 0;

    padding-right: 0;

  }

}



.large_width {

  max-width: 120rem;

  margin-left: auto;

  margin-right: auto;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

@media screen and (max-width: 1300px) {

  .large_width {

    padding: 0 3rem;

  }

  .max_width .large_width, .wide_width .large_width {

    padding: 0;

  }

}

@media screen and (max-width: 1170px) {

  .large_width {

    padding: 0 3rem;

  }

  .max_width .large_width, .wide_width .large_width {

    padding: 0;

  }

}

@media screen and (max-width: 800px) {

  .large_width {

    padding-left: 0;

    padding-right: 0;

  }

}



.content_width {

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  max-width: 100rem;

  margin-left: auto;

  margin-right: auto;

}

@media screen and (max-width: 1170px) {

  .content_width {

    padding: 0 3rem;

  }

  .max_width .content_width, .wide_width .content_width, .large_width .content_width {

    padding: 0;

  }

}

@media screen and (max-width: 800px) {

  .content_width {

    padding-left: 0;

    padding-right: 0;

  }

}



.narrow_width {

  max-width: 70rem;

  margin-left: auto;

  margin-right: auto;

}

@media screen and (max-width: 800px) {

  .narrow_width {

    padding-left: 0;

    padding-right: 0;

  }

}



.btn_width {

  max-width: 40rem;

  margin-left: auto;

  margin-right: auto;

}

@media screen and (max-width: 800px) {

  .btn_width {

    padding-left: 0;

    padding-right: 0;

  }

}



.absolute_full_width {

  margin-left: calc(50% - 50vw);

  margin-right: calc(50% - 50vw);

}



/*===============================================================



	seciton

	headlineとcontentなど、複数の要素、機能を取りまとめるコンテナ的な親要素。

	幅はsection_innerに記述する



===============================================================*/

.section_wrp {

  overflow: hidden;

  display: block;

  padding-bottom: 10rem;

  /* タブレット */

}

.section_wrp {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .section_wrp {

    padding-bottom: 10vw;

  }

}

.section_wrp {

  /* for SP */

}



.section {

  width: 100%;

  --category-color: #000;

}

.section[data-category=top] {

  --category-color: #FF6A00;

}

.section[data-category=statement] {

  --category-color: #FA3A3A;

}

.section[data-category=build] {

  --category-color: #3573FF;

}

.section[data-category=works] {

  --category-color: #E4C200;

}

.section[data-category=company] {

  --category-color: #0ABB0A;

}

.section[data-category=contact] {

  --category-color: #E3E3E3;

}



.section_inner {

  margin: 0 auto;

  padding-top: 12rem;

  padding-bottom: 12rem;

  padding-left: 0;

  padding-right: 0;

  -webkit-box-sizing: border-box;

          box-sizing: border-box;

}

@media screen and (max-width: 800px) {

  .section_inner {

    padding-top: 10vw;

    padding-bottom: 12vw;

    padding-left: 5vw;

    padding-right: 5vw;

  }

}



/*===============================================================



	content 

	個別のコンテンツ



===============================================================*/

.content + .content {

  margin-top: 10rem;

}



.headline + .content {

  margin-top: 6rem;

}



.content + .headline {

  margin-top: 10rem;

}



.content .content + *,

.content * + .content {

  margin-top: 6rem;

}



.content_title + .content {

  margin-top: 0;

}



/* タブレット以下 */

@media screen and (max-width: 1070px) {

  .content {

    width: 100%;

    margin: 0 auto;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;

  }

}

/* for tablet */

/* SP向けレイアウトの指定：～736px */

@media screen and (max-width: 800px) {

  .content + .content {

    margin-top: 8rem;

  }

  .headline + .content {

    margin-top: 4rem;

  }

  .content + .headline {

    margin-top: 5rem;

  }

  .content .content + *,

  .content * + .content {

    margin-top: 4rem;

  }

  .content_title + .content {

    margin-top: 0;

  }

}

/* for SP */

/*-------------------------------------------------------------

	block	

-------------------------------------------------------------*/

.block + .block_title {

  margin-top: 5rem;

}

.block_title + .block {

  margin-top: 2rem;

}

.block + .block {

  margin-top: 3rem;

}

.block p + p {

  margin-top: 1em;

}

@media screen and (max-width: 800px) {

  .block + .block_title {

    margin-top: 4rem;

  }

  .block_title + .block {

    margin-top: 1.2rem;

  }

  .block + .block {

    margin-top: 3.2rem;

  }

}



/*===============================================================



    block_title



===============================================================*/

.block_title + .block_title {

  margin-top: 2rem;

}

.block_title {

  /* タブレット */

}

.block_title {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .block_title + .block_title {

    margin-top: 2.4rem;

  }

}

.block_title {

  /* for SP */

}



/*===============================================================



	_header.scss 2021/10/4



===============================================================*/

.wrapper {

  padding-top: 10rem;

}

@media screen and (max-width: 800px) {

  .wrapper {

    padding-top: 20vw;

  }

}



/*===============================================================



	header



===============================================================*/

.header {

  background-color: #202020;

  width: 100%;

  position: fixed;

  top: 0;

  left: 0;

  z-index: 10;

}

.header .header_inner {

  padding: 0 3rem;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  height: 10rem;

}

.header .site_title {

  font-size: 2rem;

  width: 45rem;

}

.header .site_title a {

  display: block;

}

.header .header_nav {

  width: calc(100% - 46rem);

}

.header {

  /* タブレット */

}

.header {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .header .header_inner {

    padding: 0 3vw;

    height: 18vw;

  }

  .header .site_title {

    width: 70vw;

  }

}

.header {

  /* for SP */

  /*===============================================================

  header_nav

  ===============================================================*/

}

.header .header_nav .top {

  display: none;

}

.header .header_nav .navigation_menu {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: end;

      -ms-flex-pack: end;

          justify-content: flex-end;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  padding-right: 4rem;

}

.header .header_nav .navigation_menu li {

  margin-right: 2em;

}

.header .header_nav a {

  color: #fff;

  text-decoration: none;

  font-size: 2.2rem;

}

.header .header_nav a span {

  display: none;

}

@media screen and (max-width: 900px) {

  .header .header_nav {

    display: none;

  }

}



/*===============================================================



	_footer.scss 2021/10/4



===============================================================*/

/*===============================================================



	footer



===============================================================*/

.footer {

  background-color: #232323;

}

.footer a {

  color: #fff;

  text-decoration: none;

}

.footer a:hover {

  opacity: 0.7;

}

.footer {

  /* タブレット */

}

.footer {

  /* for TABLET */

  /* SP */

}

.footer {

  /* for SP */

  /*===============================================================

  footer_inner

  ===============================================================*/

}

.footer .footer_inner {

  padding: 8rem 3rem;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;

}

.footer .footer_inner .info_block {

  max-width: 40rem;

}

.footer .footer_inner .menu_block {

  width: 84rem;

}

@media screen and (max-width: 1300px) {

  .footer .footer_inner .menu_block {

    width: 60vw;

  }

}

@media screen and (max-width: 1070px) {

  .footer .footer_inner .menu_block {

    width: 55vw;

  }

  .footer .footer_inner .info_block {

    max-width: 100%;

  }

}

@media screen and (max-width: 800px) {

  .footer .footer_inner {

    padding: 5vw 5vw 10vw 5vw;

    -webkit-box-orient: vertical;

    -webkit-box-direction: reverse;

        -ms-flex-direction: column-reverse;

            flex-direction: column-reverse;

    gap: 10vw;

  }

  .footer .footer_inner .info_block {

    width: 100%;

  }

  .footer .footer_inner .menu_block {

    width: 100%;

  }

}

.footer {

  /*===============================================================

  info_block

  ===============================================================*/

}

.footer .info_block .site_title {

  max-width: 32rem;

}

.footer .info_block .site_title .txt {

  font-size: 2rem;

  font-weight: bold;

  margin-top: 0.2em;

}

.footer .info_block .site_title {

  padding-bottom: 3rem;

  border-bottom: solid 1px #555;

}

.footer .info_block .base_block .title {

  font-size: 1.6rem;

}

.footer .info_block .base_block p {

  line-height: 1.6;

}

.footer .info_block .base_block ul {

  margin-top: 0.5em;

}

.footer .info_block .base_block li {

  font-size: 1.4rem;

}

.footer .info_block .base_block a {

  text-decoration: underline;

}

@media screen and (max-width: 800px) {

  .footer .info_block .site_title {

    max-width: 100%;

    max-width: auto;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

        -ms-flex-direction: column;

            flex-direction: column;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;

    gap: 2vw;

  }

  .footer .info_block .site_title .c_site_logo {

    width: 55vw;

    margin: 0 auto;

  }

  .footer .info_block .site_title .txt {

    font-size: 4vw;

  }

  .footer .info_block .site_title {

    padding-bottom: 3rem;

    border-bottom: solid 1px #555;

  }

  .footer .info_block .base_block .title {

    font-size: 4vw;

  }

  .footer .info_block .base_block li {

    font-size: 3.2vw;

  }

}

.footer {

  /*===============================================================

  menu_block

  ===============================================================*/

}

.footer .menu_block {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

      -ms-flex-direction: column;

          flex-direction: column;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;

  -webkit-box-align: end;

      -ms-flex-align: end;

          align-items: flex-end;

}

.footer .menu_block .navigation_menu {

  width: 100%;

  display: -ms-grid;

  display: grid;

  -ms-grid-columns: minmax(0, 1fr) 0 minmax(0, 1fr) 0 minmax(0, 1fr);

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 4rem 0;

}

.footer .menu_block .navigation_menu li {

  border-left: solid 1px #555;

}

.footer .menu_block .navigation_menu li a {

  display: block;

  font-size: 2.5rem;

  padding: 0 2rem;

}

.footer .menu_block .navigation_menu li a span {

  display: block;

  font-size: 50%;

  font-family: "YakuHanJP", "Noto Sans JP", sans-serif;

}

.footer .menu_block .navigation_menu li a:hover {

  opacity: 0.5;

}

@media screen and (max-width: 1070px) {

  .footer .menu_block .navigation_menu {

    -ms-grid-columns: (minmax(0, 1fr))[2];

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }

}

@media screen and (max-width: 800px) {

  .footer .menu_block {

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;

    gap: 8vw;

  }

  .footer .menu_block .navigation_menu {

    -ms-grid-columns: 1fr;

    grid-template-columns: 1fr;

    gap: 0;

    border-bottom: solid 1px #555;

  }

  .footer .menu_block .navigation_menu li {

    border-left: 0;

    border-top: solid 1px #555;

  }

  .footer .menu_block .navigation_menu li a {

    font-size: 5vw;

    padding: 2vw 1vw;

  }

}

.footer {

  /*===============================================================

  footer_bottom

  ===============================================================*/

}

.footer .footer_bottom {

  background-color: #2D2C2C;

  color: #fff;

  padding: 2rem;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

}

.footer .footer_bottom .copyright {

  font-size: 1.4rem;

}

.footer .footer_bottom .link {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  gap: 2rem;

}

.footer .footer_bottom .link a {

  font-size: 1.4rem;

}

@media screen and (max-width: 800px) {

  .footer .footer_bottom {

    padding: 3vw;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

        -ms-flex-direction: column;

            flex-direction: column;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;

  }

  .footer .footer_bottom .copyright {

    font-size: 3vw;

  }

  .footer .footer_bottom .link {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

        -ms-flex-direction: row;

            flex-direction: row;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;

    gap: 8vw;

    padding: 3vw;

  }

  .footer .footer_bottom .link a {

    font-size: 1.4rem;

  }

}



/*===============================================================

	_grid.scss

===============================================================*/

.grid_wrp {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;

  margin-top: -4rem;

  -webkit-box-sizing: border-box;

          box-sizing: border-box;

}

.grid_wrp .grid {

  -webkit-box-sizing: border-box;

          box-sizing: border-box;

  margin-top: 4rem;

}

.grid_wrp .grid .grid_wrp {

  margin-top: -2rem;

}

.grid_wrp .grid .grid {

  margin-top: 2rem;

}

.grid_wrp .grid_1_1 {

  width: 100%;

}

.grid_wrp .grid_2_1 {

  width: calc((100% - 4rem) / 2);

}

.grid_wrp .grid_3_1 {

  width: calc((100% - 4rem * 2) / 3);

  /* 40px * 2 = 80px */

}

.grid_wrp .grid_3_2 {

  width: calc(100% - (100% - 4rem * 2) / 3 - 4rem);

}

.grid_wrp .grid_4_1 {

  width: calc((100% - 4rem * 3) / 4);

  /* 40px * 3 = 120px */

}

.grid_wrp .grid_5_1 {

  width: calc((100% - 4rem * 2) / 5);

  /* 20px * 4 = 80px */

}

.grid_wrp .grid_6_1 {

  width: calc((100% - 4rem * 5) / 6);

  /* 50px * 5 = 100px */

}

.grid_wrp.grid_wrp3:after, .grid_wrp.grid_wrp4:after, .grid_wrp.grid_wrp4:before, .grid_wrp.grid_wrp5:after, .grid_wrp.grid_wrp5:before {

  content: "";

  display: block;

  height: 0;

  -webkit-box-ordinal-group: 2;

      -ms-flex-order: 1;

          order: 1;

}

.grid_wrp.grid_wrp3:after {

  width: calc((100% - 4rem * 2) / 3);

}

.grid_wrp.grid_wrp4:after, .grid_wrp.grid_wrp4:before {

  width: calc((100% - 4rem * 3) / 4);

}

.grid_wrp.grid_wrp5:after, .grid_wrp.grid_wrp5:before {

  width: calc((100% - 4rem * 2) / 5);

}

@media screen and (max-width: 800px) {

  .grid_wrp {

    margin-top: -5vw;

  }

  .grid_wrp .grid {

    margin-top: 5vw;

  }

  .grid_wrp .grid .grid_wrp {

    margin-top: -3vw;

  }

  .grid_wrp .grid .grid {

    margin-top: 3vw;

  }

  .grid_wrp .grid_1_1 {

    width: 100%;

  }

  .grid_wrp .grid_2_1 {

    width: 100%;

  }

  .grid_wrp .grid_3_1 {

    width: calc((100% - 5vw) / 2);

  }

  .grid_wrp .grid_3_2 {

    width: 100%;

  }

  .grid_wrp .grid_4_1 {

    width: calc((100% - 5vw) / 2);

  }

  .grid_wrp .grid_5_1 {

    width: calc((100% - 5vw) / 2);

  }

  .grid_wrp .grid_6_1 {

    width: calc((100% - 10vw) / 3);

  }

  .grid_wrp.grid_wrp3:after {

    width: calc((100% - 80px) / 3);

  }

  .grid_wrp.grid_wrp4:after, .grid_wrp.grid_wrp4:before {

    width: calc((100% - 120px) / 4);

  }

  .grid_wrp.grid_wrp5:after, .grid_wrp.grid_wrp5:before {

    width: calc((100% - 80px) / 5);

  }

  .grid_wrp .sp_grid_1 {

    width: 100% !important;

  }

}



/*===============================================================



	navigation_panel



===============================================================*/

.navigation_panel {

  position: fixed;

  z-index: 150;

  width: 100vw;

  height: 100vh;

  top: 0;

  left: 0;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  display: none;

  -webkit-transition: all 0.5s;

  transition: all 0.5s;

  opacity: 0;

}

.menu_open .navigation_panel {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  opacity: 0;

}

.menu_show .navigation_panel {

  opacity: 1;

}

.navigation_panel {

  color: #fff;

  background-color: #202020;

}

.navigation_panel a {

  color: #fff;

  text-decoration: none;

}

.navigation_panel a:hover {

  color: #FA3A3A;

  text-decoration: none;

}

.navigation_panel .navigation_panel_inner {

  width: 100%;

  -webkit-transition: all 0.5s;

  transition: all 0.5s;

  -webkit-transition-delay: 0.5s;

          transition-delay: 0.5s;

  opacity: 0;

  -webkit-transform: translateY(3rem);

          transform: translateY(3rem);

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

}

.menu_show .navigation_panel .navigation_panel_inner {

  opacity: 1;

  -webkit-transform: translateY(0);

          transform: translateY(0);

}

.menu_hide .navigation_panel .navigation_panel_inner {

  -webkit-transition-delay: 0s;

          transition-delay: 0s;

  opacity: 0;

  -webkit-transform: translateY(3rem);

          transform: translateY(3rem);

}

.navigation_panel .header_block {

  width: 42%;

}

.navigation_panel .body_block {

  width: 53%;

}

.navigation_panel {

  /* タブレット */

}

.navigation_panel {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .navigation_panel .navigation_panel_inner {

    -webkit-box-orient: vertical;

    -webkit-box-direction: reverse;

        -ms-flex-direction: column-reverse;

            flex-direction: column-reverse;

    gap: 5vw;

  }

  .navigation_panel .header_block {

    width: 100%;

    margin: 0 auto;

  }

  .navigation_panel .body_block {

    width: 100%;

    padding: 5vw;

    margin: 0 auto;

  }

}

.navigation_panel {

  /* for SP */

  /*-------------------------------------------------------------

  header_block

  -------------------------------------------------------------*/

}

.navigation_panel .header_block {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

      -ms-flex-direction: column;

          flex-direction: column;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  gap: 3rem;

}

.navigation_panel .header_block .badge {

  width: 100%;

}

.navigation_panel .header_block .site_title a {

  display: block;

  width: 100%;

}

.navigation_panel .header_block .site_title a:hover {

  opacity: 0.6;

}

.navigation_panel .header_block {

  /* タブレット */

}

.navigation_panel .header_block {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .navigation_panel .header_block {

    gap: 3vw;

  }

  .navigation_panel .header_block .badge {

    width: 40%;

    margin: 0 auto;

  }

  .navigation_panel .header_block .site_title a {

    display: block;

    width: 100%;

    gap: 2vw;

  }

  .navigation_panel .header_block .site_title a .c_site_logo {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

        -ms-flex-direction: column;

            flex-direction: column;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;

  }

  .navigation_panel .header_block .site_title a .c_site_logo .mark {

    width: 17.5%;

    margin: 0 auto;

  }

  .navigation_panel .header_block .site_title a .c_site_logo .typo {

    width: 50%;

    margin: 0 auto;

  }

  .navigation_panel .header_block .site_title a:hover {

    opacity: 0.6;

  }

}

.navigation_panel .header_block {

  /* for SP */

}

.navigation_panel {

  /*-------------------------------------------------------------

  body_block

  -------------------------------------------------------------*/

}

.navigation_panel .body_block .menu a {

  font-size: 13.5rem;

  line-height: 0.9;

  display: block;

}

.navigation_panel .body_block .menu a span {

  display: none;

}

.navigation_panel .body_block .menu a:hover {

  opacity: 0.7;

}

.navigation_panel .body_block .menu .top a {

  color: #FF6A00;

}

.navigation_panel .body_block .menu .top a:hover {

  color: #d54000;

}

.navigation_panel .body_block .menu .statement a {

  color: #FA3A3A;

}

.navigation_panel .body_block .menu .statement a:hover {

  color: #d01010;

}

.navigation_panel .body_block .menu .build a {

  color: #3573FF;

}

.navigation_panel .body_block .menu .build a:hover {

  color: #0b49d5;

}

.navigation_panel .body_block .menu .works a {

  color: #E4C200;

}

.navigation_panel .body_block .menu .works a:hover {

  color: #dcad00;

}

.navigation_panel .body_block .menu .company a {

  color: #0ABB0A;

}

.navigation_panel .body_block .menu .company a:hover {

  color: #009100;

}

.navigation_panel .body_block .menu .contact a {

  color: #E3E3E3;

}

.navigation_panel .body_block .menu .contact a:hover {

  color: #b9b9b9;

}

.navigation_panel .body_block {

  /* タブレット */

}

@media screen and (max-width: 1200px) {

  .navigation_panel .body_block .menu a {

    font-size: 11vw;

  }

}

.navigation_panel .body_block {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .navigation_panel .body_block .menu a {

    font-size: 15vw;

  }

}

.navigation_panel {

  /*===============================================================

  close_btn

  ===============================================================*/

}

.navigation_panel .close_btn {

  text-align: center;

  margin-top: 2rem;

}

.navigation_panel .close_btn a {

  color: #666;

  display: inline-block;

  border: solid 1px #ccc;

  padding: 0.2em 1.5em;

  border-radius: 2em;

}

.navigation_panel .close_btn a:hover {

  opacity: 0.7;

}

/*===============================================================



hamburger_menu



===============================================================*/

.hamburger_menu {

  position: fixed;

  z-index: 500;

  top: 2.5rem;

  right: 2.5rem;

  width: 5rem;

  height: 5rem;

}

.hamburger_menu .hamburger_menu_inner {

  position: relative;

  width: 5rem;

  height: 5rem;

}

.hamburger_menu {

  /* タブレット */

}

.hamburger_menu {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .hamburger_menu {

    top: 2vw;

    right: 3vw;

    width: 14vw;

    height: 14vw;

  }

  .hamburger_menu .hamburger_menu_inner {

    width: 14vw;

    height: 14vw;

  }

}

.hamburger_menu {

  /* for SP */

  /*-------------------------------------------------------------

  hamburger_menu_btn_bg

  -------------------------------------------------------------*/

}

.hamburger_menu .hamburger_menu_btn_bg {

  background-color: transpalent;

  width: 5rem;

  height: 5rem;

  border-radius: 5rem;

  position: absolute;

  top: 0;

  bottom: 0;

  left: 0;

  right: 0;

  margin: auto;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  /* タブレット */

}

.hamburger_menu .hamburger_menu_btn_bg {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .hamburger_menu .hamburger_menu_btn_bg {

    width: 14vw;

    height: 14vw;

    border-radius: 14vw;

  }

}

.hamburger_menu .hamburger_menu_btn_bg {

  /* for SP */

}

.hamburger_menu {

  /*-------------------------------------------------------------

  hamburger_menu_btn

  -------------------------------------------------------------*/

}

.hamburger_menu .hamburger_menu_btn {

  padding: 0;

  margin: 0;

  width: 5rem;

  height: 5rem;

  border-radius: 5rem;

  position: absolute;

  top: 0;

  bottom: 0;

  left: 0;

  right: 0;

  margin: auto;

  /* タブレット */

}

.hamburger_menu .hamburger_menu_btn {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .hamburger_menu .hamburger_menu_btn {

    width: 14vw;

    height: 14vw;

    border-radius: 14vw;

  }

}

.hamburger_menu .hamburger_menu_btn {

  /* for SP */

}

.hamburger_menu {

  /*-------------------------------------------------------------

   menu_btn

  -------------------------------------------------------------*/

}

.hamburger_menu .menu_btn, .hamburger_menu .menu_btn_no_txt {

  display: block;

  position: relative;

  background-color: transparent !important;

  border: 0;

  width: 5rem;

  height: 5rem;

  border-radius: 5rem;

  padding: 0 !important;

  cursor: pointer;

}

.hamburger_menu .menu_btn .label, .hamburger_menu .menu_btn_no_txt .label {

  display: block;

  position: absolute;

  text-align: center;

  bottom: 10px;

  left: 0;

  right: 0;

  margin: auto;

  font-size: 11px;

  line-height: 12px;

  height: 12px;

  width: 100%;

  -webkit-animation-delay: 0.3s;

          animation-delay: 0.3s;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  opacity: 1;

  color: #fff;

  pointer-events: none;

  font-weight: bold;

}

.hamburger_menu .menu_btn::after, .hamburger_menu .menu_btn_no_txt::after, .hamburger_menu .menu_btn::before, .hamburger_menu .menu_btn_no_txt::before {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  left: 0;

  right: 0;

  margin: auto;

  width: 5rem;

  height: 5px;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

.hamburger_menu .menu_btn::after, .hamburger_menu .menu_btn_no_txt::after {

  background-color: #fff;

  -webkit-transform: translateY(-2px) translateX(0px);

          transform: translateY(-2px) translateX(0px);

}

.hamburger_menu .menu_btn::before, .hamburger_menu .menu_btn_no_txt::before {

  background-color: #fff;

  -webkit-transform: translateY(-10px) translateX(0px);

          transform: translateY(-10px) translateX(0px);

}

.hamburger_menu .menu_btn:hover::after, .hamburger_menu .menu_btn_no_txt:hover::after {

  -webkit-transform: translateY(-2px) translateX(3px);

          transform: translateY(-2px) translateX(3px);

}

.hamburger_menu .menu_btn:hover::before, .hamburger_menu .menu_btn_no_txt:hover::before {

  -webkit-transform: translateY(-10px) translateX(-3px);

          transform: translateY(-10px) translateX(-3px);

}

.hamburger_menu .menu_btn:hover, .hamburger_menu .menu_btn_no_txt:hover {

  text-decoration: none;

}

.menu_open .hamburger_menu .menu_btn::after, .menu_open .hamburger_menu .menu_btn_no_txt::after, .menu_open .hamburger_menu .menu_btn::before, .menu_open .hamburger_menu .menu_btn_no_txt::before {

  width: 4.5rem;

}

.menu_open .hamburger_menu .menu_btn::after, .menu_open .hamburger_menu .menu_btn_no_txt::after {

  -webkit-transform: rotate(-45deg) translate(5px, -5px);

          transform: rotate(-45deg) translate(5px, -5px);

}

.menu_open .hamburger_menu .menu_btn::before, .menu_open .hamburger_menu .menu_btn_no_txt::before {

  -webkit-transform: rotate(45deg) translate(-5px, -5px);

          transform: rotate(45deg) translate(-5px, -5px);

}

.menu_open .hamburger_menu .menu_btn:hover::after, .menu_open .hamburger_menu .menu_btn_no_txt:hover::after, .menu_open .hamburger_menu .menu_btn:hover::before, .menu_open .hamburger_menu .menu_btn_no_txt:hover::before {

  width: 2.5rem;

}

.hamburger_menu .menu_btn, .hamburger_menu .menu_btn_no_txt {

  /* タブレット */

}

.hamburger_menu .menu_btn, .hamburger_menu .menu_btn_no_txt {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .hamburger_menu .menu_btn, .hamburger_menu .menu_btn_no_txt {

    width: 14vw;

    height: 14vw;

    border-radius: 14vw;

  }

  .hamburger_menu .menu_btn::after, .hamburger_menu .menu_btn_no_txt::after, .hamburger_menu .menu_btn::before, .hamburger_menu .menu_btn_no_txt::before {

    width: 4rem;

    height: 4px;

  }

}

.hamburger_menu .menu_btn, .hamburger_menu .menu_btn_no_txt {

  /* for SP */

}

.hamburger_menu {

  /*-------------------------------------------------------------

  menu_btn_no_txt

  -------------------------------------------------------------*/

}

.hamburger_menu .menu_btn_no_txt .label {

  opacity: 0;

}

.hamburger_menu .menu_btn_no_txt::after {

  background-color: #fff;

  -webkit-transform: translateY(6px) translateX(0px);

          transform: translateY(6px) translateX(0px);

}

.hamburger_menu .menu_btn_no_txt::before {

  background-color: #fff;

  -webkit-transform: translateY(-6px) translateX(0px);

          transform: translateY(-6px) translateX(0px);

}

.hamburger_menu .menu_btn_no_txt:hover::after {

  -webkit-transform: translateY(8px) translateX(0);

          transform: translateY(8px) translateX(0);

}

.hamburger_menu .menu_btn_no_txt:hover::before {

  -webkit-transform: translateY(-8px) translateX(0);

          transform: translateY(-8px) translateX(0);

}

.menu_open .hamburger_menu .menu_btn_no_txt::after {

  -webkit-transform: rotate(-45deg);

          transform: rotate(-45deg);

}

.menu_open .hamburger_menu .menu_btn_no_txt::before {

  -webkit-transform: rotate(45deg);

          transform: rotate(45deg);

}

.hamburger_menu .menu_btn_no_txt {

  /* タブレット */

}

.hamburger_menu .menu_btn_no_txt {

  /* for TABLET */

  /* SP */

}

.hamburger_menu .menu_btn_no_txt {

  /* for SP */

}

.hamburger_menu {

  /*===============================================================

  //hamburger

  ===============================================================*/

}



/*===============================================================



	c_pagenation



===============================================================*/

.c_pagenation {

  /*-------------------------------------------------------------

  c_pagenavi共通設定

  -------------------------------------------------------------*/

  /*-------------------------------------------------------------

  WP-PageNavi

  -------------------------------------------------------------*/

}

.c_pagenation .wp-pagenavi {

  text-align: center;

  position: relative;

  vertical-align: middle;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  gap: 10px;

}

.c_pagenation .wp-pagenavi a,

.c_pagenation .wp-pagenavi span {

  display: block;

  -webkit-box-sizing: border-box;

          box-sizing: border-box;

  text-decoration: none;

  border-radius: 40px;

}

.c_pagenation .wp-pagenavi .backtolistlink,

.c_pagenation .wp-pagenavi .page,

.c_pagenation .wp-pagenavi .page-numbers,

.c_pagenation .wp-pagenavi .current {

  border: solid 1px #fff;

  background: #202020;

  color: #fff;

  border-color: #fff;

  font-size: 18px;

  width: 40px;

  line-height: 38px;

}

@media screen and (max-width: 800px) {

  .c_pagenation .wp-pagenavi .backtolistlink,

  .c_pagenation .wp-pagenavi .page,

  .c_pagenation .wp-pagenavi .page-numbers,

  .c_pagenation .wp-pagenavi .current {

    font-size: 4vw;

    width: 10vw;

    line-height: 10vw-2px;

  }

}

.c_pagenation .wp-pagenavi .backtolistlink {

  width: -webkit-fit-content;

  width: -moz-fit-content;

  width: fit-content;

  padding: 0 40px;

}

@media screen and (max-width: 800px) {

  .c_pagenation .wp-pagenavi .backtolistlink {

    padding: 0 6vw;

  }

}

.c_pagenation .wp-pagenavi .pages {

  display: block;

  padding-bottom: 10px;

  width: 100%;

}

.c_pagenation .wp-pagenavi .current {

  color: #202020;

  background: #fff;

  border: solid 1px #fff;

}

.c_pagenation .wp-pagenavi a:focus,

.c_pagenation .wp-pagenavi a:hover {

  color: #202020;

  background: #fff;

}

@media screen and (max-width: 800px) {

  .c_pagenation .wp-pagenavi {

    gap: 1vw;

    -webkit-box-pack: justify;

        -ms-flex-pack: justify;

            justify-content: space-between;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;

  }

}

.c_pagenation {

  /*-------------------------------------------------------------

  前のページ/次のページ

  -------------------------------------------------------------*/

}

.c_pagenation .wp-pagenavi .previouspostslink,

.c_pagenation .wp-pagenavi .nextpostslink {

  position: relative;

  color: transparent;

  border: solid 1px #fff;

  white-space: nowrap;

  overflow: hidden;

  text-indent: 100%;

  font-size: 18px;

  width: 40px;

  line-height: 38px;

}

@media screen and (max-width: 800px) {

  .c_pagenation .wp-pagenavi .previouspostslink,

  .c_pagenation .wp-pagenavi .nextpostslink {

    font-size: 4vw;

    width: 10vw;

    line-height: 10vw-2px;

  }

}

.c_pagenation .wp-pagenavi .previouspostslink::after,

.c_pagenation .wp-pagenavi .nextpostslink::after {

  content: "";

  display: inline-block;

  position: absolute;

  top: 0;

  bottom: 0;

  margin: auto;

  width: 8px;

  height: 8px;

  border-right: solid 1px #fff;

  border-bottom: solid 1px #fff;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

@media screen and (max-width: 800px) {

  .c_pagenation .wp-pagenavi .previouspostslink::after,

  .c_pagenation .wp-pagenavi .nextpostslink::after {

    width: 2vw;

    height: 2vw;

  }

}

.c_pagenation .wp-pagenavi .previouspostslink::after {

  left: 5px;

  right: 0;

  -webkit-transform: rotate(135deg);

          transform: rotate(135deg);

}

.c_pagenation .wp-pagenavi .nextpostslink::after {

  left: 0;

  right: 5px;

  -webkit-transform: rotate(-45deg);

          transform: rotate(-45deg);

}

.c_pagenation .wp-pagenavi .previouspostslink:focus,

.c_pagenation .wp-pagenavi .nextpostslink:focus,

.c_pagenation .wp-pagenavi .previouspostslink:hover,

.c_pagenation .wp-pagenavi .nextpostslink:hover {

  color: transparent;

  background: #fff;

}

.c_pagenation .wp-pagenavi .previouspostslink:focus::after,

.c_pagenation .wp-pagenavi .nextpostslink:focus::after,

.c_pagenation .wp-pagenavi .previouspostslink:hover::after,

.c_pagenation .wp-pagenavi .nextpostslink:hover::after {

  border-color: #202020 !important;

}

.c_pagenation .wp-pagenavi .txt_label {

  color: #fff;

  text-indent: 0 !important;

  padding: 0 28px;

  width: -webkit-fit-content;

  width: -moz-fit-content;

  width: fit-content;

  -webkit-box-sizing: border-box;

          box-sizing: border-box;

}

.c_pagenation .wp-pagenavi .txt_label:focus,

.c_pagenation .wp-pagenavi .txt_label:hover {

  color: #202020;

  background: #fff;

  border: solid 1px #fff;

}

.c_pagenation .wp-pagenavi .previouspostslink.txt_label::after {

  left: 15px;

  right: auto;

}

.c_pagenation .wp-pagenavi .nextpostslink.txt_label::after {

  left: auto;

  right: 15px;

}

@media screen and (max-width: 800px) {

  .c_pagenation .wp-pagenavi .txt_label {

    padding: 0 3vw;

  }

  .c_pagenation .wp-pagenavi .previouspostslink.txt_label {

    padding-left: 6vw;

  }

  .c_pagenation .wp-pagenavi .nextpostslink.txt_label {

    padding-right: 6vw;

  }

  .c_pagenation .wp-pagenavi .previouspostslink.txt_label::after {

    left: 3vw;

  }

  .c_pagenation .wp-pagenavi .nextpostslink.txt_label::after {

    right: 3vw;

  }

}

.c_pagenation .wp-pagenavi .deactive {

  visibility: hidden;

  pointer-events: none;

  color: rgba(255, 255, 255, 0.3);

  border: solid 1px rgba(255, 255, 255, 0.3);

  background: transparent;

}

.c_pagenation .wp-pagenavi .deactive::after {

  opacity: 0.3;

}

.c_pagenation {

  /*-------------------------------------------------------------

  最初のページ/最後のページ

  -------------------------------------------------------------*/

}

.c_pagenation .wp-pagenavi .first,

.c_pagenation .wp-pagenavi .last {

  position: relative;

  color: transparent;

  border: solid 1px #fff;

  font-size: 18px;

  width: 40px;

  line-height: 38px;

}

@media screen and (max-width: 800px) {

  .c_pagenation .wp-pagenavi .first,

  .c_pagenation .wp-pagenavi .last {

    font-size: 4vw;

    width: 10vw;

    line-height: 10vw-2px;

  }

}

.c_pagenation .wp-pagenavi .first {

  margin-left: 0;

}

.c_pagenation .wp-pagenavi .last {

  margin-right: 0;

}

.c_pagenation .wp-pagenavi .first::before,

.c_pagenation .wp-pagenavi .first::after,

.c_pagenation .wp-pagenavi .last::before,

.c_pagenation .wp-pagenavi .last::after {

  content: "";

  display: inline-block;

  position: absolute;

  top: 0;

  bottom: 0;

  margin: auto;

  width: 7px;

  height: 7px;

  border-right: solid 1px #fff;

  border-bottom: solid 1px #fff;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

@media screen and (max-width: 800px) {

  .c_pagenation .wp-pagenavi .first::before,

  .c_pagenation .wp-pagenavi .first::after,

  .c_pagenation .wp-pagenavi .last::before,

  .c_pagenation .wp-pagenavi .last::after {

    width: 2vw;

    height: 2vw;

  }

}

.c_pagenation .wp-pagenavi .first::before {

  left: 14px;

  right: auto;

  -webkit-transform: rotate(135deg);

          transform: rotate(135deg);

}

.c_pagenation .wp-pagenavi .first::after {

  left: 19px;

  right: auto;

  -webkit-transform: rotate(135deg);

          transform: rotate(135deg);

}

.c_pagenation .wp-pagenavi .last::before {

  right: 14px;

  left: auto;

  -webkit-transform: rotate(-45deg);

          transform: rotate(-45deg);

}

.c_pagenation .wp-pagenavi .last::after {

  right: 19px;

  left: auto;

  -webkit-transform: rotate(-45deg);

          transform: rotate(-45deg);

}

.c_pagenation .wp-pagenavi .first:focus,

.c_pagenation .wp-pagenavi .last:focus,

.c_pagenation .wp-pagenavi .first:hover,

.c_pagenation .wp-pagenavi .last:hover {

  color: transparent !important;

  background: #fff;

}

.c_pagenation .wp-pagenavi .first:focus::before,

.c_pagenation .wp-pagenavi .first:focus::after,

.c_pagenation .wp-pagenavi .last:focus::before,

.c_pagenation .wp-pagenavi .last:focus::after,

.c_pagenation .wp-pagenavi .first:hover::before,

.c_pagenation .wp-pagenavi .first:hover::after,

.c_pagenation .wp-pagenavi .last:hover::before,

.c_pagenation .wp-pagenavi .last:hover::after {

  border-color: #202020;

}

@media screen and (max-width: 800px) {

  .c_pagenation .wp-pagenavi .first {

    margin-right: 1vw;

  }

  .c_pagenation .wp-pagenavi .first::before {

    left: 3.3vw;

  }

  .c_pagenation .wp-pagenavi .first::after {

    left: 4.7vw;

  }

  .c_pagenation .wp-pagenavi .last::before {

    right: 4.7vw;

  }

  .c_pagenation .wp-pagenavi .last::after {

    right: 3.3vw;

  }

}

.c_pagenation {

  /*-------------------------------------------------------------

  省略マーク

  -------------------------------------------------------------*/

}

.c_pagenation .wp-pagenavi .extend {

  font-size: 18px;

  display: inline-block;

  margin: 0;

  color: #fff;

  vertical-align: bottom;

}

@media screen and (max-width: 800px) {

  .c_pagenation .wp-pagenavi .extend {

    font-size: 3vw;

    margin: 0;

  }

}

.c_pagenation {

  /*===============================================================

  //	c_pagenation

  ===============================================================*/

}



/*===============================================================



    entry-title



===============================================================*/

.entry-title .title {

  font-size: 4rem;

}

.entry-title * + .title {

  margin-top: 0.5em;

}

/*===============================================================



    section_blog



===============================================================*/

/*===============================================================



    blog_area_wrp



===============================================================*/

.blog_area_wrp {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;

}

.blog_area_wrp .blog_area_main {

  width: calc(100% - 350px);

}

.blog_area_wrp .blog_area_sub {

  width: 300px;

}

@media screen and (max-width: 800px) {

  .blog_area_wrp {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

        -ms-flex-direction: column;

            flex-direction: column;

  }

  .blog_area_wrp .blog_area_main {

    width: 100%;

  }

  .blog_area_wrp .blog_area_sub {

    width: 100%;

    margin-top: 10vw;

  }

}



/*===============================================================



    blog_main_area



===============================================================*/

.blog_area_main * {

  word-break: break-all;

  overflow-wrap: break-word;

}

/*===============================================================



    blog_sub_area



===============================================================*/

.blog_area_sub {

  /*===============================================================

  widget

  ===============================================================*/

}

.blog_area_sub .widget + .widget {

  margin-top: 5rem;

}

.blog_area_sub .widget .widget-title {

  font-size: 2.5rem;

  font-size: 2rem;

}

@media screen and (max-width: 800px) {

  .blog_area_sub .widget {

    padding-top: 8vw;

    border-top: solid 1px #666 !important;

  }

  .blog_area_sub .widget + .widget {

    margin-top: 10vw;

  }

}

.blog_area_sub .widget {

  /*-------------------------------------------------------------

  ul

  -------------------------------------------------------------*/

}

.blog_area_sub .widget ul {

  border-top: solid 1px #ccc;

  margin-top: 2rem;

}

.blog_area_sub .widget ul li a {

  text-underline-offset: 5px;

  color: #000;

  text-decoration-color: #ccc;

  text-decoration: none;

  padding: 1rem;

  font-size: 1.6rem;

  line-height: 1.5;

  display: block;

  border-bottom: solid 1px #ccc;

}

.blog_area_sub .widget ul li a:hover {

  background-color: #f5f5f5;

}

@media screen and (max-width: 800px) {

  .blog_area_sub .widget ul {

    margin-top: 3vw;

  }

  .blog_area_sub .widget ul li a {

    padding: 1rem;

    font-size: 3.5vw;

  }

}

.blog_area_sub .widget {

  /*-------------------------------------------------------------

  more_list

  -------------------------------------------------------------*/

}

.blog_area_sub .widget .more_list {

  text-align: right;

  margin-top: 1em;

}

.blog_area_sub .widget .more_list a {

  display: inline-block;

  padding-right: 1.5em;

  color: #fff;

  position: relative;

  text-decoration: none;

}

.blog_area_sub .widget .more_list a::before, .blog_area_sub .widget .more_list a::after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  right: 0;

  margin: auto;

  width: 0.8em;

  height: 1px;

  background-color: #666;

}

.blog_area_sub .widget .more_list a::after {

  rotate: 90deg;

}

.blog_area_sub .widget .more_list a:hover {

  color: #fff;

  opacity: 0.7;

}

.blog_area_sub .widget .more_list.open a::after {

  rotate: 0deg;

}

/*===============================================================



    widget_search



===============================================================*/

.blog_area_wrp {

  /*===============================================================

      search-form

  ===============================================================*/

}

.blog_area_wrp input[type=search] {

  color: #666;

  background: #fff;

  background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));

  border: 1px solid #bbb;

  border-radius: 3px;

  display: block;

  padding: 0.7em;

  width: 100%;

  font-size: 1.4rem;

}

.blog_area_wrp button,

.blog_area_wrp input[type=button],

.blog_area_wrp input[type=submit] {

  border: 0;

  border-radius: 2px;

  -webkit-box-shadow: none;

  box-shadow: none;

  color: #fff;

  cursor: pointer;

  display: inline-block;

  font-size: 1.4rem;

  font-weight: 800;

  line-height: 1;

  padding: 0em 2em;

  text-shadow: none;

}

.blog_area_wrp input + button,

.blog_area_wrp input + input[type=button],

.blog_area_wrp input + input[type=submit] {

  padding: 0.75em 2em;

}

.blog_area_wrp [type=search] {

  -webkit-appearance: textfield;

  outline-offset: -2px;

}

.blog_area_wrp .search-form {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  gap: 8px;

  max-width: 400px;

  margin: 0 auto;

}

.blog_area_wrp .search-form label {

  position: absolute;

  left: -9999px;

}

.blog_area_wrp .search-form .search-field {

  -webkit-box-flex: 1;

      -ms-flex: 1;

          flex: 1;

  padding: 10px 12px;

  font-size: 1.4rem;

  line-height: 1;

  border: 1px solid #ccc;

  border-radius: 6px;

  -webkit-transition: border-color 0.3s, -webkit-box-shadow 0.3s;

  transition: border-color 0.3s, -webkit-box-shadow 0.3s;

  transition: border-color 0.3s, box-shadow 0.3s;

  transition: border-color 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s;

}

.blog_area_wrp .search-form .search-field:focus {

  border-color: #318fd6;

  -webkit-box-shadow: 0 0 0 3px rgba(49, 143, 214, 0.2);

          box-shadow: 0 0 0 3px rgba(49, 143, 214, 0.2);

  outline: none;

}

.blog_area_wrp .search-form .search-submit {

  padding: 15px 10px !important;

  font-size: 1.4rem;

  line-height: 1;

  font-weight: bold;

  color: #fff;

  background: #000;

  border: none;

  border-radius: 6px;

  cursor: pointer;

  -webkit-transition: background 0.3s;

  transition: background 0.3s;

}

.blog_area_wrp .search-form .search-submit:hover {

  background: #000;

}

.blog_area_wrp .search-form .search-submit:active {

  background: #000;

}

/*===============================================================



    blog_area_wrp



===============================================================*/

.blog_area_wrp .widget_calendar #wp-calendar {

  width: 100%;

  border-collapse: separate;

  border-spacing: 0;

  table-layout: fixed;

  color: #222;

}

.blog_area_wrp .widget_calendar #wp-calendar caption {

  margin-bottom: 12px;

  font-weight: 700;

  font-size: clamp(16px, 2.4vw, 18px);

  text-align: left;

  letter-spacing: 0.02em;

}

.blog_area_wrp .widget_calendar #wp-calendar thead th {

  font-weight: 600;

  font-size: 12px;

  text-align: center;

  color: #8a8a8a;

  padding: 8px 0;

  border-bottom: 1px solid #EDEDED;

  border-top: 1px solid #EDEDED;

}

.blog_area_wrp .widget_calendar #wp-calendar thead th:nth-child(6) {

  color: #3057D8;

}

.blog_area_wrp .widget_calendar #wp-calendar thead th:nth-child(7) {

  color: #E02D3B;

}

.blog_area_wrp .widget_calendar #wp-calendar tbody td {

  position: relative;

  text-align: center;

  padding: 10px 0;

  height: 48px;

  font-size: 14px;

  border-bottom: 1px solid #f2f2f2;

  -webkit-transition: background-color 0.2s ease, color 0.2s ease;

  transition: background-color 0.2s ease, color 0.2s ease;

  -webkit-user-select: none;

     -moz-user-select: none;

      -ms-user-select: none;

          user-select: none;

}

.blog_area_wrp .widget_calendar #wp-calendar tbody td:not(.pad) {

  border-right: 1px solid #f7f7f7;

}

.blog_area_wrp .widget_calendar #wp-calendar tbody td:not(.pad):hover {

  background: #f8fbff;

}

.blog_area_wrp .widget_calendar #wp-calendar tbody td:last-child {

  border-right: none;

}

.blog_area_wrp .widget_calendar #wp-calendar tbody td:nth-child(6) {

  color: rgb(37.8109756098, 75.6219512195, 200.6890243902);

}

.blog_area_wrp .widget_calendar #wp-calendar tbody td:nth-child(7) {

  color: rgb(212.1784232365, 31.3215767635, 45.4668049793);

}

.blog_area_wrp .widget_calendar #wp-calendar tbody td#today {

  font-weight: 700;

  color: #3057D8;

  background-color: rgba(48, 87, 216, 0.08);

  outline-offset: -2px;

}

.blog_area_wrp .widget_calendar #wp-calendar tbody td#today:hover {

  background: rgba(48, 87, 216, 0.08);

}

.blog_area_wrp .widget_calendar #wp-calendar tbody td.pad {

  color: transparent;

  border-bottom: none;

  background: transparent;

  pointer-events: none;

}

.blog_area_wrp .widget_calendar #wp-calendar tbody tr:last-child td {

  border-bottom: 0;

}

.blog_area_wrp .widget_calendar .wp-calendar-nav {

  margin-top: 10px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;

  gap: 8px;

}

.blog_area_wrp .widget_calendar .wp-calendar-nav .pad {

  -webkit-box-flex: 1;

      -ms-flex: 1;

          flex: 1;

}

.blog_area_wrp .widget_calendar .wp-calendar-nav a {

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  gap: 6px;

  font-size: 13px;

  font-weight: 600;

  color: #3057D8;

  border-radius: 8px;

  text-decoration: none;

  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease, -webkit-transform 0.04s ease;

  transition: background-color 0.2s ease, border-color 0.2s ease, -webkit-transform 0.04s ease;

  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.04s ease;

  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.04s ease, -webkit-transform 0.04s ease;

}

.blog_area_wrp .widget_calendar .wp-calendar-nav a .svg-icon {

  -webkit-box-flex: 0;

      -ms-flex: 0 0 auto;

          flex: 0 0 auto;

}

.blog_area_wrp .widget_calendar .wp-calendar-nav a:hover {

  background: #eef4ff;

  border-color: rgba(48, 87, 216, 0.3);

}

.blog_area_wrp .widget_calendar .wp-calendar-nav a:active {

  -webkit-transform: translateY(1px);

          transform: translateY(1px);

}

.blog_area_wrp .widget_calendar .wp-calendar-nav .wp-calendar-nav-next a[href=""],

.blog_area_wrp .widget_calendar .wp-calendar-nav .wp-calendar-nav-next a[href="#"], .blog_area_wrp .widget_calendar .wp-calendar-nav .wp-calendar-nav-next:empty,

.blog_area_wrp .widget_calendar .wp-calendar-nav .wp-calendar-nav-prev a[href=""],

.blog_area_wrp .widget_calendar .wp-calendar-nav .wp-calendar-nav-prev a[href="#"],

.blog_area_wrp .widget_calendar .wp-calendar-nav .wp-calendar-nav-prev:empty {

  pointer-events: none;

  opacity: 0.4;

  -webkit-filter: grayscale(1);

          filter: grayscale(1);

}

.blog_area_wrp .widget_calendar a:focus-visible,

.blog_area_wrp .widget_calendar button:focus-visible,

.blog_area_wrp .widget_calendar td#today:focus-visible {

  outline: 3px solid rgba(48, 87, 216, 0.35);

  outline-offset: 2px;

  border-radius: 10px;

}

@media (max-width: 480px) {

  .blog_area_wrp .widget_calendar .calendar_wrap {

    padding: 12px;

    border-radius: 10px;

  }

  .blog_area_wrp .widget_calendar #wp-calendar caption {

    margin-bottom: 10px;

    font-size: 16px;

  }

  .blog_area_wrp .widget_calendar #wp-calendar thead th {

    font-size: 11px;

    padding: 6px 0;

  }

  .blog_area_wrp .widget_calendar #wp-calendar tbody td {

    height: 40px;

    font-size: 13px;

    padding: 6px 0;

    border-bottom: 1px solid #f5f5f5;

  }

  .blog_area_wrp .widget_calendar .wp-calendar-nav a {

    padding: 7px 9px;

    font-size: 12px;

    border-radius: 7px;

  }

}



/*===============================================================



    _serch_result



===============================================================*/

.serch_result {

  /*===============================================================

  page-header

  ===============================================================*/

}

.serch_result .page-header .page-title {

  font-size: 3rem;

}

.serch_result .page-header .search-term {

  color: #333;

}

.serch_result {

  /*===============================================================

  search-result-count

  ===============================================================*/

}

.serch_result .search-result-count {

  font-size: 1.6rem;

}

.serch_result {

  /*===============================================================

      entry

  ===============================================================*/

}

.serch_result .entry {

  border: solid 1px #ccc;

  margin-top: 3rem;

  padding: 3rem;

}

.serch_result .entry .entry-title {

  font-size: 2rem;

}

.serch_result .entry .entry-content p {

  font-size: 90%;

  line-height: 1.6;

}

.serch_result .entry .entry-content .searchtext {

  background-color: #ff0;

}

@media screen and (max-width: 800px) {

  .serch_result .entry {

    margin-top: 5vw;

    padding: 5vw;

  }

  .serch_result .entry .entry-content p {

    font-size: 90%;

    line-height: 1.6;

    overflow-wrap: anywhere;

    /* 収まらない場合に折り返す */

    word-break: normal;

    /* 単語の分割はデフォルトに依存 */

    line-break: strict;

    /* 禁則処理を厳格に適用 */

  }

  .serch_result .entry .entry-content .searchtext {

    background-color: #ff0;

  }

}

.serch_result {

  /*-------------------------------------------------------------

  c_pagenation

  -------------------------------------------------------------*/

}

.serch_result .c_pagenation {

  margin-top: 50px;

}

@media screen and (max-width: 800px) {

  .serch_result .c_pagenation {

    margin-top: 10vw;

  }

}



/*===============================================================



    blog_entry_list



===============================================================*/

.blog_entry_list {

  /*===============================================================

  entry_wrp

  ===============================================================*/

}

.blog_entry_list .entry_wrp {

  border-top: 2px solid #000;

  padding-top: 3rem;

}

.blog_entry_list .entry_wrp + .entry_wrp {

  margin-top: 12rem;

}

.blog_entry_list {

  /*===============================================================

  entry-title

  ===============================================================*/

}

.blog_entry_list .entry-title .title {

  font-size: 3rem;

}

.blog_entry_list {

  /*===============================================================

  entry-content

  ===============================================================*/

}

.blog_entry_list {

  /*===============================================================

  entry-permalink

  ===============================================================*/

}

.blog_entry_list .entry-permalink {

  margin-top: 3rem;

  padding: 2rem;

  background-color: #eee;

  border-radius: 10px;

  font-size: 1.4rem;

  line-height: 1.4;

}

/*===============================================================



    blog_entry_list_tile



===============================================================*/

.blog_entry_list_tile {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  gap: 5rem 2rem;

}

.blog_entry_list_tile .entry_tile {

  display: block;

  width: calc((100% - 6rem) / 4);

}

@media screen and (max-width: 1070px) {

  .blog_entry_list_tile {

    gap: 5rem 2rem;

  }

  .blog_entry_list_tile .entry_tile {

    display: block;

    width: calc((100% - 4rem) / 3);

  }

}

@media screen and (max-width: 800px) {

  .blog_entry_list_tile {

    gap: 5vw 3vw;

  }

  .blog_entry_list_tile .entry_tile {

    display: block;

    width: calc((100% - 3vw) / 2);

  }

}

.blog_entry_list_tile {

  /*===============================================================

  entry_tile

  ===============================================================*/

}

.blog_entry_list_tile .entry_tile {

  color: #fff;

  text-decoration: none;

}

.blog_entry_list_tile .entry_tile:hover {

  color: #ccc;

}

.blog_entry_list_tile .entry_tile .status {

  margin-top: 0.5em;

}

.blog_entry_list_tile .entry_tile .status li {

  display: inline-block;

  font-size: 1.5rem;

}

.blog_entry_list_tile .entry_tile .status li + li {

  margin-left: 1em;

}

.blog_entry_list_tile .entry_tile .title {

  line-height: 1.6;

  display: -webkit-box;

  -webkit-box-orient: vertical;

  -webkit-line-clamp: 2;

  line-clamp: 2;

  overflow: hidden;

}

.blog_entry_list_tile .entry_tile .thumbnail img {

  aspect-ratio: 4/3;

  -o-object-fit: cover;

     object-fit: cover;

}

@media screen and (max-width: 800px) {

  .blog_entry_list_tile .entry_tile .status {

    margin-top: 1vw;

  }

  .blog_entry_list_tile .entry_tile .status li {

    font-size: 3.2vw;

  }

  .blog_entry_list_tile .entry_tile .title {

    font-size: 3.5vw;

  }

}



/*===============================================================



    blog_entry



===============================================================*/

.blog_entry > a:first-child + h1,

.blog_entry > a:first-child + h2,

.blog_entry > a:first-child + h3,

.blog_entry > a:first-child + h4 {

  margin-top: 0;

}

.blog_entry {

  /*===============================================================



      wpcf7-form-control-wrap



  ===============================================================*/

}

.blog_entry .wpcf7-form-control-wrap textarea,

.blog_entry .wpcf7-form-control-wrap input {

  padding: auto;

  font-size: 1.6rem;

  border: solid 1px #ccc;

  padding: 0.5em;

  width: 100%;

  -webkit-box-sizing: border-box;

          box-sizing: border-box;

}

.blog_entry {

  /*===============================================================

  .submit 

  ===============================================================*/

}

.blog_entry .submit {

  position: relative;

  text-align: center;

  margin: 0 auto;

  padding: 0;

  width: 100%;

  display: block;

}

.blog_entry .submit .wpcf7-spinner {

  position: absolute;

  top: 0;

}

.blog_entry .submit input[type=submit] {

  display: inline-block;

  padding: 0.5em 2em;

  font-size: 1.8rem;

  border-radius: 9999px;

  border: none;

  color: #fff;

  cursor: pointer;

  -webkit-transition: 0.3s;

  transition: 0.3s;

  margin: 0 auto;

  width: auto;

}

@media screen and (max-width: 800px) {

  .blog_entry .submit input[type=submit] {

    font-size: 4vw;

  }

}



/*===============================================================



    ビジュアルエディタ部分（フロントおよび入力欄共通）



===============================================================*/

html .blog_entry {

  display: flow-root;

  text-align: left;

  color: #fff;

}

@media only screen and (max-width: 800px) {

  html .blog_entry {

    width: auto;

  }

}

html .blog_entry * {

  word-break: break-all;

  overflow-wrap: break-word;

}

html .blog_entry {

  /*-------------------------------------------------------------

  c_grid

  -------------------------------------------------------------*/

}

html .blog_entry .c_grid {

  margin-top: 3rem;

}

@media screen and (max-width: 800px) {

  html .blog_entry .c_grid {

    margin-top: 5vw;

  }

}

html .blog_entry {

  /*-------------------------------------------------------------

  c_label

  -------------------------------------------------------------*/

}

html .blog_entry .c_label span {

  display: inline-block;

  padding: 0.5em;

  font-size: 2rem;

  line-height: 1.4;

  font-weight: bold;

  background-color: #F0F0F0;

}

@media screen and (max-width: 800px) {

  html .blog_entry .c_label span {

    font-size: 3.5vw;

  }

}

html .blog_entry {

  /*-------------------------------------------------------------

  見出し

  -------------------------------------------------------------*/

}

html .blog_entry h2 {

  font-size: 3.5rem;

  line-height: 1.4;

  padding: 3em 0;

  border-top: solid 1px #fff;

}

html .blog_entry h2 span {

  display: block;

  color: #ccc;

  font-size: 50%;

  line-height: 1.8;

  font-weight: normal;

  margin-top: -1em;

}

@media only screen and (max-width: 800px) {

  html .blog_entry h2 {

    font-size: 5.5vw;

    padding: 2em 0;

  }

}

html .blog_entry h2:has(.en) {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  font-size: 2.5rem;

  gap: 1em;

}

html .blog_entry h2:has(.en) .en {

  font-size: 4.9rem;

}

@media only screen and (max-width: 800px) {

  html .blog_entry h2:has(.en) {

    font-size: 4.4vw;

  }

  html .blog_entry h2:has(.en) .en {

    font-size: 8.25vw;

  }

}

html .blog_entry h2 + * {

  margin-top: 0 !important;

}

html .blog_entry h3 {

  display: inline-block;

  font-size: 3rem;

  line-height: 1.4;

  padding: 0.3em 0.5em;

  color: #202020;

  background-color: #fff;

}

@media only screen and (max-width: 800px) {

  html .blog_entry h3 {

    font-size: 4.5vw;

  }

}

html .blog_entry h4 {

  font-size: 2.5rem;

  line-height: 1.4;

}

@media only screen and (max-width: 800px) {

  html .blog_entry h4 {

    font-size: 4vw;

  }

}

html .blog_entry h5 {

  font-size: 2.2rem;

  line-height: 1.4;

  font-weight: bold;

}

@media only screen and (max-width: 800px) {

  html .blog_entry h5 {

    font-size: 4vw;

  }

}

html .blog_entry h6 {

  font-size: 1.8rem;

  line-height: 1.4;

}

@media only screen and (max-width: 800px) {

  html .blog_entry h6 {

    font-size: 4vw;

  }

}

html .blog_entry p {

  font-size: 2rem;

  line-height: 1.8;

}

@media only screen and (max-width: 800px) {

  html .blog_entry p {

    font-size: 3.8vw;

    line-height: 1.8;

  }

}

html .blog_entry p + p {

  margin-top: 1em;

}

@media only screen and (max-width: 800px) {

  html .blog_entry p + p {

    margin-top: 5vw;

  }

}

html .blog_entry * + p {

  margin-top: 1.5em;

}

@media only screen and (max-width: 800px) {

  html .blog_entry * + p {

    margin-top: 5vw;

  }

}

html .blog_entry p:has(img) + p {

  margin-top: 1.5em;

}

@media only screen and (max-width: 800px) {

  html .blog_entry p:has(img) + p {

    margin-top: 4.5vw;

  }

}

html .blog_entry * + p:has(img) {

  margin-top: 1.5em;

}

@media only screen and (max-width: 800px) {

  html .blog_entry * + p:has(img) {

    margin-top: 4.5vw;

  }

}

html .blog_entry .c_btn__cta,

html .blog_entry * + h2 {

  margin-top: 10rem;

}

@media only screen and (max-width: 800px) {

  html .blog_entry .c_btn__cta,

  html .blog_entry * + h2 {

    margin-top: 10vw;

  }

}

html .blog_entry .c_btn__cta + h2 {

  margin-top: 20rem;

}

@media only screen and (max-width: 800px) {

  html .blog_entry .c_btn__cta + h2 {

    margin-top: 15vw;

  }

}

html .blog_entry * + h3 {

  margin-top: 10rem;

}

@media only screen and (max-width: 800px) {

  html .blog_entry * + h3 {

    margin-top: 10vw;

  }

}

html .blog_entry * + h4 {

  margin-top: 6rem;

}

@media only screen and (max-width: 800px) {

  html .blog_entry * + h4 {

    margin-top: 8vw;

  }

}

html .blog_entry * + h5 {

  margin-top: 6rem;

}

@media only screen and (max-width: 800px) {

  html .blog_entry * + h5 {

    margin-top: 8vw;

  }

}

html .blog_entry * + h6 {

  margin-top: 4rem;

}

@media only screen and (max-width: 800px) {

  html .blog_entry * + h6 {

    margin-top: 5vw;

  }

}

html .blog_entry {

  /*-------------------------------------------------------------

  リンク

  -------------------------------------------------------------*/

}

html .blog_entry a {

  color: #FF6A00;

  text-decoration: underline;

  text-underline-offset: 0.4em;

}

html .blog_entry a:hover {

  color: #d54000;

}

html .blog_entry {

  /*-------------------------------------------------------------

  テキスト

  -------------------------------------------------------------*/

}

html .blog_entry em {

  font-style: italic;

}

html .blog_entry {

  /*-------------------------------------------------------------

  画像

  -------------------------------------------------------------*/

}

html .blog_entry img {

  margin: 0 auto;

  width: auto;

  max-width: 100%;

}

@media only screen and (max-width: 800px) {

  html .blog_entry img {

    width: 100% !important;

    max-width: 100% !important;

    height: auto;

  }

}

@media only screen and (max-width: 800px) {

  html .blog_entry img.size-thumbnail {

    /* width: 10rem !important;

    height: 10rem !important; */

  }

}

html .blog_entry .aligncenter {

  clear: both;

  display: block;

  margin-left: auto;

  margin-right: auto;

  margin-bottom: 1.5em;

}

@media only screen and (max-width: 800px) {

  html .blog_entry .aligncenter {

    clear: both;

    float: none;

    display: block;

    margin-left: auto;

    margin-right: auto;

    margin-bottom: 0;

  }

}

html .blog_entry .alignleft {

  clear: both;

  display: block;

  margin-right: 2em;

  margin-bottom: 2em;

  float: left;

}

@media only screen and (max-width: 800px) {

  html .blog_entry .alignleft {

    clear: both;

    float: none;

    display: block;

    margin-left: 0;

    margin-right: auto;

    margin-bottom: 0;

  }

}

html .blog_entry .alignright {

  clear: both;

  display: block;

  margin-left: 2em;

  margin-bottom: 2em;

  float: right;

}

@media only screen and (max-width: 800px) {

  html .blog_entry .alignright {

    clear: both;

    float: none;

    display: block;

    margin: 0;

    margin-left: auto;

    margin-right: 0;

    margin-bottom: 0;

    text-align: right;

  }

}

html .blog_entry {

  /*-------------------------------------------------------------

  引用

  -------------------------------------------------------------*/

}

html .blog_entry blockquote {

  background-color: #2a2a2a;

  font-size: 1.6rem;

  padding: 2em;

  margin-top: 1.5em;

}

html .blog_entry blockquote p {

  margin-top: 0;

  font-size: 1.6rem;

}

@media only screen and (max-width: 800px) {

  html .blog_entry blockquote {

    padding: 1em;

    margin-top: 4.5vw;

    font-size: 3.5vw;

    line-height: 1.6;

  }

  html .blog_entry blockquote p {

    font-size: 3.5vw;

  }

}

html .blog_entry {

  /*-------------------------------------------------------------

  リスト

  -------------------------------------------------------------*/

}

html .blog_entry ul:not([class]),

html .blog_entry ol:not([class]) {

  margin-top: 1.5em;

  border: solid 1px #999;

  padding: 3rem;

  border-radius: 0.5rem;

}

@media only screen and (max-width: 800px) {

  html .blog_entry ul:not([class]),

  html .blog_entry ol:not([class]) {

    margin-top: 5vw;

    padding: 5vw;

  }

}

html .blog_entry .c_number_list {

  border: 0;

  padding: 0;

  border-radius: 0;

}

html .blog_entry li:not([class]) {

  font-size: 2rem;

  line-height: 1.6;

}

html .blog_entry li:not([class]) + li {

  margin-top: 0.3em;

}

@media only screen and (max-width: 800px) {

  html .blog_entry li:not([class]) {

    font-size: 3.8vw;

  }

  html .blog_entry li:not([class]) + li {

    margin-top: 0.3em;

  }

}

html .blog_entry li::marker {

  color: #fff;

}

html .blog_entry ul:not([class]) li {

  list-style-type: disc;

  margin-left: 1.5em;

}

html .blog_entry ol:not([class]) li {

  list-style-type: decimal-leading-zero;

  margin-left: 2.3em;

}

html .blog_entry dl:not([class]) {

  margin-top: 1em;

  font-size: 2rem;

  line-height: 1.6;

}

@media only screen and (max-width: 800px) {

  html .blog_entry dl:not([class]) {

    font-size: 3.8vw;

  }

}

html .blog_entry dl:not([class]) dt {

  font-weight: bold;

}

html .blog_entry dl:not([class]) dd {

  padding-left: 2em;

}

html .blog_entry {

  /*-------------------------------------------------------------

  リスト

  -------------------------------------------------------------*/

}

html .blog_entry table {

  width: 100%;

  margin-top: 1.5em;

  border-collapse: collapse;

  border: none;

  border-spacing: 0;

  border-bottom: 1px solid #666;

}

@media only screen and (max-width: 800px) {

  html .blog_entry table {

    margin-top: 4.5vw;

    border-top: 1px solid #666;

  }

}

html .blog_entry table tr:nth-child(odd) {

  background: rgba(0, 0, 0, 0.05);

}

@media only screen and (max-width: 800px) {

  html .blog_entry table tr:nth-child(odd) {

    background: rgba(0, 0, 0, 0);

  }

}

html .blog_entry table th,

html .blog_entry table td {

  padding: 2rem 1rem;

  font-size: 2rem;

  line-height: 1.6;

  vertical-align: top;

  font-weight: normal;

  text-align: left;

  border-top: 1px solid #666;

}

@media only screen and (max-width: 800px) {

  html .blog_entry table th,

  html .blog_entry table td {

    display: block;

    padding: 3vw;

    margin: 0;

    width: auto;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;

    font-size: 3.8vw;

    border-top: 0;

    border-top: 1px dashed #444;

  }

}

html .blog_entry table th {

  background: rgba(0, 0, 0, 0.05);

  font-weight: bold;

}

@media only screen and (max-width: 800px) {

  html .blog_entry table th {

    background: #2a2a2a;

    border-top: 1px solid #666;

  }

}

html .blog_entry {

  /*===============================================================

  並び

  ===============================================================*/

}

html .blog_entry * + .c_label {

  margin-top: 10rem;

}

html .blog_entry .c_label + h2 {

  margin-top: 0.5em;

}

html .blog_entry .c_contact_box {

  margin-top: 10rem;

}

@media screen and (max-width: 800px) {

  html .blog_entry .c_btn ~ :is(h1, h2, h3, h4, h5, h6), html .blog_entry .c_btn__cta ~ :is(h1, h2, h3, h4, h5, h6), html .blog_entry .c_btn_round ~ :is(h1, h2, h3, h4, h5, h6) {

    margin-top: 15vw;

  }

  html .blog_entry * + .c_label {

    margin-top: 10vw;

  }

  html .blog_entry .c_label + h2 {

    margin-top: 0.5em;

  }

  html .blog_entry .c_contact_box {

    margin-top: 10vw;

  }

}

html .blog_entry {

  /*-------------------------------------------------------------

  fig

  -------------------------------------------------------------*/

}

html .blog_entry .fig h3,

html .blog_entry .fig h4,

html .blog_entry .fig h5,

html .blog_entry .fig h6 {

  margin-top: 0.5em;

}

html .blog_entry .fig p {

  margin-top: 0.5em;

  font-size: 90%;

  line-height: 1.6;

}

html .blog_entry {

  /*-------------------------------------------------------------

  c_btns

  -------------------------------------------------------------*/

}

@media screen and (max-width: 800px) {

  html .blog_entry .c_btns {

    /* --- 子要素3つの場合 --- */

  }

  html .blog_entry .c_btns:has(> [class^=c_btn]:nth-child(3):last-child) {

    --btn-count: 3;

    gap: 0 2vw;

  }

  html .blog_entry .c_btns:has(> [class^=c_btn]:nth-child(3):last-child) [class^=c_btn] {

    width: calc((100% - 4vw) / 3);

  }

  html .blog_entry .c_btns {

    /* 3. .label の中にも外にも icon_ が存在しない場合 */

  }

  html .blog_entry .c_btns a:has(.label):not(:has([class^=icon_])) {

    padding: 3vw 0 !important;

    min-height: 0;

  }

  html .blog_entry .c_btns a:has(.label):not(:has([class^=icon_])) .label {

    font-size: 3.5vw !important;

  }

}



/*===============================================================



    section_kv



===============================================================*/

.section_kv {

  display: -ms-grid;

  display: grid;

  -ms-grid-columns: minmax(0, 580fr) 30px minmax(0, 400fr) 30px 460px;

  grid-template-columns: minmax(0, 580fr) minmax(0, 400fr) 460px;

  gap: 30px;

  width: 100%;

  padding: 0 30px;

  padding-bottom: 30px;

}

.section_kv > div {

  min-width: 0;

  overflow: hidden;

}

.section_kv img {

  display: block;

  width: 100%;

  height: 100%;

  -o-object-fit: cover;

     object-fit: cover;

}

.section_kv .kv_slide01,

.section_kv .kv_slide02,

.section_kv .kv_slide03 {

  height: 850px;

}

.section_kv .kv_slide03 {

  display: -ms-grid;

  display: grid;

  -ms-grid-rows: 215px 30px 300px 30px 274px;

  grid-template-rows: 215px 300px 274px;

  gap: 30px;

}

.section_kv .kv_slide04 {

  display: -ms-grid;

  display: grid;

  -ms-grid-columns: 215px 30px 215px;

  grid-template-columns: 215px 215px;

  gap: 30px;

}

.section_kv .kv_slide07,

.section_kv .kv_slide08 {

  height: 215px;

}

@media screen and (max-width: 800px) {

  .section_kv {

    padding: 0 3vw;

    padding-bottom: 3vw;

    display: -ms-grid;

    display: grid;

    -ms-grid-columns: 500fr 3vw 413fr;

    grid-template-columns: 500fr 413fr;

    gap: 3vw;

  }

  .section_kv .kv_slide01 {

    -ms-grid-column: 1;

    -ms-grid-column-span: 1;

    grid-column: 1/2;

    -ms-grid-row: 2;

    grid-row: 2;

  }

  .section_kv .kv_slide02 {

    -ms-grid-column: 2;

    -ms-grid-column-span: 1;

    grid-column: 2/3;

    -ms-grid-row: 2;

    grid-row: 2;

  }

  .section_kv .kv_slide03,

  .section_kv .kv_slide04 {

    display: contents;

  }

  .section_kv .kv_slide04 {

    grid-column: 1/-1;

    -ms-grid-row: 3;

    grid-row: 3;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

        -ms-flex-direction: row;

            flex-direction: row;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;

    -webkit-box-pack: justify;

        -ms-flex-pack: justify;

            justify-content: space-between;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;

    gap: 3vw;

    width: 100%;

  }

  .section_kv .kv_slide04 .kv_slide07,

  .section_kv .kv_slide04 .kv_slide08 {

    width: calc((100% - 3vw) / 2);

    aspect-ratio: 1/1;

  }

  .section_kv .kv_slide06 {

    grid-column: 1/-1;

    -ms-grid-row: 1;

    grid-row: 1;

  }

  .section_kv .kv_slide05 {

    grid-column: 1/-1;

    -ms-grid-row: 4;

    grid-row: 4;

    aspect-ratio: 16/9;

  }

  .section_kv .kv_slide01,

  .section_kv .kv_slide02,

  .section_kv .kv_slide05,

  .section_kv .kv_slide06,

  .section_kv .kv_slide07,

  .section_kv .kv_slide08 {

    height: auto;

  }

  .section_kv img {

    width: 100%;

    height: auto;

    display: block;

    -o-object-fit: initial;

       object-fit: initial;

    -o-object-fit: cover;

       object-fit: cover;

  }

}

.section_kv {

  /*===============================================================

      js_gallery

  ===============================================================*/

}

.section_kv .js_gallery {

  position: relative;

  width: 100%;

  height: 100%;

}

.section_kv .js_gallery .ph {

  position: absolute;

  inset: 0;

  opacity: 0;

  -webkit-transition: opacity 2000ms ease;

  transition: opacity 2000ms ease;

}

.section_kv .js_gallery .ph.active {

  opacity: 1;

  z-index: 1;

}

.section_kv .js_gallery .ph img {

  display: block;

  width: 100%;

  height: 100%;

  -o-object-fit: cover;

     object-fit: cover;

}



/*===============================================================



    section_top



===============================================================*/

.section_top, .section_top__statement {

  padding: 5rem;

}

@media screen and (max-width: 1070px) {

  .section_top, .section_top__statement {

    padding: 2.8vw;

  }

}

@media screen and (max-width: 800px) {

  .section_top, .section_top__statement {

    padding: 5vw;

    padding: 5vw 0;

  }

}

.section_top, .section_top__statement {

  /*===============================================================

  top_content

  ===============================================================*/

}

.section_top .top_content, .section_top__statement .top_content {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

      -ms-flex-direction: column;

          flex-direction: column;

  gap: 3rem;

}

@media screen and (max-width: 1070px) {

  .section_top .top_content, .section_top__statement .top_content {

    gap: 2.8vw;

  }

}

@media screen and (max-width: 800px) {

  .section_top .top_content, .section_top__statement .top_content {

    gap: 5vw;

  }

}

.section_top, .section_top__statement {

  /*===============================================================

  head_block

  ===============================================================*/

}

.section_top .head_block .title_block, .section_top__statement .head_block .title_block {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  gap: 2rem;

  color: var(--category-color);

}

.section_top .head_block .title_block p, .section_top__statement .head_block .title_block p {

  color: #fff;

  margin-left: auto;

  margin-right: 0;

  margin-top: 0;

}

.section_top .head_block .num, .section_top__statement .head_block .num {

  font-size: 2rem;

  line-height: 1;

  color: var(--category-color);

}

.section_top .head_block .title, .section_top__statement .head_block .title {

  font-size: 10rem;

  line-height: 1;

  color: var(--category-color);

}

.section_top .head_block p, .section_top__statement .head_block p {

  margin-top: 3rem;

  font-size: 2rem;

  line-height: 1.6;

  font-weight: bold;

}

@media screen and (max-width: 1070px) {

  .section_top .head_block .title_block, .section_top__statement .head_block .title_block {

    gap: 1.87vw;

  }

  .section_top .head_block .num, .section_top__statement .head_block .num {

    font-size: 1.87vw;

  }

  .section_top .head_block .title, .section_top__statement .head_block .title {

    font-size: 9.35vw;

  }

  .section_top .head_block p, .section_top__statement .head_block p {

    margin-top: 2.8vw;

    font-size: 1.87vw;

  }

}

@media screen and (max-width: 800px) {

  .section_top .head_block .title_block, .section_top__statement .head_block .title_block {

    gap: 3vw;

  }

  .section_top .head_block .num, .section_top__statement .head_block .num {

    font-size: 4vw;

  }

  .section_top .head_block .title, .section_top__statement .head_block .title {

    font-size: 12vw;

  }

  .section_top .head_block p, .section_top__statement .head_block p {

    margin-top: 3vw;

    font-size: 4vw;

  }

}

.section_top, .section_top__statement {

  /*===============================================================

  photo_block

  ===============================================================*/

}

.section_top .photo_block, .section_top__statement .photo_block {

  display: -ms-grid;

  display: grid;

  -ms-grid-columns: 2fr 2rem 2fr;

  grid-template-columns: 2fr 2fr;

  gap: 2rem;

}

@media screen and (max-width: 1070px) {

  .section_top .photo_block, .section_top__statement .photo_block {

    gap: 1.87vw;

  }

}

@media screen and (max-width: 800px) {

  .section_top .photo_block, .section_top__statement .photo_block {

    gap: 2vw;

  }

}

.section_top, .section_top__statement {

  /*===============================================================

  btn_block

  ===============================================================*/

}

.section_top .btn_block a, .section_top__statement .btn_block a {

  display: block;

  border: solid 3px var(--category-color);

  color: var(--category-color);

  padding: 5rem;

  font-size: 3rem;

  font-weight: bold;

  padding-right: 6rem;

  text-decoration: none;

  text-align: right;

  position: relative;

}

.section_top .btn_block a::after, .section_top__statement .btn_block a::after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  right: 3rem;

  margin: auto;

  border: solid 4px var(--category-color);

  width: 1.5rem;

  height: 1.5rem;

  border-top: none;

  border-left: none;

  -webkit-transform: rotate(-45deg) translate(-1px, -1px);

          transform: rotate(-45deg) translate(-1px, -1px);

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

.section_top .btn_block a:hover, .section_top__statement .btn_block a:hover {

  background-color: var(--category-color);

  color: #202020;

}

.section_top .btn_block a:hover::after, .section_top__statement .btn_block a:hover::after {

  border-right: solid 4px #202020;

  border-bottom: solid 4px #202020;

}

@media screen and (max-width: 1070px) {

  .section_top .btn_block a, .section_top__statement .btn_block a {

    padding: 4.67vw;

    font-size: 2.8vw;

    padding-right: 5.61vw;

  }

  .section_top .btn_block a::after, .section_top__statement .btn_block a::after {

    right: 2.8vw;

    width: 1.4vw;

    height: 1.4vw;

    border-top: none;

    border-left: none;

  }

}

@media screen and (max-width: 800px) {

  .section_top .btn_block a, .section_top__statement .btn_block a {

    padding: 5vw;

    font-size: 4.5vw;

    padding-right: 8vw;

  }

  .section_top .btn_block a::after, .section_top__statement .btn_block a::after {

    right: 3vw;

    border: solid 3px var(--category-color);

    width: 2vw;

    height: 2vw;

    border-top: none;

    border-left: none;

  }

}



/*===============================================================



    section_top__statement



===============================================================*/

.section_top__statement .head_block a {

  padding: 3rem;

  padding-right: 6rem;

  text-decoration: none;

  background-color: var(--category-color);

  position: relative;

  border: solid 4px var(--category-color);

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

}

.section_top__statement .head_block a .en {

  color: #000;

}

.section_top__statement .head_block a p {

  margin-top: 0;

  color: #fff;

}

.section_top__statement .head_block a::after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  right: 3rem;

  margin: auto;

  border: solid 4px #fff;

  width: 1.5rem;

  height: 1.5rem;

  border-top: none;

  border-left: none;

  -webkit-transform: rotate(-45deg) translate(-1px, -1px);

          transform: rotate(-45deg) translate(-1px, -1px);

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

.section_top__statement .head_block a:hover {

  background-color: #202020;

  color: var(--category-color);

}

.section_top__statement .head_block a:hover .en {

  color: var(--category-color);

}

.section_top__statement .head_block a:hover::after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  right: 3rem;

  margin: auto;

  border: solid 4px var(--category-color);

  width: 1.5rem;

  height: 1.5rem;

  border-top: none;

  border-left: none;

  -webkit-transform: rotate(-45deg) translate(-1px, -1px);

          transform: rotate(-45deg) translate(-1px, -1px);

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

@media screen and (max-width: 800px) {

  .section_top__statement .head_block a {

    padding: 5vw;

    font-size: 4vw;

    padding-right: 8vw;

  }

  .section_top__statement .head_block a::after {

    right: 3vw;

    border: solid 3px #fff;

    width: 2vw;

    height: 2vw;

    border-top: none;

    border-left: none;

  }

  .section_top__statement .head_block a p {

    margin-top: 2vw;

    font-size: 3.8vw;

  }

  .section_top__statement .head_block a:hover {

    background-color: #202020;

    color: var(--category-color);

  }

  .section_top__statement .head_block a:hover .en {

    color: var(--category-color);

  }

  .section_top__statement .head_block a:hover::after {

    right: 3vw;

    border: solid 3px var(--category-color);

    width: 2vw;

    height: 2vw;

    border-top: none;

    border-left: none;

  }

}



/*===============================================================



    section_works



===============================================================*/

.section_works__detail .section_inner {

  padding-top: 0;

}

.section_works {

  /*===============================================================

  content_works_list

  ===============================================================*/

}

.section_works .content_works_list {

  gap: 5rem 3rem;

}

.section_works .content_works_list .grid {

  color: #fff;

  text-decoration: none;

}

.section_works .content_works_list .grid:hover {

  opacity: 0.7;

}



.section_works .content_works_list .txt {

  margin-top: 2rem;

}

.section_works .content_works_list .txt .date {

/*  font-size: 1.6rem;*/

  font-size: 2.6rem;

}

.section_works .content_works_list .txt .name {

/*  font-size: 1.8rem; */

  font-size: 3.8rem;

  line-height: 1.6;

}

@media screen and (max-width: 800px) {

  .section_works .content_works_list {

    gap: 3vw;

  }

  .section_works .content_works_list .txt {

    margin-top: 2vw;

  }

  .section_works .content_works_list .txt .date {

    font-size: 2.8vw;

  }

  .section_works .content_works_list .txt .name {

    font-size: 3.5vw;

  }

}

.section_works {

  /*===============================================================

      dir_block

  ===============================================================*/

}

.section_works .dir_block {

  padding-bottom: 1em;

}

.section_works .dir_block li {

  display: inline-block;

  color: #E4C200;

  font-size: 3rem;

}

.section_works .dir_block li a {

  color: #E4C200;

  text-decoration: none;

}

.section_works .dir_block li a:hover {

  opacity: 0.7;

}

.section_works .dir_block li + li {

  margin-left: 0.3em;

  padding-left: 1em;

  position: relative;

}

.section_works .dir_block li + li::after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  left: 0;

  margin: auto;

  border: solid 3px #E4C200;

  width: 1rem;

  height: 1rem;

  border-top: none;

  border-left: none;

  -webkit-transform: rotate(-45deg) translate(-1px, -1px);

          transform: rotate(-45deg) translate(-1px, -1px);

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

}

@media screen and (max-width: 800px) {

  .section_works .dir_block {

    padding-bottom: 3vw;

  }

  .section_works .dir_block li {

    font-size: 5vw;

  }

  .section_works .dir_block li + li {

    margin-left: 0.3em;

    padding-left: 1.2em;

    position: relative;

  }

  .section_works .dir_block li + li::after {

    border: solid 2px #E4C200;

    width: 2vw;

    height: 2vw;

    border-top: none;

    border-left: none;

  }

}



/*===============================================================



    section_statement



===============================================================*/

.section_statement {

  position: relative;

}

.section_statement {

  /*===============================================================

  content_logo

  ===============================================================*/

}

.section_statement .content_logo .logo {

  max-width: 60rem;

  display: block;

  margin: 0 auto;

}

@media screen and (max-width: 800px) {

  .section_statement .content_logo .logo {

    max-width: 60rem;

  }

}

.section_statement {

  /*===============================================================

  content_message

  ===============================================================*/

}

.section_statement .content_message {

  margin-top: 10rem;

}

.section_statement .content_message .txt_block .en {

  font-size: 3rem;

  line-height: 1.5;

}

.section_statement .content_message .txt_block .jp {

  font-size: 2rem;

  line-height: 1.8;

  margin-top: 1.5rem;

}

.section_statement .content_message .txt_block + .txt_block {

  margin-top: 8rem;

}

@media screen and (max-width: 800px) {

  .section_statement .content_message {

    margin-top: 15vw;

  }

  .section_statement .content_message .txt_block .en {

    font-size: 7vw;

  }

  .section_statement .content_message .txt_block .jp {

    font-size: 4vw;

    margin-top: 4vw;

  }

  .section_statement .content_message .txt_block + .txt_block {

    margin-top: 12vw;

  }

}

.section_statement {

  /*===============================================================

      content_site_title

  ===============================================================*/

}

.section_statement .content_site_title {

  margin-top: 10rem;

}

.section_statement .content_site_title img {

  display: block;

  margin: 0 auto;

}

.section_statement .content_site_title .mark {

  max-width: 6.6rem;

}

.section_statement .content_site_title .typo {

  max-width: 36.6rem;

  margin-top: 0.5rem;

}

.section_statement .content_site_title .name {

  font-size: 1.2rem;

  font-weight: bold;

  text-align: center;

}

@media screen and (max-width: 800px) {

  .section_statement .content_site_title {

    margin-top: 15vw;

  }

  .section_statement .content_site_title .mark {

    max-width: 6.6rem;

  }

  .section_statement .content_site_title .typo {

    max-width: 36.6rem;

    margin-top: 2vw;

  }

  .section_statement .content_site_title .name {

    font-size: 3vw;

    margin-top: 2vw;

  }

}

.section_statement {

  /*===============================================================

      content_cta

  ===============================================================*/

}

.section_statement .content_cta {

  margin-top: 15rem;

}

@media screen and (max-width: 800px) {

  .section_statement .content_cta {

    margin-top: 15vw;

  }

  .section_statement .content_cta .c_btn__cta {

    display: block;

    max-width: 44%;

    width: 100%;

    margin: 0 auto;

  }

  .section_statement .content_cta .c_btn__cta a {

    border: solid 1px #fff;

    padding-left: 0;

    padding-right: 0;

    padding: 2vw 4.5vw;

  }

  .section_statement .content_cta .c_btn__cta a .label {

    font-size: 4vw;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;

    -webkit-box-pack: justify;

        -ms-flex-pack: justify;

            justify-content: space-between;

    padding: 3vw 0vw;

  }

  .section_statement .content_cta .c_btn__cta a .label::after {

    right: 0;

  }

}

.section_statement {

  /*===============================================================

      content_fig

  ===============================================================*/

}

.section_statement .content_fig {

  width: 100%;

  opacity: 0.1;

}

.section_statement .content_fig .fig01 {

  position: absolute;

  max-width: 60rem;

  left: 5%;

  top: 10%;

  z-index: -1;

  width: 37.5%;

}

.section_statement .content_fig .fig02 {

  position: absolute;

  max-width: 60rem;

  right: 5%;

  top: 20%;

  z-index: -1;

  width: 37.5%;

}

.section_statement .content_fig .fig03 {

  position: absolute;

  max-width: 113rem;

  top: 50%;

  left: 20%;

  z-index: -1;

  width: 70.6%;

}

@media screen and (max-width: 800px) {

  .section_statement .content_fig .fig01 {

    max-width: none;

    left: 0%;

    top: 10%;

    width: 100%;

  }

  .section_statement .content_fig .fig02 {

    max-width: none;

    right: 0%;

    top: 35%;

    width: 100%;

  }

  .section_statement .content_fig .fig03 {

    max-width: none;

    top: 68%;

    left: 0;

    width: 100%;

  }

}



/*===============================================================



    section_contact



===============================================================*/

.section_contact {

  /*===============================================================

  	content_complete

  ===============================================================*/

}

.section_contact .content_complete {

  padding: 4rem;

  text-align: center;

}

.section_contact .content_complete .title p {

  font-size: 2.5rem;

  font-weight: bold;

}

.section_contact .content_complete .lead {

  margin-top: 2rem;

}

.section_contact .content_complete .lead p {

  font-size: 1.8rem;

}

.section_contact .content_complete .c_btn_round {

  margin: 0 auto;

}

.section_contact .content_complete {

  /* SP向けレイアウトの指定：～736px */

}

@media screen and (max-width: 800px) {

  .section_contact .content_complete {

    border-radius: 4vw;

    padding: 4vw;

  }

  .section_contact .content_complete .title {

    padding-bottom: 3vw;

  }

  .section_contact .content_complete .title p {

    font-size: 5vw;

  }

  .section_contact .content_complete .lead {

    margin-top: 2vw;

  }

  .section_contact .content_complete .lead p {

    font-size: 3.7vw;

  }

  .section_contact .content_complete + .content {

    margin-top: 8vw;

  }

}



/*===============================================================



	_top.scss 2024/2/16



===============================================================*/

/*===============================================================



	page_top



===============================================================*/

.page_top {

  /* タブレット */

}

.page_top {

  /* for TABLET */

  /* SP */

}

.page_top {

  /* for SP */

  /*===============================================================

  	//	page_top

  ===============================================================*/

}



input[type=text],

input[type=email],

input[type=url],

input[type=password],

input[type=search],

input[type=number],

input[type=tel],

input[type=date],

input[type=month],

input[type=week],

input[type=time],

input[type=datetime],

input[type=datetime-local],

input[type=color],

.site textarea {

  border: 0;

  border-radius: 0;

  color: #000;

  line-height: 1.6;

  padding: 0;

  margin: 0;

  max-width: 100%;

}



/*===============================================================



	form_section



===============================================================*/

.form_section {

  margin: 0 auto;

}

.form_section .headline .title {

  font-size: 30px;

  line-height: 1.4;

  font-weight: bold;

}

.form_section {

  /* タブレット */

}

@media screen and (max-width: 1070px) {

  .form_section {

    width: 100%;

    margin: 0 auto;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;

  }

}

.form_section {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .form_section .headline .title {

    font-size: 6vw;

  }

}

.form_section {

  /* for SP */

  /*-------------------------------------------------------------

  	.txt 	

  -------------------------------------------------------------*/

}

.form_section .txt {

  margin-top: 30px;

}

.form_section .txt p {

  font-size: 14px;

  line-height: 1.6;

}

.form_section {

  /* タブレット以下 */

}

.form_section {

  /* for tablet max-width: 1030px */

  /* SP向けレイアウトの指定：～736px */

}

@media screen and (max-width: 800px) {

  .form_section .txt {

    margin-top: 4vw;

  }

  .form_section .txt p {

    font-size: 4vw;

  }

}

.form_section {

  /* for SP max-width: 736px */

  /*-------------------------------------------------------------

  	form_section ここまで

  -------------------------------------------------------------*/

}



/*===============================================================



	form_content



===============================================================*/

.form_content {

  text-align: left;

  /* タブレット */

}

.form_content {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .form_content {

    font-size: 4vw;

    margin-top: 4vw;

  }

}

.form_content {

  /* for SP */

  /*-------------------------------------------------------------

  	form_table	

  -------------------------------------------------------------*/

}

.form_content .form_table {

  margin: 0;

}

.form_content .form_table dt {

  font-weight: bold;

  padding: 25px 0 10px;

  margin-right: 2%;

  font-size: 20px;

  color: #fff;

}

.form_content .form_table dt span {

  padding-left: 3px;

}

.form_content .form_table dd {

  width: 100%;

}

.form_content .form_table dd + dt {

  margin-top: 40px;

}

.form_content .form_table .sample {

  font-size: small;

  font-weight: normal;

  padding-left: 10px;

}

.form_content .form_table .red {

  color: #FA3A3A;

  font-size: small;

  font-weight: normal;

  padding-left: 10px;

}

.form_content .form_table {

  /* タブレット以下 */

}

.form_content .form_table {

  /* for tablet max-width: 1030px */

  /* SP向けレイアウトの指定：～736px */

}

@media screen and (max-width: 800px) {

  .form_content .form_table dt {

    float: none;

    width: 100%;

    font-size: 4.5vw;

    line-height: 1.6;

    padding: 3vw 0 0 0;

  }

  .form_content .form_table dd {

    width: 100%;

    font-size: 4vw;

    line-height: 1.6;

    margin-top: 2vw;

  }

  .form_content .form_table dd + dt {

    margin-top: 8vw;

  }

  .form_content .form_table .sample {

    font-size: 2.5vw;

  }

  .form_content .form_table .red {

    font-size: 2.5vw;

  }

}

.form_content .form_table {

  /* for SP max-width: 736px */

}

.form_content {

  /*-------------------------------------------------------------

  	.phase_confirm form_table	

  -------------------------------------------------------------*/

}

.form_content .phase_confirm .form_table {

  margin: 0;

}

.form_content .phase_confirm .form_table dd {

  background: #eee;

  padding: 20px;

  border-radius: 5px;

  color: #202020;

}

.form_content .phase_confirm .form_table {

  /* タブレット以下 */

}

.form_content .phase_confirm .form_table {

  /* for tablet max-width: 1030px */

  /* SP向けレイアウトの指定：～736px */

}

@media screen and (max-width: 800px) {

  .form_content .phase_confirm .form_table dd {

    padding: 3vw;

  }

}

.form_content .phase_confirm .form_table {

  /* for SP max-width: 736px */

}

.form_content {

  /*-------------------------------------------------------------

  	form_content ここまで

  -------------------------------------------------------------*/

}



/*-------------------------------------------------------------

	テキスト入力

-------------------------------------------------------------*/

.txtinput {

  vertical-align: bottom;

  width: 100%;

  -webkit-appearance: none;

  outline: 0;

  font-size: 18px !important;

  line-height: 1.6 !important;

  margin: 0 !important;

  padding: 10px !important;

  border: solid 1px #666 !important;

  border-radius: 3px !important;

  -webkit-box-sizing: border-box;

          box-sizing: border-box;

  -webkit-transition: all 0.1s linear;

  transition: all 0.1s linear;

}

.txtinput.txtinput_postal {

  width: 150px;

}

.txtinput:focus, .txtinput:focus {

  border-color: #999;

}

.txtinput {

  /* タブレット以下 */

}

.txtinput {

  /* for tablet max-width: 1030px */

  /* SP向けレイアウトの指定：～736px */

}

@media screen and (max-width: 800px) {

  .txtinput {

    font-size: 4vw !important;

    padding: 3vw !important;

  }

}

.txtinput {

  /* for SP max-width: 736px */

}



/*-------------------------------------------------------------

	ラジオボタン

-------------------------------------------------------------*/

.radio {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;

}

.radio li {

  width: 50%;

}

.radio li input {

  border: 0;

  margin: 0;

  display: inline-block;

  width: 1.9rem;

  height: 1.9rem;

  border: 1px solid #000;

  vertical-align: middle;

}

.radio li input::after {

  position: absolute;

  top: 0.3rem;

  left: 0.3rem;

  width: 0.5rem;

  height: 0.5rem;

}

.radio li label {

  cursor: pointer;

}

.radio li {

  padding: 0;

}

.radio {

  /*	li label:before {

  	content: "";

  	position: absolute;

  	top: 0;

  	bottom: 0;

  	left: 0;

  	margin: auto;

  	width: 16px;

  	height: 16px;

  	background: #fff;

  	border: 1px solid #333;

  	border-radius: 50%;

  	box-sizing: border-box;

  }

  li label:after {

  	content: "";

  	position: absolute;

  	top: 0;

  	bottom: 0;

  	left: 4px;

  	margin: auto;

  	width: 8px;

  	height: 8px;

  	background: $c_red;

  	border-radius: 50%;

  	transition: all 0.1s linear;

  	transform: scale(0);

  }

  li input:checked + label:after {

  	transform: scale(1);

  }*/

  /* タブレット以下 */

}

@media screen and (max-width: 1070px) {

  .radio {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

        -ms-flex-direction: column;

            flex-direction: column;

  }

  .radio li {

    width: 100%;

  }

  .radio li + li {

    margin-top: 0.5rem;

  }

}

.radio {

  /* for tablet max-width: 1030px */

  /* SP向けレイアウトの指定：～736px */

}

@media screen and (max-width: 800px) {

  .radio li label {

    font-size: 1.6rem;

    line-height: 1.5;

  }

  .radio li + li {

    margin-top: 1.2rem;

  }

}

.radio {

  /* for SP max-width: 736px */

}



/*-------------------------------------------------------------

	チェックボックス

-------------------------------------------------------------*/

.checkbox {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;

}

.checkbox li {

  width: 50%;

  padding: 0;

}

.checkbox input {

  border: 0;

  margin: 0;

  display: inline-block;

  width: 1.9rem;

  height: 1.9rem;

  border: 1px solid #000;

  vertical-align: middle;

}

.checkbox input::after {

  position: absolute;

  top: 0.3rem;

  left: 0.3rem;

  width: 0.5rem;

  height: 0.5rem;

}

.checkbox label {

  cursor: pointer;

}

.checkbox {

  /*  

    display: flex;

    flex-wrap:wrap;

    align-items: center;

  	li {

  		width: 33.3333%;

  		padding: 0;

  	}

  	li:nth-child(4),

  	li:nth-child(5),

  	li:nth-child(6) {

  		margin-top: 10px;

  	}

  	&.agreebox {

  		font-size: 14px; 

  		line-height: 20px;

  		text-align: center;

  		padding-top: 20px;

  	}

  	li input,

  	&.agreebox input {

  		width: auto;

  		display: none;

  		border: 0;

  		margin: 0;

  	}

  */

  /*　チェックボックスの装飾　*/

  /*

  	li label,

  	&.agreebox label {

  		display: inline-block;

  		vertical-align: middle; 

  		position: relative;

  		cursor: pointer;

  	}

  	li label:before,

  	&.agreebox label:before {

  		content: "";

  		position: absolute;

  		top: 0;

  		bottom: 0;

  		left: 0;

  		margin: auto;

  		width: 16px;

  		height: 16px;

  		background: #fff;

  		border-radius: 10%;

  		border: 1px solid #333;

  		box-sizing: border-box;

  	}

  	li label:after,

  	&.agreebox label:after {

  		content: "";

  		position: absolute;

  		top: -4px;

  		left: 5px;

  		margin: auto;

  		width: 6px;

  		height: 14px;

  		border-right: 2px solid transparent;

  		border-bottom: 2px solid transparent;

  		transform: rotate(40deg);

  		transition: border-bottom-color, border-right-color .2s linear;

  	}

  	li input:checked + label:after,

  	&.agreebox input:checked + label:after {

  		border-color: #333;

  	}

  */

  /* タブレット以下 */

}

.checkbox {

  /* for tablet max-width: 1030px */

  /* SP向けレイアウトの指定：～736px */

}

@media screen and (max-width: 800px) {

  .checkbox li {

    width: 100%;

  }

  .checkbox li + li {

    margin-top: 3vw;

  }

  .checkbox li label,

  .checkbox .agreebox label {

    font-size: 4vw;

  }

  .checkbox .agreebox {

    font-size: 4vw;

    text-align: left;

    padding-top: 3vw;

  }

}

.checkbox {

  /* for SP max-width: 736px */

}



/*-------------------------------------------------------------

	.セレクト 

-------------------------------------------------------------*/

.select {

  width: 200px;

  font-size: 18px;

  cursor: pointer;

}

.select option {

  color: #333;

  background: #fff;

}

.select optgroup.area {

  color: #333;

  background: #eee;

}

.select {

  /* タブレット以下 */

}

.select {

  /* for tablet max-width: 1030px */

  /* SP向けレイアウトの指定：～736px */

}

@media screen and (max-width: 800px) {

  .select {

    font-size: 4.5vw;

    padding: 10px;

  }

}

.select {

  /* for SP max-width: 736px */

}



/*-------------------------------------------------------------

	.セレクタの装飾 

-------------------------------------------------------------*/

.select {

  appearance: none;

  -webkit-appearance: none;

  -moz-appearance: none;

  border: 1px solid #8F8F8F;

  border-radius: 3px;

  padding: 10px 25px 10px 10px;

  font-size: 1.2rem;

  cursor: pointer;

}



.select:disabled {

  pointer-events: none;

  background-color: #f1f1f1;

  color: #8F8F8F;

}



.select {

  position: relative;

  display: inline-block;

}



.select_wrp {

  position: relative;

  display: inline-block;

}



.select_wrp::after {

  content: "";

  position: absolute;

  border: 4px solid #333;

  border-bottom: 0;

  border-left-color: transparent;

  border-right-color: transparent;

  top: calc(50% - 3px);

  right: 10px;

  width: 0;

  height: 0;

}



.select_wrp--disabled::after {

  border-top-color: #8F8F8F;

}



/*

.select_wrap {

		position: relative;

		overflow: hidden;

		display: inline-block;

		min-width: 30em;

		color: #333;

		background-color: #fff;

//		background-image: linear-gradient(top, #fff 0%, #eee 100%);

		border: 1px solid $form_border_color;

		border-radius: 3px;

		box-sizing: border-box;

		transition: all 0.1s linear;

	&:hover {

		border: 1px solid #999;

	}

	&.select_wrap2 {

		min-width: 20em;

	}

	&.select_wrap3 {

		min-width: 10em;

		margin-right: 5px;

	}

	&:after {

		content: '';

		position: absolute;

		bottom: 10px;

		right: 10px;

		width: 5px;

		height: 5px;

		border-top: 4px solid rgba(0,0,0,0.5);

		border-right: 4px solid transparent;

		border-bottom: 4px solid transparent;

		border-left: 4px solid transparent;

		box-sizing: border-box;

	}

	&:before {

		content: '';

		position: absolute;

		top: 10px;

		right: 10px;

		width: 5px;

		height: 5px;

		border-top: 4px solid transparent;

		border-right: 4px solid transparent;

		border-bottom: 4px solid rgba(0,0,0,0.5);

		border-left: 4px solid transparent;

		box-sizing: border-box;

	}

*/

/* SP向けレイアウトの指定：～736px */

@media screen and (max-width: 800px) {

  /*	 セレクタの装飾 */

  /*

  	min-width: auto;

  	width: 100%;

  	padding: 0;

  	margin: 0;



  	& + .select_wrap {

  		margin-top: 10px;

  	}	



  	&:after {

  		content: '';

  		position: absolute;

  		bottom: 8px;

  		right: 10px;

  		width: 5px;

  		height: 5px;

  		border-top: 4px solid rgba(0,0,0,0.5);

  		border-right: 4px solid transparent;

  		border-bottom: 4px solid transparent;

  		border-left: 4px solid transparent;

  		box-sizing: border-box;

  	}

  	&:before {

  		content: '';

  		position: absolute;

  		top: 8px;

  		right: 10px;

  		width: 5px;

  		height: 5px;

  		border-top: 4px solid transparent;

  		border-right: 4px solid transparent;

  		border-bottom: 4px solid rgba(0,0,0,0.5);

  		border-left: 4px solid transparent;

  		box-sizing: border-box;

  	}

  }	/* for SP max-width: 736px */

}

/*-------------------------------------------------------------

	添付ファイル 

-------------------------------------------------------------*/

.fileinput {

  width: auto;

  display: none;

  border: 0;

  margin: 0;

}

.fileinput .file_btn {

  display: inline-block;

  min-width: 20em;

  color: #333;

  padding: 10px;

  font-size: 14px;

  line-height: 1.6;

  background-color: #fff;

  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));

  background-image: linear-gradient(top, #fff 0%, #eee 100%);

  border: 1px solid #ddd;

  border-radius: 3px;

  -webkit-box-sizing: border-box;

          box-sizing: border-box;

  -webkit-transition: all 0.1s linear;

  transition: all 0.1s linear;

  cursor: pointer;

}

.fileinput .file_btn:hover {

  border: 1px solid #999;

}

.fileinput .filename {

  display: inline-block;

  font-size: 14px;

  line-height: 1.6;

  margin-left: 5px;

}

.fileinput {

  /* タブレット以下 */

}

.fileinput {

  /* for tablet max-width: 1030px */

  /* SP向けレイアウトの指定：～736px */

}

@media screen and (max-width: 800px) {

  .fileinput .file_btn {

    min-width: auto;

    width: 100%;

    font-size: 4.5vw;

  }

  .fileinput .filename {

    display: block;

    font-size: 3.5vw;

    margin-left: 0;

    margin-top: 2vw;

  }

}

.fileinput {

  /* for SP max-width: 736px */

}



/*-------------------------------------------------------------

	個人情報保護方針

-------------------------------------------------------------*/

.agreebox {

  display: block;

  text-align: center;

  margin: 0 auto;

  margin-top: 1rem;

}



/*　チェックボックスの装飾　*/

.checkbox label,

.agreebox label {

  display: inline-block;

  vertical-align: middle;

  position: relative;

  cursor: pointer;

}



.checkbox label:before,

.agreebox label:before {

  /*  content: "";

   position: absolute;

   top: 0;

   bottom: 0;

   left: 0;

   margin: auto;

   width: 16px;

   height: 16px;

   background: #fff;

   border-radius: 10%;

   border: 1px solid #333;

   box-sizing: border-box;*/

}



.checkbox label:after,

.agreebox label:after {

  /* content: "";

   position: absolute;

   top: -4px;

   left: 5px;

   margin: auto;

   width: 6px;

   height: 14px;

   border-right: 2px solid transparent;

   border-bottom: 2px solid transparent;

   transform: rotate(40deg);

   transition: border-bottom-color, border-right-color 0.2s linear;*/

}



.checkbox input:checked + label:after,

.agreebox input:checked + label:after {

  /*  border-color: #333;*/

}



/* タブレット以下 */

/* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */

@media only screen and (max-width: 736px) {

  .checkbox li {

    width: 100%;

  }

  .checkbox li + li {

    margin-top: 1rem;

  }

  .agreebox {

    padding: 0 0.5rem;

  }

  .agreebox {

    text-align: left;

  }

}

/* for SP max-width: 736px */

/*-------------------------------------------------------------

	サブミット

-------------------------------------------------------------*/

.submit {

  padding: 60px 0 60px 0;

  margin: 0;

}

.submit input {

  width: 400px;

  margin: 0 auto;

  padding: 20px 0;

  display: block;

  color: #fff !important;

  font-size: 22px;

  line-height: 1;

  font-weight: bold;

  text-decoration: none;

  border: 0;

  border-radius: 50px;

  background-color: #202020 !important;

  -webkit-transition: all 0.1s linear;

  transition: all 0.1s linear;

  cursor: pointer;

  -webkit-appearance: none;

  border: solid 1px #fff !important;

}

.submit input:hover {

  background-color: #fff !important;

  border: solid 1px #fff !important;

  color: #202020 !important;

}

.submit .cap {

  color: #666;

  font-size: 12px;

  line-height: 1.6;

  text-align: center;

  margin-top: 40px;

}

.submit {

  /* タブレット以下 */

}

.submit {

  /* for tablet max-width: 1030px */

  /* SP向けレイアウトの指定：～736px */

}

@media screen and (max-width: 800px) {

  .submit {

    padding: 6vw 0;

  }

  .submit input {

    width: 100%;

    font-size: 4.5vw;

    padding: 5vw 0;

  }

  .submit .cap {

    font-size: 3vw;

    margin-top: 4vw;

  }

}

.submit {

  /* for SP max-width: 736px */

}



/*-------------------------------------------------------------

	サブミット2

-------------------------------------------------------------*/

.submit_two {

  width: auto;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: reverse;

      -ms-flex-direction: row-reverse;

          flex-direction: row-reverse;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;

  margin: 0 auto;

}

.submit_two .btn {

  padding: 0 15px;

}

.submit_two .btn.back input {

  color: #000 !important;

  background-color: #fff !important;

  border: solid 1px #000 !important;

}

.submit_two .btn.back input:hover {

  color: #fff !important;

  background-color: #000 !important;

}

.submit_two {

  /* タブレット以下 */

}

.submit_two {

  /* for tablet max-width: 1030px */

  /* SP向けレイアウトの指定：～736px */

}

@media screen and (max-width: 800px) {

  .submit_two {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

        -ms-flex-direction: column;

            flex-direction: column;

  }

  .submit_two .btn {

    width: 100%;

    padding: 3vw 0;

  }

}

.submit_two {

  /* for SP max-width: 736px */

}



/*-------------------------------------------------------------	

	jquery mailform バリデート

-------------------------------------------------------------*/

.validate {

  margin-bottom: 10px;

}

.validate p {

  color: #FA3A3A;

  font-size: 12px;

  line-height: 1.2;

  padding: 10px 20px;

  background: #fee;

  display: inline-block;

  border-radius: 50px;

}

.validate.validate_submit {

  text-align: center;

  margin: 0 auto;

  padding-bottom: 20px;

}

.validate.validate_submit p {

  text-align: center;

  margin: 0 auto;

}

.validate {

  /* タブレット以下 */

}

.validate {

  /* for tablet max-width: 1030px */

  /* SP向けレイアウトの指定：～736px */

}

@media screen and (max-width: 800px) {

  .validate {

    margin-bottom: 3vw;

  }

  .validate p {

    font-size: 3vw;

    padding: 2vw 4vw;

  }

  .validate.validate_submit {

    margin: 0 auto;

  }

}

.validate {

  /* for SP max-width: 736px */

}



/*===============================================================



	郵便番号からの住所検索用プリローダー



===============================================================*/

.zipcodelayout {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

}

.zipcodelayout .txtinput {

  width: 40%;

}

.zipcodelayout .zipsearchbtn {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  background: #eee;

  padding: 10px 20px;

  border-radius: 25px;

}

.zipcodelayout .zipsearchbtn:hover {

  background: #f7f7f7;

}

.zipcodelayout .ziploader {

  width: 20px;

}

.zipcodelayout {

  /* タブレット */

}

.zipcodelayout {

  /* for TABLET */

  /* SP */

}

.zipcodelayout {

  /* for SP */

}



/*-------------------------------------------------------------

	search_box	

-------------------------------------------------------------*/

.search_box {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: justify;

      -ms-flex-pack: justify;

          justify-content: space-between;

  width: 300px;

}

.search_box input {

  width: 230px;

}

.search_box .search_btn {

  width: 60px;

}

.search_box .search_btn a {

  display: block;

  color: #fff;

  font-size: 15px;

  line-height: 2.8;

  text-align: center;

  letter-spacing: 0.2em;

  background: #a00;

  border-radius: 3px;

  margin-top: 1px;

}

.search_box .search_btn a:hover {

  text-decoration: none;

  background: #c00;

}

.search_box {

  /* タブレット以下 */

}

.search_box {

  /* for tablet max-width: 1030px */

  /* SP向けレイアウトの指定：～736px */

}

@media screen and (max-width: 800px) {

  .search_box {

    width: 100%;

  }

  .search_box input {

    width: calc(100% - 22vw);

  }

  .search_box .search_btn {

    width: 20vw;

  }

  .search_box .search_btn a {

    font-size: 4.6vw;

    line-height: 2.8;

  }

}

.search_box {

  /* for SP max-width: 736px */

}



/* |||||||||| */

/* |||||||||| */

/*===============================================================



	login_wrp



===============================================================*/

.login_wrp .box {

  border: solid 1px #ccc;

  padding: 30px;

  margin-top: 40px;

}

.login_wrp .form_content {

  border: none;

  margin: 0;

}

.login_wrp .form_content dl {

  border: none;

}

.login_wrp .form_content dd {

  padding-bottom: 0;

}

.login_wrp .form_content .title {

  font-size: 22px;

  line-height: 1.6;

  text-align: center;

  font-weight: bold;

}

.login_wrp .form_content .read {

  font-size: 16px;

  line-height: 1.6;

  text-align: center;

  margin-top: 20px;

}

.login_wrp .form_content .submit {

  padding-bottom: 0;

}

.login_wrp .linklist {

  margin-top: 30px;

}

.login_wrp .linklist li {

  font-size: 16px;

  line-height: 1.6;

}

.login_wrp {

  /* タブレット以下 */

}

.login_wrp {

  /* for tablet max-width: 1070px */

  /* SP向けレイアウトの指定：～800px */

}

@media screen and (max-width: 800px) {

  .login_wrp .box {

    padding: 5vw;

    margin-top: 6vw;

  }

  .login_wrp .form_content dt {

    padding-top: 3vw;

  }

  .login_wrp .form_content .title {

    font-size: 4.5vw;

  }

  .login_wrp .form_content .read {

    font-size: 4vw;

    margin-top: 2vw;

  }

  .login_wrp .form_content .submit {

    padding-bottom: 0;

  }

  .login_wrp .linklist {

    margin-top: 6vw;

  }

  .login_wrp .linklist li {

    font-size: 4vw;

  }

}

.login_wrp {

  /* for SP max-width: 800px */

}



/*===============================================================



	page_404.scss



===============================================================*/

/*===============================================================



	notfound_error



===============================================================*/

.notfound_error {

  text-align: center;

}

.notfound_error .head {

  color: #FF6B00;

  font-size: 3rem;

  line-height: 1.2;

  font-weight: bold;

}

.notfound_error .lead {

  font-size: 1.8rem;

  line-height: 1.8;

  font-weight: bold;

  margin-top: 3rem;

}

.notfound_error .box {

  width: -webkit-fit-content;

  width: -moz-fit-content;

  width: fit-content;

  padding: 4rem;

  margin: 0 auto;

  margin-top: 3rem;

  text-align: left;

  background: #202020;

  -webkit-box-sizing: border-box;

  box-sizing: border-box;

  border: none;

  border: 1px solid #fff;

}

.notfound_error .box li {

  font-size: 14px;

  line-height: 1.6;

  text-align: left;

  text-indent: -1em;

  padding-left: 1em;

}

.notfound_error .box li + li {

  margin-top: 10px;

}

.notfound_error p {

  font-size: 1.6rem;

  line-height: 1.8;

  margin-top: 3rem;

}

.notfound_error .c_btn_round {

  margin: 0 auto;

}

.notfound_error .c_btn_line a {

  border: solid 2px #fff;

}

.notfound_error .c_btn_line a:hover {

  background-color: #fff;

  color: #202020;

  border: solid 2px #fff;

}

.notfound_error {

  /* タブレット */

}

.notfound_error {

  /* for TABLET */

  /* SP */

}

@media screen and (max-width: 800px) {

  .notfound_error .head {

    font-size: 6vw;

  }

  .notfound_error .lead {

    font-size: 4vw;

    margin-top: 4vw;

  }

  .notfound_error .box {

    padding: 4vw;

    margin-top: 4vw;

  }

  .notfound_error .box li {

    font-size: 3.5vw;

  }

  .notfound_error .box li + li {

    margin-top: 1vw;

  }

  .notfound_error p {

    font-size: 4vw;

    margin-top: 4vw;

  }

}

.notfound_error {

  /* for SP */

}



/*===============================================================

	2016/08/24

	デモ用の記載

===============================================================*/

.demo {

  background: #222;

  padding: 50px 0;

  color: #fff;

}



.demo .inner {

  width: 1070px;

  margin: 0 auto;

  text-align: left;

}



.demo h3 {

  font-size: 40px;

  line-height: 40px;

  background: #222;

}



.demo h4 {

  color: #fff;

  font-size: 25px;

  line-height: 26px;

  margin-top: 40px;

  padding-top: 40px;

  border-top: solid 1px rgba(255, 255, 255, 0.3);

  cursor: pointer;

}



.demo h4 + * {

  margin-top: 10px;

}



.demo p {

  font-size: 14px;

  line-height: 25px;

  margin-top: 20px;

}



.demo .demo_discription {

  font-size: 18px;

  font-weight: bold;

}



.demo span {

  font-weight: bold;

  margin-right: 20px;

}



.demo .demo_btn {

  margin-right: 10px;

  margin-top: 20px;

  float: left;

}



.demo .demo_btn a {

  display: block;

  width: 100px;

  text-align: center;

  border: solid 1px #ccc;

  background: #ccc;

  font-size: 14px;

  line-height: 25px;

  color: #222;

  text-decoration: none;

}



.demo .demo_btn a:hover {

  border: solid 1px #fff;

  color: #fff;

  background: none;

  text-decoration: none;

}



.demo .history p {

  border-top: dotted 1px rgba(255, 255, 255, 0.2);

  padding-top: 20px;

}



.demo .demo_txthide {

  display: none;

}



/* タブレット以下 */

@media screen and (max-width: 1070px) {

  .demo .inner {

    width: 100%;

    padding: 0 20px;

    box-sizing: border-box;

    -webkit-box-sizing: border-box;

  }

}

/* for tablet max-width: 1070px */

/*===============================================================



	demo_wrp



===============================================================*/

.demo_wrp {

  background: #fff;

  color: #000;

  padding: 50px 0;

}



/* タブレット以下 */

/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */

/* for SP max-width: 800px */

/*===============================================================



	_demo.scss 2021/10/1



===============================================================*/

.demo_title_block {

  padding: 50px 0;

  text-align: center;

  background: #111;

  color: #fff;

}



.demo_title_block .title {

  font-size: 40px;

  font-weight: bold;

}



.box {

  border: solid 1px #000;

  padding: 20px;

  margin-top: 10px;

  text-align: center;

}



.code {

  border: solid 1px #ddd;

  background: #f5f5f5;

  padding: 20px;

  margin-top: 10px;

  font-size: 12px;

}



@media screen and (max-width: 800px) {

  .demo_title_block {

    padding: 3vw;

  }

  .demo_title_block .title {

    font-size: 4vw;

  }

  .code {

    padding: 3vw;

    margin-top: 2vw;

    font-size: 3vw;

  }

}

/*===============================================================



	tenplate_menu



===============================================================*/

.tenplate_menu {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;

}

.tenplate_menu li {

  padding: 10px;

}

.tenplate_menu a {

  color: #fff;

  text-decoration: none;

  font-weight: bold;

}

@media screen and (max-width: 800px) {

  .tenplate_menu {

    padding: 3vw 0;

  }

  .tenplate_menu li {

    padding: 0vw 3vw;

  }

  .tenplate_menu a {

    font-size: 3vw;

    line-height: 1.5;

  }

}



/*===============================================================



	section_demo



===============================================================*/

.content_sample {

  border: solid 1px #666;

  padding: 50px;

}

@media screen and (max-width: 800px) {

  .content_sample {

    padding: 3vw;

  }

}



/*===============================================================



	content_demo



===============================================================*/

.content_demo .lv_2 {

  background: #222;

  color: #fff;

  padding: 20px 30px;

}

/*===============================================================



	content_block_outline



===============================================================*/

.content_block_outline {

  border: solid 1px #111;

  padding: 30px 5px 5px 5px;

  position: relative;

  text-align: center;

}

.content_block_outline .element_pageheader {

  background: #111;

  color: #fff;

  border: solid 1px #111;

  padding: 50px 100px;

  position: relative;

}

.content_block_outline .margin {

  position: absolute;

  padding: 5px 10px;

  font-size: 10px;

  line-height: 1;

  width: 100%;

  color: #666;

  top: -20px;

  left: 0;

  background-image: linear-gradient(-45deg, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0.05) 25%, rgba(0, 0, 0, 0.05) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0.05) 75%, rgba(0, 0, 0, 0.05));

  background-size: 4px 4px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

}

.content_block_outline .element_section {

  border: solid 1px #111;

  padding: 60px 100px 80px 100px;

  position: relative;

}

.content_block_outline .element_section::after,

.content_block_outline .element_section::before {

  content: "section_innerには上下パディングが入る";

  position: absolute;

  left: 0;

  right: 0;

  margin: auto;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

      -ms-flex-direction: row;

          flex-direction: row;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center;

  -webkit-box-align: center;

      -ms-flex-align: center;

          align-items: center;

  width: 100%;

  height: 60px;

  background: rgba(0, 255, 94, 0.2);

  font-size: 12px;

  z-index: 1;

}

.content_block_outline .element_section::after {

  top: 0;

}

.content_block_outline .element_section::before {

  bottom: 0;

  height: 80px;

}

.content_block_outline .element_section + .element_section {

  margin-top: 5px;

}

.content_block_outline .element_headline {

  background: #111;

  color: #fff;

  padding: 20px;

  border: solid 1px #111;

  position: relative;

}

.content_block_outline .element_headline .margin {

  bottom: -21px;

  top: auto;

}

.content_block_outline .element_headline .margin + .margin {

  bottom: auto;

  top: -50px;

  height: 50px;

}

.content_block_outline .element_content {

  margin-top: 20px;

  padding: 30px;

  border: solid 1px #111;

  position: relative;

  background: #fff;

}

.content_block_outline .element_content + .element_content {

  margin-top: 20px;

}

.content_block_outline .element_content .element_content + .element_content {

  margin-top: 10px;

}

.content_block_outline .element_content + .element_headline {

  margin-top: 50px;

}

.content_block_outline .element_content_title {

  background: #eee;

  padding: 20px;

  font-weight: bold;

}

.content_block_outline .element_section2 {

  background: #eee;

}

.content_block_outline .element_section2 .element_headline {

  background: #fff;

  color: #111;

}

.content_block_outline .element_content2 {

  background: #111;

  color: #fff;

}

.content_block_outline .element_content2 .element_content,

.content_block_outline .element_content2 .element_content_title {

  background: #111;

  border: solid 1px #fff;

}

.content_block_outline .element_content2 .element_content3 {

  background: #900;

  border: solid 1px #900;

}

.content_block_outline .block_title,

.content_block_outline .block {

  position: relative;

  border: solid 1px #999;

  padding: 15px;

}

.content_block_outline h3 {

  font-size: 20px;

}

.content_block_outline .label {

  z-index: 5;

  position: absolute;

  top: -1px;

  left: -1px;

  display: inline-block;

  padding: 5px 15px;

  background: #c00;

  color: #fff;

  font-size: 13px;

  line-height: 1;

  font-weight: bold;

}

/*===============================================================



	page_element



===============================================================*/

.page_element .headline {

  border-top: solid 5px #000;

  padding-top: 2em;

}

.page_element .block_title {

  background-color: #eee;

  padding: 20px;

  text-align: center;

}

.page_element .bg_dark {

  background-color: #333;

  padding: 2%;

}

.page_element {

  /* タブレット */

}

.page_element {

  /* for TABLET */

  /* SP */

}

.page_element {

  /* for SP */

  /*===============================================================

  	//	page_element

  ===============================================================*/

}



/*===============================================================

	mixinテスト

===============================================================*/

.under_line {

  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, rgba(255, 0, 0, 0.3)));

  background: linear-gradient(transparent 70%, rgba(255, 0, 0, 0.3) 0%);

  display: inline;

}



.under_marker {

  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0%, #ff0));

  background: linear-gradient(transparent 0%, #ff0 0%);

  display: inline;

}



.btn_link {

  width: 300px;

}

.btn_link a {

  display: block;

  text-align: center;

  background: #fff;

  color: #000;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  padding: 20px;

  text-decoration: none;

}

@media screen and (max-width: 800px) {

  .btn_link a {

    padding: 3vw;

  }

}

.btn_link a:hover {

  background: #000;

  color: #fff;

  text-decoration: none;

}

.btn_link {

  margin-left: auto;

  margin-right: auto;

}

.btn_link a {

  position: relative;

}

.btn_link a::after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  margin: auto;

  border: solid 1px #000;

  width: 6px;

  height: 6px;

  border-top: none;

  border-left: none;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  right: 10px;

  -webkit-transform: rotate(-45deg) translate(-1px, -1px);

          transform: rotate(-45deg) translate(-1px, -1px);

}

.btn_link a:hover::after {

  border: solid 1px #fff;

  border-top: none;

  border-left: none;

}

.btn_link {

  border: solid 1px #000;

}

@media screen and (max-width: 800px) {

  .btn_link {

    width: 80%;

  }

}



.btn_sankaku {

  width: 300px;

}

.btn_sankaku a {

  display: block;

  text-align: center;

  background: #000;

  color: #fff;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  padding: 20px;

  text-decoration: none;

}

@media screen and (max-width: 800px) {

  .btn_sankaku a {

    padding: 3vw;

  }

}

.btn_sankaku a:hover {

  background: #fff;

  color: #000;

  text-decoration: none;

}

.btn_sankaku {

  margin-left: auto;

  margin-right: auto;

}

.btn_sankaku a {

  position: relative;

}

.btn_sankaku a::after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  margin: auto;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  width: 0;

  height: 0;

  border-style: solid;

  left: 10px;

  border-width: 5px 8px 5px 0;

  border-color: transparent #fff transparent transparent;

}

.btn_sankaku a:hover::after {

  border-width: 5px 8px 5px 0;

  border-color: transparent #000 transparent transparent;

}

.btn_sankaku {

  border: solid 1px #000;

}

@media screen and (max-width: 800px) {

  .btn_sankaku {

    width: 80%;

  }

}



.bg_slash {

  background-image: linear-gradient(-45deg, #fff 25%, #eee 25%, #eee 50%, #fff 50%, #fff 75%, #eee 75%, #eee);

  background-size: 5px 5px;

  padding: 30px;

}



.bg_grade {

  background: #FF6EC9;

  background: -webkit-gradient(linear, left top, right top, from(#FF6EC9), to(#5DCAFC));

  background: linear-gradient(to right, #FF6EC9 0%, #5DCAFC 100%);

  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF6EC9', endColorstr=' #5DCAFC', GradientType=1);

  padding: 30px;

}

/*# sourceMappingURL=style.css.map */









/* PC向けレイアウトの指定 */

@media only screen and (min-width:761px){



	.c-cookie__box {

	  box-sizing: border-box;

	  display: flex;

	  z-index: 1000;

	  position: fixed;

	  bottom: 0;

	  left: 0;

	  justify-content: center;

	  width: 100%;

	  padding: 20px 40px;

	  background: rgba(0, 0, 0, 0.8);

	}

	.c-cookie__box .c-container {

	  display: flex;

	  align-items: center;

	}

	.c-cookie__text {

	  width: 75%;

	  margin: 0 60px 0 0;

	  color: #fff;

	  font-size: 13px;

	  line-height: 1.75;

	}

	.c-cookie__btn {

	  display: flex;

	}

	.c-cookie__btn--consent a,

	.c-cookie__btn--detail a {

	  display: block;

	  padding: 10px;

	  background-color: #ababab;

	  color: #fff;

	  font-size: 13px;

	  transition: 0.4s ease;

	}

	.c-cookie__btn--consent a:hover,

	.c-cookie__btn--detail a:hover {

	  opacity: 0.7;

	}

	.c-cookie__btn--consent {

	  margin: 0 25px 0 0;

	}

	.c-cookie__btn--consent a {

	  box-sizing: border-box;

	  display: flex;

	  align-items: center;

	  justify-content: center;

	  width: 145px;

	  height: 48px;

	  background-color: #fff;

	  color: #323030;

	  text-decoration: none;

	}

	.c-cookie__btn--detail a {

	  box-sizing: border-box;

	  display: flex;

	  align-items: center;

	  justify-content: center;

	  width: 145px;

	  height: 48px;

	  border: 1px solid #fff;

	  background-color: transparent;

	  color: #fff;

	  text-decoration: none;

	}

}

/* SP向けレイアウトの指定 */

@media only screen and (max-width:760px){



	.c-cookie__box {

	  box-sizing: border-box;

	  display: flex;

	  z-index: 1000;

	  position: fixed;

	  bottom: 0;

	  left: 0;

	  justify-content: center;

	  width: 100%;

	  padding: 10px 10px;

	  background: rgba(0, 0, 0, 0.8);

	}

	.c-cookie__box .c-container {

	  display: flex;

	  align-items: center;

	}

	.c-cookie__text {

	  width: 70%;

	  color: #fff;

	  margin: 0 10px 0 0;

	  line-height: 100%;

	}

	.c-cookie__btn {

	  display: flex;

	}

	.c-cookie__btn--consent a,

	.c-cookie__btn--detail a {

	  display: block;

	  padding: 10px;

	  background-color: #ababab;

	  color: #fff;

	  transition: 0.4s ease;

	}

	.c-cookie__btn--consent a:hover,

	.c-cookie__btn--detail a:hover {

	  opacity: 0.7;

	}

	.c-cookie__btn--consent {

	  margin: 0 15px 0 0;

	}

	.c-cookie__btn--consent a {

	  box-sizing: border-box;

	  display: flex;

	  align-items: center;

	  justify-content: center;

	  width: 80px;

	  height: 48px;

	  background-color: #fff;

	  color: #323030;

	  text-decoration: none;

	  font-size: 12px !important;

	}

	.c-cookie__btn--detail a {

	  box-sizing: border-box;

	  display: flex;

	  align-items: center;

	  justify-content: center;

	  width: 100px;

	  height: 48px;

	  border: 1px solid #fff;

	  background-color: transparent;

	  color: #fff;

	  text-decoration: none;

	  font-size: 12px !important;

	}

	.ngg-gallery-thumbnail-box{

		margin-left: 10%;

		margin-bottom: 2%;

	}



	/* SPの長押し禁止 */

	img{

		-webkit-touch-callout:none;

		-webkit-user-select:none;

		-moz-touch-callout:none;

		-moz-user-select:none;

		user-select:none;

	}

}





.screen-reader-response{

	display: none;

}



/* 未入力エラーや入力内容の不備によるメッセージ */

.wpcf7-not-valid-tip {

	color: #ff0000; /* 文字色（例：赤） */

}



.wpcf7 form .wpcf7-response-output {

    font-size: 20px; /* お好みのサイズに変更 */

}



/* サーバーエラーやスパム判定時のメッセージ枠・文字色 */

div.wpcf7-response-output {

    color: #ff0000; /* 文字色 */

    border-color: #ff0000; /* 枠線の色 */

}





/* 会社概要ページのCSS */



html .blog_entry .features {

  background-color: #3e4543;

  font-size: 2.0rem;

  padding: 2em;

  margin-top: 1.5em;

}

@media only screen and (max-width: 800px) {

  html .blog_entry .features {

    padding: 1em;

    margin-top: 4.5vw;

    font-size: 3.5vw;

    line-height: 1.6;

  }

}


