﻿/* =Reset
-------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700;900&family=Lora:wght@500;600&display=swap');

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	margin: 0;
	outline: 0;
	padding: 0;
	box-sizing:border-box;
}
html {
	overflow-y: scroll; /* Keeps page centred in all browsers regardless of content height */
	-webkit-text-size-adjust: 100%; /* Prevents iOS text size adjust after orientation change, without disabling user zoom */
	-ms-text-size-adjust: 100%; /* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ */
}


article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
	display: block;
	box-sizing:border-box;
}

ol, ul {
	list-style: none;
	box-sizing:border-box;
}
table { /* tables still need 'cellspacing="0"' in the markup */
	border-collapse: inherit;
	border-spacing: 0;
	margin: 0 0 1.5em;
	width: 100%;
	box-sizing:border-box;
}
th {
   font-weight: bold;
}
th, td {
vertical-align:top;
box-sizing:border-box;
}
caption, th, td {
	text-align: left;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}

a{
color:#000;
box-sizing:border-box;
}


a:focus {
	outline:0;
}
a:hover,
a:active { /* Improves readability when focused and also mouse hovered in all browsers people.opera.com/patrickl/experiments/keyboard/test */
	outline: 0;
}
a img {
	border: 0;
}

a.links{
 color:#0047bb;
 text-decoration:underline;
}

.text_red{
color:#fe0000;
}

.comm_mb15{
margin-bottom:15px;
}

.comm_mb20{
margin-bottom:20px !important;
}

p{
font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-weight: 400;
    font-size:1.0rem;
}

a:focus, *:focus { outline:none; }

/* =GLOBAL
----------------------------------------------- */
body,
button,
input,
select,
textarea {
	color: #1a1a1a;
	line-height:150%;
	word-wrap: break-word;
}
body {
 overflow:hidden;
}
/* Headings */
h4, h5, h6 {
	padding-bottom: 18px;
	color: #222222;
	font-weight: normal;
}
h1{
}
h4 { font-size: 16px; line-height: 24px; }
h5 { font-size: 22px; line-height: 28px; }
h6 { font-size: 19px; line-height: 25px; }
hr {
	border-color: #EAEAEA;
	border-style: solid none none;
	border-width: 1px 0 0;
	height: 0;
	margin: 10px 0;
}

h4{
font-size:110%;
padding-bottom:5px;
border-bottom:1px dotted #ccc;
font-weight:bold;
margin-bottom:12px;
}

header h1{
margin:0;
padding:0;
}

/* =TEXT ELEMENTS
----------------------------------------------- */
p {
	margin-bottom: 15px;
}
strong {
	font-weight: bold;
}
cite, em, i {
	font-style: italic;
}
pre {
	background-color: #fff;
	margin-bottom: 20px;
	overflow: auto;
	padding: 20px;
	border: 1px solid #EAEAEA;
}
pre, code, kbd, var, samp, tt {
	font-family:"Courier 10 Pitch",Courier,monospace;
	font-size: 14px;
	line-height: 19px;
	white-space: pre-wrap;
}
abbr, acronym, dfn {
	border-bottom: 1px dotted #666666;
	cursor: help;
}
address {
	display: block;
	font-style: italic;
	margin: 0 0 15px;
}
ins {
	background: #F8F8F8;
}
table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* =SUPERCRIPT AND SUBSCRIPT
----------------------------------------------- */
sup, sub {
	font-size: 10px;
	height: 0;
	line-height: 1;
	position: relative;
	vertical-align: baseline;
}
sup {
	bottom: 1ex;
}
sub {
	top: .5ex;
}

dl {
	margin-bottom: 24px;
	font-size: 16px;
}
dt {
	font-weight: bold;
	margin-bottom: 5px;
}
dd {
	margin-bottom: 24px;
}

ul,
ol {
	list-style: none;
}
ol {
	list-style: decimal;
}
li > ul,
li > ol {
	margin: 0 0 0 10px;
}

/* =BLOCKQUOTE
----------------------------------------------- */
blockquote {
	font-style: italic;
	font-weight: normal;
	padding: 20px;
	border: 1px solid #EAEAEA;
	border-left: 3px solid #837173;
	margin-bottom: 20px;
}
blockquote em, blockquote i, blockquote cite {
	font-style: normal;
}
blockquote cite {
	color: #666666;
	font: 12px "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 300;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* =FORMS
----------------------------------------------- */
input, textarea {
 	-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
width:90%;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="password"],
select,
textarea {
	-moz-appearance: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
 	-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
padding:1em .5em;
-moz-box-shadow: inset 1px 4px 9px -6px rgba(0,0,0,0.1);
-webkit-box-shadow: inset 1px 4px 9px -6px rgba(0, 0, 0, 0.1);
box-shadow: inset 1px 4px 9px -6px rgba(0,0,0,0.1);
border:solid 1px #a7a7a7;
margin:auto;
width:100%;
display:block;
line-height:1.4;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
border:solid 1px #d00249;
background-color: #f2f2f2;
}

input[type="text"], input[type="email"], input[type="password"], input[type="tel"]{
    background-color: #fafafa;
}

select{
 font-size:1.0rem;
 }

#head_bt_menu{
display:none;
}

#input_s {
	width: 60%;
	padding:12px;
	color: #222;
	background-color: #FFFFFF;
	margin: 0;
border:solid 1px #ccc;
}
#input_s:focus {
	padding-left: 10px;
border:solid 1px #ccc;
	text-indent: 0;
}
.spacious-button,
input[type="reset"],
input[type="button"],
input[type="submit"],
button {
   color: #FFFFFF;
	display:block;
   margin:1em auto 0 auto;
   padding:25px;
   -moz-appearance: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	cursor: pointer;
	background-color: #ea850f;
	border: 0px;
 	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	width:50%;
	box-sizing:broder-box;
	font-size:1.4rem;
	font-weight:400;
	letter-spacing:1px;
}

input[type="reset"]:hover, input[type="button"]:hover, input[type="submit"]:hover {
    -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.0);
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.0);
    background:#ea1f0f;
}

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

	.spacious-button,
	input[type="reset"],
	input[type="button"],
	input[type="submit"] {
	width:100%;
	font-size:1.1rem;
	}



}


.previous a,
.next a {
   color: #333;
   padding: 5px 25px;
	cursor: pointer;
   border: 1px solid #ddd;
   font-size: 16px;
}
.previous a:hover,
.next a:hover {
	color: #ffb300;
}
input[type="reset"]:active,
input[type="button"]:active,
input[type="submit"]:active {
	-webkit-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
	-moz-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
	box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
    border: 2px solid #fe0000 !important;
    color:#fe0000 !important;
    background:#fff;
    text-align:center;
    padding:.5em;
    font-size:1.1rem;
}

/* =LINKS
----------------------------------------------- */
a {
	text-decoration: none;
}
a:focus, a:active, a:hover {
text-decoration:none;
color: #111;
}


/* =IMAGES
----------------------------------------------- */
figure {
	margin: 0;
	text-align: center;
}
img {
	max-width:100%;
	height:auto;
	vertical-align:bottom;
	margin-bottom:0;
}
.entry-content img, .comment-content img, .widget img {
	max-width: 100%; /* Fluid images for posts, comments, and widgets */
}
img[class*="align"],
img[class*="wp-image-"],
img[class*="attachment-"] {

}
img.size-full, img.size-large {
	max-width: 100%;
	height: auto;
}
.entry-content img.wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}
img.alignleft, img.alignright, img.aligncenter {
	margin-bottom: 1.625em;
}
p img {

}
img#wpstats {
 	display: none;
}

/* =CLEARFIX
----------------------------------------------- */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.clearfix {
	display: inline-block;
}
* html .clearfix {
	height:1%;
}
.clearfix {
	display: block;
}
.tg-after-three-blocks-clearfix {
	clear: both;
}

/* =ALIGNMENT
----------------------------------------------- */
.alignleft {
	display: inline;
	float: left;
	margin-right: 30px;
}
.alignright {
	display: inline;
	float: right;
	margin-left: 30px;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*****************************************************************/
/*****************************************************************/

/* =BODY
----------------------------------------------- */
.wide-978, .wide-1218 {
	padding-top: 0;
	padding-bottom: 0;
}
.wide-1218 #page {
	max-width: 100%;
}
.narrow-978 #page {
	max-width: 1038px;
}
.wide-978 #page {
	max-width: 100%;
}
.wide-978 #page {
	padding-top: 0;
	padding-bottom: 0;
}

.header-inner-wrap {
	max-width: 1000px;
margin:0 auto 0 auto;
padding:0;
}

.inner-wrap {
margin:0 auto 0 auto;
max-width:100%;
}


/* =HEADER
----------------------------------------------- */
#masthead {

}
#header-meta {
}

#header-text-nav-container {
padding:0;
}
#header-text-nav-wrap {
margin-bottom:0px;
}

#header-logo-image {
	padding:0;
	max-width: 100%;
}
#header-logo-image img {
	margin-bottom: 0px;
}
#header-text {
	float: left;
	padding: 10px 20px 0 0;
}
#site-title a {
	color: #444444;
	font-size: 36px;
}
h1#site-title {
	padding-bottom: 5px;
}
h3#site-title {
  font-size: 30px;
  line-height: 36px;
  margin-bottom: 0;
  padding-bottom: 5px;
}
#site-title a:hover {
	color: #837173;
}
#site-description {
	line-height: 24px;
	font-size: 16px;
	padding-bottom: 0;
	color: #666666;
}
#header-right-section {
	float: right;
}
#header-right-sidebar {
	overflow: hidden;
}
#header-right-section .widget {
	text-align: right;
	padding-top: 10px;
}
#header-right-section .widget h3 {
	padding-bottom: 5px;
}

.header-image {
	margin-bottom: 0;
	border-bottom: 1px solid #EAEAEA;
	width: 100%;
}

/* =SEARCH WIDGET
----------------------------------------------- */
#masthead .search-wrap input.s {
	width: 130px;
}
.search-wrap button {
	border-radius: 0;
	line-height: 45px;
	margin-bottom: 0;
	margin-left: -6px;
	padding: 0;
width:60px;
}
.search-icon:before {
	display: inline-block;
	-webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
	font: normal 18px/1 'Genericons';
	content: '\f400';
	vertical-align: middle;
	padding: 0 7px;
}


/************ User **************/

body{
    font-size: 1rem;
    font-weight:400;
    margin: 0;
    padding: 0;
    line-height:1.8;
    background:#fff;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 游ゴシック, "Yu Gothic", "Meiryo UI", Meiryo, メイリオ, "ＭＳ Ｐゴシック", sans-serif;
    color:#1a1a1a;
  position: relative;
}

.cursor,
.follower {
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0; 
  pointer-events: none;
}

.cursor {
  width: 8px;
  height: 8px;
  background-color: #000;
  z-index: 1001;
}

.follower {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background:rgba(#fdfe00, .5);
  z-indes: 1000;
  transition: transform ease .1s;
  text-align: center;
}

  .follower span {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    transform: scale(0);
  }

  .is-active {
    transform: scale(3);
  }


.btn {
    display: inline-block;
    width: 160px;
    margin: 16px;
    text-align: center;
    font-size: 16px;
    line-height: 1;

    a {
      display: block;
      color: #fff;
      text-decoration: none;
      padding: 16px;
      background-color: #000;
      cursor: none;
    }

}

a:focus, *:focus { outline:none; }

a {
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: inline-block;
}

  body {
  padding: 0;
  margin: 0;
}



/************* TOP VIDEO **************/

#main{
 padding-top:0;
 padding-bottom:0;
}

header{
 margin-left:0;
 padding-right:0em;
 background:url(../../images/fv_image.jpg)no-repeat center top;
 background-size: cover;
}

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
}

.clone-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  transition: .3s;
  transform: translateY(-100%);
  background:rgba(255,255,255,0.95);
 backdrop-filter: blur(3px);
}
.is-show {
  transform: translateY(0);
}

header.page-header{
 background:transparent;
}

#header_movie_wrap{
    width:100%;
    margin:0 auto;
    position:relative;
}

#header_page_wrap{
    width:100%;
    margin:0 auto;
    position:relative;
    max-width:1000px;
    height:86px;
}

#header_top_wrap .center a{
      -webkit-transition: all .3s;
    transition: all .3s;
}

#header_top_wrap{
 background:#fff;
 color:#fff;
 width:100%;
 padding:1em 1em;
 text-align:center;
 position:fixed;
 z-index:5;
}

.Left_logo{
 position:relative;
 width:240px;
 z-index:2;
 padding-top:0;
 padding-left:0;
}

.Right-contact{
 margin-left:auto;
 font-family: 'Lora', serif;
 font-weight:600;
 font-size:24px;
 color:#1E50A2;
 padding-top:0;
}

.Right-contact span{
 font-size:15px;
}

@media screen and (max-width: 767px) {
	.Right-contact{
	 font-size:18px;
	}

	.Right-contact span{
	 font-size:14px;
	}
}

.Right-contact a{
 color:#1E50A2;
}

.Left_logo a{
 display:block;
}

#header_top_wrap .center{
 margin:0;
 width:340px;
}

#header_top_wrap .center a{
 display:block;
}

#header-nav--wrap{
padding-top:.75em;
padding-bottom:.75em;
background:#fafafa;
}

#header-nav--wrap > .nav--Inner--wrap{
max-width: 1280px;
margin:auto;
}

.video-container{
 position:relative;
 z-index:0;
    width:100%;
 min-height:750px;
 max-width:1280px;
 margin:auto;
 display: flex;
 flex-direction: column;
 flex-wrap: wrap;
 justify-content:center;
 align-items: center;
}

.video-container .Left{
 position:relative;
 width:100%;
 max-width:1000px;
 margin:auto;
 z-index:5;
 padding:1em;
 }

.video-container .Logo{
 position:absolute;
 width:190px;
 top:0;
 left:0;
 }

.video-container .sec__inner{
 margin:auto;
}

header h1{
 font-family: 'Noto Serif JP', "ヒラギノ明朝 ProN W6", HiraMinProN-W6, HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
 color:#00287a;
 text-align:center;
 font-size:3.0rem;
 font-weight:600;
 line-height:1.2;
    margin: 1em auto 1em auto;
text-shadow: 
white 2px 0px 4px, white -2px 0px 4px,
    white 0px -2px 4px, white -2px 0px 4px,
    white 2px 2px 4px, white -2px 2px 4px,
    white 2px -2px 4px, white -2px -2px 4px,
    white 1px 2px 4px, white -1px 2px 4px,
    white 1px -2px 4px, white -1px -2px 4px,
    white 2px 1px 4px, white -2px 1px 4px,
    white 2px -1px 4px, white -2px -1px 4px,
    white 1px 1px 4px, white -1px 1px 4px,
    white 1px -1px 4px, white -1px -1px 4px;
}

header h1 font{
 display:inline-block;
 margin:0 25px 0 0;
}

header .caption{
 color:#000;
 font-weight:900;
 font-size:24px;
font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
 line-height:1.45;
 text-align:center;
 background:rgba(255,255,255,0.85);
 padding:.75em;
}

header .bottomcaption{
 color:#000;
 font-weight:900;
 font-size:28px;
font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
 line-height:1.6;
 margin-top:2em;
 margin-bottom:2em;
}

#header_movie_wrap ul.top-news{
 background:#fff;
 position:absolute;
 width: 50%;
 bottom:0;
 left:0;
 }

#header_movie_wrap ul.top-news li{
 padding:1em;
 color:#2a2a2a;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
justify-content:flex-start;
 margin:0;
 font-weight:300;
font-family: 'Noto Serif JP', "ヒラギノ明朝 ProN W6", HiraMinProN-W6, HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
 }

#header_movie_wrap ul.top-news li .days{
  font-size:0.9rem;
 }

#header_movie_wrap ul.top-news li .title{
  width:85%;
  margin-left:2%;
  font-size:0.9rem;
 }

#header_movie_wrap ul.top-news li .title a{
 color:#2a2a2a;
 }

#header_movie_wrap ul.top-news li .title a:hover{
 text-decoration:underline;
 }

#header_movie_wrap ul.top-news li:after{
  content:'';
  background:url(../../images/arrow.svg)no-repeat;
  background-size:contain;
  width:10px;
  height:10px;
  position:absolute;
  right:10px;
  top: 50%;
  transform: translateY(-50%);
  -webkit- transform: translateY(-50%);
     -webkit-transition: all .3s;
    transition: all .3s;
 }


.page_fv{
 max-width:1400px;
}

.page_fv h1, .page_fv p{
 color:#fff;
text-shadow: 1px 1px 3px #000000;
}

.page_fv h1{
  font-weight:900;
 font-size:40px;
font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
 line-height:1.6;
 margin-top:0;
 margin-bottom:1em;
}

.page_fv .Left {
    position: absolute;
    width: 50%;
    z-index: 5;
    left:2em;
    margin-top:-7em;
}

.page_fv .Left p{
 font-size:1.3rem;
 margin-bottom:0;
}

.page_fv .Left .caption{
 font-size:40px;
 background:none;
 margin-bottom:0;
 color:#fff;
 text-shadow: 1px 1px 3px #000000;
}

.page_fv .Left .caption span {
 background:none;
}

.page_fv .Right{
 width:40%;
 max-width:420px;
 margin-left:auto;
}

.page_fv .Left_logo{
 left:6em;
}

.second_fv{
 margin-top:70px;
}

.header_inner {
    margin: 0 auto;
    width:90%;
    padding: 0 15px;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.pc_header {
    margin: auto;
    position:fixed;
    width:100%;
    left: 0;
    top: 0;
    right: 0;
    z-index: 999;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    background:rgba(0,0,0,0.95);
}

.header_inner .li_global_navi{
     display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:center;
}

.header_inner .li_global_navi li{
 margin:0;
}

.header_inner .li_global_navi a{
 display:block;
 padding:1em;
 color:#fff;
 text-align:center;
}

.header_inner .li_global_navi a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.header_inner .li_global_navi a:hover{
 color:#fe0009;
 }

.header_inner .li_global_navi a::after {
  position: absolute;
  bottom: 0px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}
.header_inner .li_global_navi a:hover::after {
  transform: scale(1, 1);
}


/************* Navigation **************/

#concept, #service, #case, #contact, #news, #company{
 padding-top:60px !important;
 margin-top:-60px !important;
}

.nav ul{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content:center;
    width:100%;
}

.nav ul{
 font-size:1.0rem;
font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
 font-weight:400;
 text-align:center;
 padding-top:0;
 padding-bottom:0;
}

.nav ul li a{
 display:block;
 padding:.5em .8em;
 color:#1a1a1a;
 position:relative;
}

.nav ul li a:hover::after{
content:'';
position:absolute;
width:100%;
height:2px;
background:#1E50A2;
left:0;
top:0;
}

.nav ul li a:hover{
 color:#1E50A2;
}

.nav ul li a span{
 color:#ccc;
 font-size:10px;
 display:block;
 text-align:center;
 
}

/************* TOP VIDEO **************/

p.Caption{
 margin-bottom:0;
 position:absolute;
 font-size:30px;
 color:#fff;
 z-index:15;
top: 50%;
  left: 10%;
  transform: translateY(-50%) translateX(-10%);
  -webkit- transform: translateY(-50%) translateX(-10%);
 text-shadow:0 1px 5px #000;
 font-weight:500;
font-family: 'Noto Serif JP', "ヒラギノ明朝 ProN W6", HiraMinProN-W6, HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
 }

p.Black{
 color:#000;
 text-shadow:none;
}


article{
 padding:0;
 width:100%;
}

section{
  padding:4em 2.5em 4em 2.5em;
  position:relative;
}

.sec{
 margin:0 auto 1.5em auto
}

.entry-content section{
  padding:3em 0 3em 0;
  position:relative;
}

section.wh{
 background:#fff;
 padding-left:2.5em;
 padding-right:2.5em;
}

section.sample{
 background:#f3f3f4;
 padding-left:2.5em;
 padding-right:2.5em;
}

article.small_page{
	margin:auto;
        padding:4em 2em 0 2em;
 }


section .small_page{
 margin:0;
 background:#fff;
 padding:4em;
 }

section .Second_Top{
  margin-top:32vh;
 }

section{
 position:relative;
}

.small_page{
 margin:auto;
 }

.single_bottom_arrow{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
justify-content:space-between;
    align-items:center;
    margin-top:2.5em;
 }


p.min{
  color:#fff;
  text-align:center;
  font-family: 'Noto Serif JP', "ヒラギノ明朝 ProN W6", HiraMinProN-W6, HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-weight:300;
  font-size:1.0rem;
  line-height:2.4;
 margin:0 auto 4em auto;
}

/************* Service **************/

.Service_wrapper{
 border:1px solid #1E50A2;
 padding:2.5em;
 background:#fff;
 margin:0 auto 3em auto;
}

.Service_title{
 background:#1E50A2;
 padding:.5em 1em;
 text-align:center;
 color:#fff;
 font-weight:600;
 margin-bottom:-7em;
 margin-left:1em;
 display:inline-block;
 font-size:1.2rem;
}

.Service_wrapper p:last-child{
 margin:2em auto 0 auto;
 max-width:750px;
}

.Service_wrapper:last-child{
 margin-bottom:0;
}

@media screen and (max-width: 767px) {
	.Service_wrapper{
	 padding:1em;
	}

	.Service_title{
	 margin-left:0;
	 font-size:1.05rem;
	 margin-bottom:0;
	}

	.Service_wrapper p:last-child {
	    margin:1em auto 0 auto;
	}


}

/************* Service **************/

/************* Concept **************/
.Concpet__Inner{
 background:url(../../images/concept_back.jpg)no-repeat center center;
 background-size:cover;
     display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  justify-content:center;
  align-items:center;
 padding:3em 2.5em;
 text-align:center;
 min-height:50vh;
}

.Concpet__Inner .Box{
 background:rgba(255,255,255,0.75);
 padding:3em;
 max-width:700px;
 }

@media screen and (max-width: 767px) {
.Concpet__Inner{
         background:url(../../images/concept_back.jpg)no-repeat center center;
	 padding:1em;
	}
	
.Concpet__Inner .Box{
  padding:1em;
 width:100%;
 }

}

.Concpet__Inner .Box p:last-child{
 margin-bottom:0;
}


/************** Form *************************/

table.form{
 width:100%;
 font-size:1.0rem;
 max-width:1000px;
 margin:auto;
}

table.form .spacious-button, input[type="reset"], input[type="button"], input[type="submit"], button{
 font-size:1.1rem;
 width:100%;
 padding:1.5em .55em;
 background:#b41d23;
 max-width:800px;
 margin:1em auto;
}

p.privacy{
 font-size:15px;
}

table.form input[type="text"], input[type="email"], input[type="password"], input[type="tel"]{
  font-size:1.0rem;
  margin-bottom:8px;
  box-sizing:border-box;
}

table.form textarea{
  font-size:1.0rem;
  box-sizing:border-box;
  background-color: #fafafa;
}

table.form th, table.form td{
 padding:.75em;
 vertical-align:middle;
  box-sizing:border-box;
}

table.form th{
 width:30%;
 background:#fafaf9;
 text-align:center;
 border-bottom:1px solid #fff;
 }

p.privacy{
 text-align:center;
 margin:2em auto 2em auto;
}

@media screen and (max-width: 767px) {
 table.form th, table.form td{
  display:block;
  width:100%;
  padding-left:0;
  padding-right:0;
 }

}

/************** Form *************************/

/************** Drawer *******************/

	.drawer-menu_wrap{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0px 100px 100px 0;
	border-color: transparent #082768 transparent transparent;
	position: fixed;
	color:#fff;
	 z-index: 1000000000;
	right:0;
	}

	.fix-header-contents .drawer-menu_wrap{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0px 100px 100px 0;
	border-color: transparent #082768 transparent transparent;
	position: fixed;
	color:#fff;
	 z-index: 10000000000;
	right:0;
	}

	.drawer-menu_logo{
	float:left;
	max-width:120px;
	margin-top:15px;
	margin-left:8px;
	}

	.drawer-menu {
	    box-sizing: border-box;
	    position: fixed;
	    top: 0;
	    right: 0;
	    width: 300px;
	    height: 100%;
	    padding:3em 0 3em 0;
	    background: #fff;
	    -webkit-transition-property: all;
	    transition-property: all;
	    -webkit-transition-duration: .5s;
	    transition-duration: .5s;
	    -webkit-transition-delay: 0s;
	    transition-delay: 0s;
	    -webkit-transform-origin: right center;
	    -ms-transform-origin: right center;
	    transform-origin: right center;
	    -webkit-transform: perspective(500px) rotateY(-90deg);
	    transform: perspective(500px) rotateY(-90deg);
	    opacity: 0;
	    overflow-y:auto;
	}

	.drawer-menu li {
	    text-align: center;
	    display:block;
	    width:100%;
	}


	.drawer-menu li {
	            transform: translateX(-150%);
	            animation-name: fadeIn_dr;
	            animation-duration: 1s;
	            animation-fill-mode: forwards;
	        }

	            .drawer-menu li:nth-child(1){ animation-delay: 1.2s; }
	            .drawer-menu li:nth-child(2){ animation-delay: 1.3s; }
	            .drawer-menu li:nth-child(3){ animation-delay: 1.4s; }
	            .drawer-menu li:nth-child(4){ animation-delay: 1.5s; }
	            .drawer-menu li:nth-child(5){ animation-delay: 1.6s; }
	            .drawer-menu li:nth-child(6){ animation-delay: 1.7s; }
	            .drawer-menu li:nth-child(7){ animation-delay: 1.8s; }
	            .drawer-menu li:nth-child(8){ animation-delay: 1.9s; }
	            .drawer-menu li:nth-child(9){ animation-delay: 2s; }
	            .drawer-menu li:nth-child(10){ animation-delay: 2.1s; }

	@keyframes fadeIn_dr {
	    0% {
	        opacity: 0;
	        transform: translateX(-100%);
	    }
	    100% {
	        opacity: 1;
	        transform: translateX(0%);
	    }
	}


	.drawer-menu li a {
	    display: block;
	    font-size:1.0rem;
	    color: #000;
	    -webkit-transition: all .8s;
	    transition: all .8s;
	    padding:1.5em 1em 1.5em 1em;
	     font-family: 'Lora', serif;

	}



	/* checkbox */
	.check {
	    display: none;
	}

	/* menu button - label tag */
	.menu-btn {
	    position: absolute;
	    display: block;
	    top: 8px;
	    right:-80px;
	    display: block;
	    width: 35px;
	    height: 40px;
	    font-size: 10px;
	    text-align: center;
	    cursor: pointer;
	 z-index: 1000000001;
	}

	.bar {
	    position: absolute;
	    top: 0;
	    left: 0;
	    display: block;
	    width: 35px;
	    height: 1px;
	    background: #fff;
	    -webkit-transition: all .5s;
	    transition: all .5s;
	    -webkit-transform-origin: left top;
	    -ms-transform-origin: left top;
	    transform-origin: left top;
	}

	.bar.middle {
	    top: 10px;
	    width:25px;
	    opacity: 1;
	}

	.bar.bottom {
	    top: 20px;
	    -webkit-transform-origin: left bottom;
	    -ms-transform-origin: left bottom;
	    transform-origin: left bottom;
	    width:15px;
	}



	.menu-btn__text {
	    position: absolute;
	    bottom: -8px;
	    left: 0;
	    right:-20px;
	    margin: auto;
	    color: #fff;
	    -webkit-transition: all .5s;
	    transition: all .5s;
	    display: block;
	    visibility: visible;
	    opacity: 1;
	    font-size:16px;
	    font-family: 'Alex Brush' !important;

	}

	.menu-btn:hover .bar {
	    background: #fff;
	}

	.menu-btn:hover .menu-btn__text {
	    color: #fff;
	}


	.close-menu {
	    position: fixed;
	    top: 0;
	    right: 300px;
	    width: 100%;
	    height: 100vh;
	    background: rgba(0,0,0,0);
	    cursor: url(images/cross.svg),auto;
	    -webkit-transition-property: all;
	    transition-property: all;
	    -webkit-transition-duration: .3s;
	    transition-duration: .3s;
	    -webkit-transition-delay: 0s;
	    transition-delay: 0s;
	    visibility: hidden;
	    opacity: 0;
	}

	/* checked */
	.check:checked ~ .drawer-menu {
	    -webkit-transition-delay: .3s;
	    transition-delay: .3s;
	    -webkit-transform: none;
	    -ms-transform: none;
	    transform: none;
	    opacity: 1;
	    z-index: 99999999;
	}

	.check:checked ~ .contents {
	    -webkit-transition-delay: 0s;
	    transition-delay: 0s;
	    -webkit-transform: translateX(-300px);
	    -ms-transform: translateX(-300px);
	    transform: translateX(-300px);
	}

	.check:checked ~ .menu-btn .menu-btn__text {
	    visibility: hidden;
	    opacity: 0;
	}

	.check:checked ~ .menu-btn .bar.top {
	    width: 56px;
	    -webkit-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	    transform: rotate(45deg);
	background:#ddd;
	}

	.check:checked ~ .menu-btn .bar.middle {
	    opacity: 0;
	}

	.check:checked ~ .menu-btn .bar.bottom {
	    width: 56px;
	    top: 40px;
	    -webkit-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	    transform: rotate(-45deg);
	    background:#ddd;

	}

	.check:checked ~ .close-menu {
	    -webkit-transition-duration: 1s;
	    transition-duration: 1s;
	    -webkit-transition-delay: .3s;
	    transition-delay: .3s;
	    background: rgba(0,0,0,.5);
	    visibility: visible;
	    opacity: 1;
	    z-index: 40;
	}

.dr_menu{
    position: fixed;
    right: 20px;
    top: 10px;
    background:#1E50A2;
    z-index: 99;
    width: 60px;
    height: 60px;
    padding: 5px;
}

.dr_menu font{
  font-size:10px;
  margin:5px 0 0 0;
  color:#fff;
  position:absolute;
  bottom:-22px;
 display:block;
 font-family: 'Quicksand', sans-serif;
 }

.menu{
    height: 20px;
    width: 30px;
top: 42%;
  left: 50%;
  transform: translateY(-42%) translateX(-50%);
  -webkit- transform: translateY(-42%) translateX(-50%);
    position:absolute;
}

.menu__line{
    background: #fff;
    display: block;
    height: 2px;
    position: absolute;
    transition:transform .3s;
    width: 100%;
}
.menu__line--center{
    top: 9px;
}
.menu__line--bottom{
    bottom: 0;
}
.menu__line--top.active{
    top: 8px;
    transform: rotate(45deg);
}
.menu__line--center.active{
    transform:scaleX(0);
}
.menu__line--bottom.active{
    bottom: 10px;
    transform: rotate(135deg);
}

/*gnav*/
.gnav{
    background: rgba(255,255,255,0.98);
    display: none;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 98;
}
.gnav__wrap{
    align-items:center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    width: 100%;
}
.gnav__menu__item{
    margin: 20px 0;
    position:relative;
}

.gnav__menu__item:after{
  content:'';
  position:absolute;
  bottom:-1px;
  left:0;
  background:#fff;
  height:1px;
  width:20%;
 }

.gnav__menu__item a{
    color: #fff;
    font-size:1.4em;
    font-weight:400;
    padding: 20px;
    text-decoration: none;
    transition: .5s;
font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.gnav__menu__item a:hover{
    color: #e1ff2c;
}

ul.gnav__menu{
 width:100%;
 padding:1em;
}

.gnav__menu li{
 color:#1E50A2;
 margin-bottom:10px;
}

.gnav__menu li a{
 color:#1E50A2;
 font-size:1.1rem;
 display:block;
 padding:.5em 1em;
 border:1px solid #1E50A2;
}

/********** drawer **************/

h1{
font-family: 'Sora', sans-serif;

}

p.Center{
 text-align:center;
}

.Center{
 text-align:center;
}


.Txt_center{
 text-align:center;
}

p{
 line-height:1.7;
}

.White{
 color:#fff !important;
 }



section.loading{
 padding:0;
 }

.loading {
  position: fixed;
  z-index:99999999999999999999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #fafaf9;
}
.loading__img {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:space-between;
    align-items: center;
    width:100%;
    height:100%;
}

.loading__img img{
 max-width:120px;
 display:block;
 margin:auto;
 animation:3s linear infinite rotation;
}

@keyframes rotation {
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}


#container {
  margin:0 auto 0 auto;
  width: 100%;
  height: 2px;
}


.img-animation {
  animation: img-opacity 2s cubic-bezier(.4, 0, .2, 1);
  overflow: hidden;
  position: relative;
}

.img-animation:before {
  animation: img-animation 2s cubic-bezier(.4, 0, .2, 1) forwards;
  background: #fff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

@keyframes img-opacity {
  0% {
    opacity: 0;
  }
}

@keyframes img-animation {
  100% {
    transform: translateX(100%);
  }
}


.img-animation {
  animation: img-animation 2s cubic-bezier(.4, 0, .2, 1);
}

.img-animation:before {
  animation: img-animation-before 2s cubic-bezier(.4, 0, .2, 1) forwards;
  background: #fff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

@keyframes img-animation {
  0% {
    opacity: 0;
  }
}

@keyframes img-animation-before {
  100% {
    transform: translateY(100%);
  }
}

.Logo_Image_wrap{
  width:96px;
  position:absolute;
  z-index:5;
  top: 50%;
  left: 50%;
  text-align:center;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
 }


.img-logo {
  overflow: hidden;
  position: relative;
  max-width:70px;
  margin-left:auto;
  margin-right:auto;
}

.img-logo:before,
.img-logo:after {
  animation: 2.5s cubic-bezier(.4, 0, .2, 1) forwards;
  background: #fff;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  z-index: 1;
}

.img-logo:before {
  animation-name: img-wrap-before;
  top: 0;
  bottom: 50%;
}

.img-logo:after {
  animation-name: img-wrap-after;
  top: 50%;
  bottom: 0;
}

@keyframes img-wrap-before {
  100% {
    transform: translateX(100%);
  }
}

@keyframes img-wrap-after {
  100% {
    transform: translateX(-100%);
  }
}

.img-logo_sub{
 text-align:right;
 max-width:260px;
 margin-left:auto;
 margin-top:2em;
 }

.img-logo_sub {
  overflow: hidden;
  position: relative;
}

.img-logo_sub:before{
animation: img-subwrap-before 3s cubic-bezier(.4, 0, .2, 1) forwards;
  background: #fff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}


@keyframes img-subwrap-before {
  100% {
    transform: translateX(100%);
  }
}


.scroll-icon-line-wrap{
   position:relative;
   
  }

.scroll-icon-line {
    position: absolute;
    top: 30px;
    left: 0;
    right: 0;
    margin: auto;
    width: 1px;
    height: 80px;
    overflow: hidden;
}

.scroll-icon-line-sec {
    position: absolute;
    top: 50px;
    left: 0;
    right: 2em;
    margin: auto;
    width: 1px;
    height: 80px;
    overflow: hidden;
}

.scroll-icon-line-thr {
    position: absolute;
    top: 50px;
    left: 0;
    right:4em;
    margin: auto;
    width: 1px;
    height: 80px;
    overflow: hidden;
}

.scroll-icon-line-pa {
    position: absolute;
    top: 50px;
    left: 0;
    right:0;
    margin: auto;
    width: 1px;
    height: 80px;
    overflow: hidden;
}

.scroll-icon-line>span, .scroll-icon-line-sec>span, .scroll-icon-line-thr>span, .scroll-icon-line-pa>span {
    display: block;
    width: 1px;
    margin: auto;
    height: 80px;
    background: #000;
    -webkit-animation: SCROLL 2.6s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
    animation: SCROLL 2.6s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}

@-webkit-keyframes SCROLL{
0%{opacity:0.4;-webkit-transform:translateY(-90px);
transform:translateY(-90px)}50%{opacity:1}100%{opacity:0.4;-webkit-transform:translateY(90px);
transform:translateY(90px)}
}
@keyframes SCROLL{
0%{opacity:0.4;-webkit-transform:translateY(-90px);
transform:translateY(-90px)}50%{opacity:1}100%{opacity:0.4;-webkit-transform:translateY(90px);
transform:translateY(90px)}
}



.border{
border-bottom: 1px solid #eee;
}


.Gloval_nav{
 color:#fff;
 position:relative;
 padding-left:2em;
 bottom:0;
 height:100vh;
}

.Gloval_nav:before{
 content:'';
 position:absolute;
 background:#000;
 width:1px;
 height:90vh;
 z-index:0;
top: -50%;
  left:3em;
 }

.Gloval_nav .Contents{
 margin:auto;
 max-width:240px;
}

.Gloval_nav .Contents{
 content:'';
 background:#000;
  position:absolute;
  padding:1.5em;
 left:2em;
 bottom:0;
 width:0;
 height:70vh;
    -webkit-animation: Nav 1.0s cubic-bezier(0.22, 0.61, 0.4, 1) forwards;
    animation: Nav 1.0s cubic-bezier(0.22, 0.61, 0.4, 1) forwards;
  animation-delay: .3s;
 z-index:1;
}

@keyframes Nav{
0%{opacity:1.0;}
50%{opacity:1.0;}
100%{opacity:1.0;width:100%;}
}

.navigation_wrap{
 position:relative;
 font-size:1.0rem;
 height:100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:flex-start;
    align-items: center;
}

.navigation_wrap ul{
 margin:0;
 padding:0;
position:relative;
width:100%;
   font-family: 'Lora', serif;
 overflow: auto;
 }

.navigation_wrap ul li{
 margin-bottom:1em;
 opacity:0;
 }

.navigation_wrap ul li a{
  color:#fff;
   font-family: 'Lora', serif;
     display: block;
 }

.navigation_wrap ul li a:hover{
	color:#d5ccba;
}
.navigation_wrap ul li a:before{
        content: "";
        position: absolute;
        left: 0;
        bottom: -8px;
        width: 50%;
        height: 1px;
        background: #fff;
        transform: scale(0,1);
        transform-origin: left;
        transition: 0.4s;
    }
    .navigation_wrap ul li a:hover::before{
        transform: scale(1);
    }

.drawer-menu li a{
 position: relative;
 display:block;
 }

.drawer-menu li a:hover{
	color:#d5ccba;
}

.drawer-menu li a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #d5ccba;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
}
.drawer-menu li a:hover::after {
  transform: scale(1, 1);
}

/*********** Flex ****************/

.Flex_wrap{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:flex-start;
    margin:auto;
}

.Flex_wrap .Item{
  width:calc(99% / 2);
  position:relative;
 }

.Flex_wrap .concept__item{
  width:calc(97% / 2);
  position:relative;
 }

.Flex_wrap .concept__item:last-child, .Flex_wrap .concept__item p:last-child{
 margin-bottom:0;
}

.Flex_wrap .concept__item p{
text-align: justify;
text-justify: inter-ideograph;
}

ul.list{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:space-between;
    margin:auto;
}

ul.list li{
 width:calc(96% / 2);
 background:#fff;
 border-radius:.7em;
 background:#fff;
 border:1px solid #ddd;
 margin-bottom:2em;
 }

ul.list li:last-child{
 margin-bottom:0;
}

ul.list li .image{
 overflow:hidden;
 border-top-left-radius:.7em;
 border-top-right-radius:.7em;
 margin-bottom:.5em;
 width:100%;
 }

ul.list li .image a{
 display:block;
}

ul.list li .image img{
 object-fit:cover;
 height:300px;
 width:100%;
 }

ul.list li h3{
 font-size:1.25rem;
 margin-bottom:1em;
}

ul.list li h3 a:hover, ul.list li p.text a:hover{
 text-decoration:underline;
}

ul.list li .text{
 padding:0 .75em .75em .75em;
}

ul.list li .text span.days{
 background:#252525;
 color:#fff;
 font-size:0.8rem;
 padding:2px 10px;
 display:inline-block;
 margin-bottom:5px;
}

ul.list li p.text{
 font-size:0.9rem;
 margin-bottom:10px;
 color:#555;
}

.Flex_wrap .concept__item p{
 margin-bottom:2em;
}

.Flex_wrap .concept__item:first-child{
 width:40%;
}

.Flex_wrap .Fourth_Item{
  width:calc(92% / 5);
  position:relative;
  margin-bottom:2em;
 }

.Flex_wrap .Fourth_Item h3{
 text-align:center;
 margin-bottom:5px !important;
}

.Flex_wrap .Fourth_Item p img{
 display:block;
 margin-left:auto;
 margin-right:auto;
 }

.Flex_wrap .Fourth_Item p{
 font-size:0.9rem;
}

.Flex_wrap .Fourth_Item p:last-child{
 margin-bottom:0;
}

.Flex_wrap .Item_start{
 justify-content:flex-start;
}

.Flex_box{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content:space-between;
}

.footer_logo{
margin:0 auto 2.5em auto;
text-align:center;
}
.footer_logo img{
margin-bottom:.5em;
}

.footer_menu_wrap{
 border-top:1px solid #ddd;
 border-bottom:1px solid #ddd;
 padding:1.5em;
 margin-bottom:2em;
}

.footer_links ul{
display:inline-block;
}

.footer_links li{
float:left;
margin-right:10px;
}

.footer_links li:after{
	font-family: "FontAwesome";
	content: '\f054';
 margin-left:5px;
 float:right;
 font-size:0.8rem;
 color:#ccc;
}

.footer_links{
text-align:center;
}

.footer_company_logo_wrap{
display:table;
margin:0 auto 2em auto;
max-width:1000px;
}

.footer_company_logo{
display:table-cell;
padding:0 15px 0 15px;
}

.footer_sns_wrap{
display:table;
margin:0 auto 1em auto;
}

.footer_sns_contents{
width:33%;
padding:0 10px 0 10px;
font-size:33px;
display:table-cell;
}

.footer_sns_contents a{
color:#000;
}

#footer_copy_wrapper{
background:#000;
font-size:0.75rem;
text-align:center;
padding:10px 2.5% 10px 2.5%;
color:#fff;
}


.border_top{
border-top:1px dotted #1e3544;
}


.pc_image{
display:block;
}


.txt_red{
color:#fe0000;
}


.mb_50{
margin:3em auto 3em auto;
}

p.desc {
  padding: 1rem;
  font-size: 1.1rem;
  letter-spacing: .2rem;
  opacity: 0;
  transition: 2s 1.5s;
  margin-top:2em;
  text-align:center;
}


a {
    -webkit-transition: all .5s cubic-bezier(.5,0,0,1);
    -o-transition: all .5s cubic-bezier(.5,0,0,1);
    transition: all .5s cubic-bezier(.5,0,0,1);
    font-size: 100%;
    overflow: visible;
    vertical-align: baseline;
    word-break: break-all;
    outline: 0;
    background: 0 0;
}


a.disabled{
    pointer-events: none;
}


#footer{
 margin-top:0;
 background:#1E50A2;
 padding-left:1.5em;
 padding-right:1.5em;
 }

.footer_special_links{
  background:#252525;
  padding:3em;
  width:70vw;
  position:relative;
  z-index:1;
 }

.footer_special_links .Flex{
     display: flex;
    flex-direction: row;
    flex-wrap: wrap;
justify-content:space-between;
    align-items:center;
    max-width: 1000px;
    margin: auto;
 }

.footer_special_links .Flex .Item{
 width:calc(97% /2);
     display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
justify-content:flex-start;
    align-items:center;
    color:#fff;
    font-size:1.3rem;
    line-height:1.4;
 }

.footer_special_links .Flex .Item div{
 width:calc(100% / 2);
 margin-right:2em;
 max-width:150px;
 }

.footer_special_links .Flex .Item div:nth-of-type(2){
 margin-right:0;
 max-width:100%;
 }

.footer_special_links .Flex .Item div a img{
 width:100%;
 }

.footer_page_top{
 background:#f6f6f6;
 padding:1.2em 2em 1.2em 2em;
 position:relative;
 z-index:0;
 margin-top:-5em;
 text-align:right;
 }

.footer_page_top img{
 max-width:80px;
 }

.Bl_back{
 max-width:1000px;
 margin:auto;
}

.footer_white_wrap{
 padding:3em 0 3em 0;
 max-width:1400px;
 margin:auto;
}

.Copy{
 font-size:0.7rem;
 color:#757373;
 margin-top:2em;
 }

.footer_white_wrap ul{
 margin:0;
     display: flex;
    flex-direction: row;
    flex-wrap: wrap;
justify-content:flex-end;
 color:#fff;
}

.footer_white_wrap ul li{
 margin:0;
 font-size:0.9rem;
 }

.footer_white_wrap ul li:after{
 content:'/';
 margin:0 1em 0 1em;
 }

.footer_white_wrap ul li a{
  color:#fff;
 font-weight:400;
 }

.footer_white_wrap ul li a:hover{
 color:#fff;
}

.footer_bottom_wrap{
      display: flex;
    flex-direction: row;
    flex-wrap: wrap;
justify-content:space-between;
 }

.footer_sns{
      display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
justify-content:space-between;
  max-width:90px;
 }

.menu_sns{
      display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
justify-content:space-between;
  max-width:80px;
    margin:2em 0;
	}

.footer_sns .icon, .menu_sns .icon{
  width:calc(95% / 2);
 }

.footer_sns .icon a, .menu_sns .icon a{
 display:block;
 width:100%;
 }

.footer_sns .icon a img, .menu_sns .icon a img{
 width:100%;
 }

.footer_copy{
  display:table;
  margin:auto;
  color:#fff;
 width:100%;
 }


.footer_copy .item{
 display:table-cell;
 padding: 0 0 0 0;
 font-size:0.9rem;
 vertical-align:middle;
 text-align:left;
 font-weight:300;
 line-height:1.6;
 }

.footer_copy .item:first-child img{
  max-width:180px;
  
 }

.top_Image{
  margin:0 0 5em 0;
 }

.footer_copy .item a img{
 width:100%;
}


div.relative{
 position:relative;
 }



.cmnBtn {
    font-size: 13px;
    font-weight: 900;
    line-height: 20px;
    display: block;
    text-align:center;
    width: 200px;
    margin:25px auto 25px auto;
    border: 1px solid;
    -webkit-transition: all .5s cubic-bezier(.5,0,0,1);
    -o-transition: all .5s cubic-bezier(.5,0,0,1);
    transition: all .5s cubic-bezier(.5,0,0,1);

}

.cmnBtn_left{
margin:25px 0 25px 0;
}

.cmnBtn a{
position:relative;
}

.cmnBtn a:hover{
background-color: #3f3b3a;
color:#fff;
}



.mt_none{
margin-top:0;
}

.mt_30{
margin-top:1.5em;
}




.mb_none{
margin-bottom:0 !important;
}

.txt_center{
text-align:center;
}

.txt_center span{
margin:0 25px 0 25px;
}

.ppt_10{
padding-top:.5em;
}


/********** Layout **************/

.Flex_wrap_center{
align-items: center;
}

.Flex_wrap_end{
align-items: flex-end;
}


.Flex_justify_space{
justify-content:space-around;
}

.Flex_justify_center{
justify-content:center;
}

.Flex_reverse{
flex-direction: row-reverse;
}

table.border{
 background:#fff;
 margin:2em auto 0 auto;
 border:0;
 border-top:1px solid #ddd;
 border-left:1px solid #ddd;
 border-right:1px solid #ddd;
font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;

}

table.border th{
 width:30%;
 text-align:center;
 color:#1a1a1a;
 background:#fafaf9;
 border-bottom:1px solid #ddd;
 padding:1em;
 vertical-align:middle;
 font-weight:500;
}

table.border td{
 padding:1em;
 border-bottom:1px solid #ddd;
 }



/********** LAYOUTS **************/

/**************** Flow  ***************/

.step{
 max-width:60px;
 margin:0 auto 5px auto;
 text-align:center;
}

.flow_wrapper{
     display: flex;
    flex-direction: row;
    flex-wrap: wrap;
   justify-content:flex-start;
    align-items: center;
    padding-bottom:2em;
    margin-bottom:2em;
    border-bottom:1px solid #ccc;
    position:relative;
}

.flow_wrapper .icon{
  width:75px;
 }

.flow_wrapper .text{
 width:calc(100% - 80px);
 padding-left:1em;
 font-size:1.0rem;
}

.flow_wrapper .text .ttl{
      display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
   justify-content:flex-start;
    align-items: center;
   font-size:1.4rem;
   line-height:1.6;
   margin-bottom:.5em;
   font-weight:500;
}

.flow_wrapper .text .ttl span.number{
 font-size:45px;
 font-weight:bold;
 color:#312c2c;
 display:inline-block;
 font-family: 'Rubik', sans-serif;
 margin-right:10px;
}

.flow_wrapper span.days{
 border-radius:1.6em;
 background:#000;
 font-size:13px;
 text-align:center;
 color:#fff;
 padding:.5em;
 position:absolute;
 right:0;
 bottom:-18px;
 min-width:100px;
}


/**************** Flow  ***************/


/******** Btn**********/

a.Btn{
  background:#2a2a2a;
  max-width:680px;
  padding:1em .75em;
  color:#fff;
  text-align:center;
  border-radius:4px;
  font-size:1.05rem;
  display:block;
  margin:2em auto 0 auto;
  border:1px solid #000;
 }


a.Btn:hover{
  background:#fff;
  color:#000;
 }

/******** Btn**********/

/******** よくある質問 **********/

ul.faq{
 margin:auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
justify-content:space-between;
}

ul.faq li{
 margin:0 0 2em 0;
 width:calc(96% / 2);
}

ul.faq li:last-child{
 margin-bottom:0;
}

ul.faq li span.icon{
 display:inline-block;
 font-size:42px;
 font-family: 'Rubik', sans-serif;
 font-weight:bold;
 padding:0 .35em .25em .35em;
 border-bottom:3px solid #000;
 margin-bottom:.25em;
 color:#000;
}

ul.faq li .ttl{
 font-weight:700;
 font-size:1.2rem;
 margin-bottom:.5em;
 color:#000;
}

ul.faq li .anther{
 padding:1.5em;
 background:#fff;
}

ul.faq li .anther p{
 margin-bottom:0;
}

ul.faq li .anther span.icon{
 display:block;
 font-size:42px;
 font-family: 'Rubik', sans-serif;
 font-weight:bold;
 color:#999;
 margin-bottom:.25em;
 border-bottom:none;
 padding-bottom:0;
}

/******** よくある質問 **********/

/******** Footer**********/

 .footer_logo{
  text-align:center;
  max-width:70px;
 }

.entry-meta-bar{
 display:none;
}


/******** Footer**********/

/********************************* メニュー **********************************/

dl.list{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:flex-start;
    border-bottom:1px solid #454545;
    align-items:center;
    padding:.5em 0 .5em 0;
    margin-bottom:0;
}

dl.list:first-child{
    border-top:1px solid #454545;
}

dl.list:last-child{
 margin-bottom:3em;
 }

dl.list dt{
 width:70%;
  padding:.5em 0;
    border-right:1px solid #454545;
 font-weight:400;
 margin:0;
 letter-spacing:0.08em;
 }

dl.list dd{
 width:30%;
 padding:.5em;
 margin:0;
 text-align:right;
}

/********************************* メニュー **********************************/

h2{
border-top: 1px solid #1E50A2;
    background: #fafaf9;
    line-height: 1.4;
    letter-spacing: 1px;
    margin-bottom: 1em;
    padding:.5em;
    position: relative;
 color:#000;
 font-size:24px;
 margin-bottom:.75em;
 font-weight:900;
font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

h2:after {
    background:#eee;
    content: '';
    position: absolute;
    width: 5px;
    height: 30px;
    right: 5px;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%);
}

h2 span{
 color:#9a9a9a;
 font-size:10px;
 display:block;
 font-weight:normal;
font-family:'Robots', sans-serif;
 padding-top:5px;
}

.entry-content{
 width:100%;
 max-width:1400px;
}


h3{
margin-bottom:1em;
color:#000;
font-size:23px;
position:relative;
line-height:1.5;
font-weight:bold;
font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}



h4{
 color:#0953c1;
 font-weight:bold;
 font-size:20px;
 margin-bottom:.5em;
 border:none;
 padding:0;
font-family:'Noto Sans JP',游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

a.Links{
 display:block;
 background:#000;
 color:#fff;
 padding:10px;
 font-size:15px;
 text-align:center;
 margin-top:.5em;
 border:1px solid #000;
}

a.Links:hover{
  background:#fff;
  color:#000;
 }


.Flex_wrap .Fourth_Item h3{
 font-size:1.1em;
}

p.app_image{
 text-align:center;
}

p.center{
 text-align:center;
 margin-bottom:0;
 margin-top:2em !important;
}

p.center img{
 margin:auto;
}

p.txt_center{
 text-align:center;
 margin-top:0px !important;
}

.wpcf7 form .wpcf7-response-output {
    margin:0;
        border-color: #fe0009 !important;
   font-size:1.0rem;
   color:#fe0009;
   line-height:1.5;
}

#main_wrap{
 margin:auto;
}

div.wpcf7 .ajax-loader {
    visibility: hidden;
    display: inline-block;
    background-image: url(../../assets/ajax-loader.gif);
    background-size: contain;
    width: 8px;
    height: 8px;
    border: none;
    padding: 0;
    margin: 0 0 0 4px;
    vertical-align: middle;
}

.main__inner{
  max-width:1280px;
  margin:auto;
 }

.entry-content ul{
 list-style:none;
 padding:0;
 margin-left:0;
}

.wp-pagenavi{
 margin-top:2em;
}

.wp-pagenavi a, .wp-pagenavi span{
 padding:.5em .75em;
}

/**************** animation **********************/

.text-fad-in {
  -webkit-animation: text-focus-in 2.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
          animation: text-focus-in 2.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
  animation-delay: 1s;
  position:relative;
}

.text-fad-in02 {
  -webkit-animation: text-focus-in 3.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
          animation: text-focus-in 3.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
  animation-delay: 2.5s;
  position:relative;
}

.text-fad-in03 {
  -webkit-animation: text-focus-in 3.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
          animation: text-focus-in 3.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
  animation-delay: 3.5s;
  position:relative;
}

@-webkit-keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
    bottom:-20px;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
    bottom:0px;
  }
}


/********************** Accordion *******************************/

	ul.accordion { width:100%; margin:0 auto 10px auto;list-style:none;padding:0; cursor:pointer;}

	ul.accordion a { display:block; padding:10px;
	box-sizing:border-box; text-decoration:none;}

	ul.accordion span { display:block; padding:10px;
	box-sizing:border-box; text-decoration:none; font-weight:bold;}

	ul.accordion ul { display:block;}

	ul.accordion > li { 
	width:100%;margin:0;}

	ul.accordion > li > p { 
	font-weight:bold; 
	width:100%;
	margin:0;
	border-bottom:1px solid #1E50A2;
	padding:0;
	font-size:1.2rem;
	font-weight:bold;

	}

	ul.accordion > li > p span {}

	ul.accordion > li > p span.open {
	}

	ul.accordion > li > ul > li { background:#fff;
	cursor:default;
	}

	ul.accordion > li > ul > li > p { 
	display:none; 
	}

	ul.accordion > li > ul > li > a { 
	box-sizing:border-box;
	width:100%;
	}

	ul.accordion > li > ul > li > a:hover { ;
	}

	ul.accordion > li > ul > li > ul > li { 
	display:block;
	width:100%;
	color:#222;
	text-decoration:none;
	}
	ul.accordion > li > ul > li > ul > li:last-child { border:none;}




/********************** Accordion *******************************/

.contact_wrap{
 background:#fafaf9;
 padding:1em;
 border:1px solid #ddd;
     display: flex;
    flex-direction: row;
    flex-wrap: wrap;
 justify-content:space-between;
box-shadow: 0px 0px 16px -8px rgba(0,0,0,0.09);
}

.contact_wrap .Item{
 width:calc(98% / 2);
     display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content:center;
    align-items:center;
}

.contact_wrap .Item a.mail{
 color:#1E50A2;
 font-size:30px;
 font-weight:800;
}

.contact_wrap .Item a.mail:before{
  	font-family: "FontAwesome";
	content: '\f003';
	margin-right:10px;
 }

.contact_wrap .Item a.form{
 display:block;
 background:#1E50A2;
 font-size:24px;
 color:#fff;
 padding:1em;
 border-radius:5px;
 font-weight:800;
 text-align:center;
 line-height:1.5;
 width:100%;
}

.contact_wrap .Item a.form span{
 font-weight:300;
 display:block;
 font-size:12px;
}

.contact_wrap .Item a.form:before{
  	font-family: "FontAwesome";
	content: '\f003';
	margin-right:10px;
 }

.contact_wrap .Item span.min{
 font-size:12px;
 font-weight:300;
 display:block;
}

.contact_wrap .Item a.form:hover{
 background:#004ae3;
}

@media screen and (max-width: 767px) {
.contact_wrap .Item{
	 width:100%;
	 margin-bottom:1em;
	}

	.contact_wrap .Item a.mail{
	 font-size:22px;
	}

}

/***********スマホ用************/
@media screen and (max-width: 767px) {

	nav.nav{
	 display:none;
	}

	.pc_header {
	 display:none;
	}


	div.wpcf7-response-output {
	    margin:0 auto 0.5em auto !important;

	}

	section.pt_none{
	 padding-top:0 !important;
	}

	#concept, #service, #case, #contact, #news, #company{
	    padding-top: 0px !important;
	    margin-top: -0px !important;
	}



/******** Header**********/

	#header_top_wrap .center {
	    margin:0;
	    width: 205px;
	}

	#header_top_wrap .Sns{
	    width: 30px;
	    right: 60px;
	    top: 16px;
	}

	.guide-app, .second_fv {
	    margin-top:0px;
	}

/******** Header**********/

	.loading__img img{
	 max-width:90px;
	 margin: -2em auto 2em;
	}

	header h1 font {
	    display: inline-block;
	    margin: 0 15px 0 0;
	}

	#header_movie_wrap ul.top-news {
	    background: #fff;
	    position: relative;
	    width: 100%;
	    bottom: 0;
	    left: 0;
	}

	input[type="reset"], input[type="button"], input[type="submit"]{
	margin-bottom:0;
	padding:15px;
	}


	.fix-header {
	top:0;
	left: 0;
	text-align: center;
	width: 100%;
	margin: 0 auto;
	position: fixed;
	opacity:1;
	z-index: 1000;
	}


	.footer_special_links .Flex .Item{
	 font-size:0.9rem;
	    flex-wrap:wrap;
	}

	.Flex_hurf_wrap .Item{
	 padding-left:1em;
	 padding-right:1em;
	}

	.footer_page_top{
	 padding:1em .5em 1em .5em;
	}

	.footer_special_links{
	 padding: .5em;
    width: 80vw;
	}

	.footer_page_top img {
	    max-width:55px;
	}

	.footer_special_links .Flex .Item div{
	 width:100%;
	 margin:0 auto .7em auto;
	 text-align:center;
	}
	.footer_special_links .Flex .Item div:nth-of-type(2){
	 margin-bottom:0;
	}

	.footer_special_links .Flex .Item div:first-child{
	 max-width:90px;
	}

	.scroll-icon-line-sec>span, .scroll-icon-line-thr>span, .scroll-icon-line-pa>span{
	 height:40px;
	}

	.scroll-icon-line-thr{
	 height:40px;
	 width:100%;
	}

	#footer{
	 margin-top:0;
	 padding-left:0;
	 padding-right:0;
		}

	ul.Topics_wrap li span{
	 font-size:0.85rem;
	}

	.Flex_hurf_wrap .Item {
	    width:100%;
	    position: relative;
	}

	#slide_wrap{
	 height:auto;
	}

	#header_movie_wrap{
	 display:block;
	 height:auto;
	 padding-bottom:0;
	}

	.video-container{
	 min-height:80vh;
	}

	header .bottomcaption, .video-container .Left{
	 padding-left:.75em;
	 padding-right:.75em;
	}

	.pc_image{
	 display:none;
	}

	.sp_image{
	 display:block;
	}

	#header_top_wrap{
	 width:100%;
	}

	.video-container{
	     height:auto;
	    max-height:100vh;
	     min-height:50vh;
	    align-items: flex-end;
	 }

	.page_fv .video-container{
	     min-height:30vh;
	}

	.video-container .Right_Contents {
	    width: 30%;
	    text-align: center;
	    padding-top:62px;
	    padding-right: 1em;
	    padding-left: 1em;
	}

	.page_fv h1{
	 font-size:28px;
	}

	.page_fv .Left {
	    margin-top:0;
	}

	.page_fv .Left p {
	    font-size: 1.0rem;
	}

	.page_fv .Left .caption{
	 font-size:24px;
	}

	.page_fv .Right{
	 width:35%;
	}

	.slick-slide img {
	    max-height: 800px;
	    height:100%;
	    min-height:50vh;
	    width: 100%;
	    object-fit: cover;
	}

	svg.intro {
	    width: 90%;
	    position: absolute;
	    top: 50%;
	    left:0%;
	    transform: translateY(-50%);
	    -webkit- transform: translateY(-50%);
	}

	header .bottomcaption{
	 margin-top:.5em;
	 font-size:20px;
	 font-weight:600;
	 margin-bottom:.5em;
	}


	.sp_image{
	display:block;
	}

	.pc_image{
	display:none;
	}

	.footer_links li{
	margin-bottom:10px;
	}


	#fade-in li ul{
	    visibility: visible;
	    opacity:1;
	}

	#fade-in li ul li{
	    visibility: visible;
	    opacity:1;
		}

	.dropmenu li ul{
	position:relative;
	top:0;
	left:0;
	    transform: translateX(0%);
	}

	.sub-menu{
	width:100%;
	    opacity:1;
	}


	#fade-in li:hover ul li a{
	font-size:14px;
	    color:#1a1a1a !important;
	}

	
	.dropmenu li ul li{
	width:100%;
	float:none;
	border:0;
	margin:0;
	}

	.sub-menu a{
	    border-top: 1px solid #6ba3c1;
	    padding:10px !important;
	    color:#fff !important;
	}

	.drawer-menu li a{
	 position:relative;
	}

	.drawer-menu li a:before{
	  right:10px;
          font-family: "FontAwesome";
	content: '\f105';
	  position:absolute;
	  top: 50%;
	  transform: translateY(-50%);
	  -webkit- transform: translateY(-50%);
	}


	.contact_text{
	text-align:center;
	font-size:0.95rem !important;
	}

	.mt_15{
	margin-top:2em;
	}


	#wpfront-scroll-top-container{
	right:5px !important;
	bottom:5px !important;
	}

	#wpfront-scroll-top-container img{
	max-width:45px;
	}

	.footer_menu_wrap{
	padding-bottom:0.5em;
	}

	.footer_white_wrap{
	 padding:1.5em 1em 1.5em 1em;
	}


input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="password"], textarea{
	width:100%;
	}

	.Flex-wrap{
	display:flex;
	width:100%;
	    flex-direction: row;
	    flex-wrap:nowrap;
	justify-content:left;
	  align-items:left;

	}

	.Flex-item{
	 flex: auto;
	margin:0 1.5em 0 1.5em;
	}

	.Flex-item img{
	display:block;
	margin:0 auto 15px auto;
	max-width:280px;
	}


	.footer_logo {
	    margin: 1.5em auto 1.5em auto;
	    max-width: 50px;
	}

	.footer_logo img{
	max-width:120px;
	}


	.home-logo{
	max-width:60px;
	margin-bottom:1em;
	}


	select{
	width:100%;
    background-color: #fafafa;
	}

	section .small_page{
	 padding:1em;
	 }

	.cmnBtn_min{
	width:150px;
	}

	.txt_center span{
	margin:0 10px 0 10px;
	}

	.single_bottom_arrow{
	    flex-wrap:wrap;
	    font-size:0.75rem;
	    justify-content:space-between;
	}


	.breadcrumb_wrap{
	margin-top:55px;
	font-size:0.7rem;
	}

	.current-menu-parent {
	    border-top:none;
	}

	p.text_min{
	margin:.5em 0 2.5em 0 !important;
	font-size:1.0rem;
	text-align:left;
	line-height:2.0;
	}

	.footer_logo p{
	text-align:center !important;
	margin: .5em 0 .5em 0 !important;
	}

	h3 {
	    font-size:1.2rem;
	    line-height:150%;
	}

	h3.left{
	text-align:left;
	}

	h4{
	 font-size:17px;
	}

	#main {
	 padding-left:.75em;
	}


	#footer_copy_wrapper{
	font-size:0.65rem;
	}

	.pagetop {
	    position: fixed;
	    bottom: 5px;
	    right: 5px;
	    max-width:50px;
	}

	.top_media_item{
	width:100%;
	margin-right:0;
	margin-bottom:2.5em;
	}

	article.small_page {
	    margin: auto;
	    padding: 2em 1em 0 1em;
	}

	section, .entry-content section{
	 padding:2.5em .75em;
	}


	.border_table dt{
	 padding:0 0 0 1em;
	 width:100%;
         border-right:0;
	 text-align:left;
	 margin-bottom:0;
	}

	.border_table dd{
	 padding:1em;
	 margin:0;
	 width:100%;
	}

	.archive_wrap .Item{
	 width:100%;
	}

	.top_Image{
	 margin-bottom:2em;
	}

	.pr_none{
	 padding-left:0 !important;
	 padding-right:0 !important;
	}


	.mb_25{
	 margin-bottom:2em;
	}

	.dr_menu{
	 right:0;
	 top:0;
	}

	.gnav__menu__item {
	    margin: 10px 0;
	}

	.gnav__menu__item a{
	 padding:10px;
	 font-size:16px;
	}

	.Flex_wrap .Item {
	    width: calc(99% / 1);
	    position: relative;
	    margin-bottom:1em;
	}

	.Title_wrap span{
	 margin-bottom:1em;
	 font-size:1.1rem;
	}


	.Flex_wrap .Ac_Item:nth-of-type(2){
	  width:100%;
	  position:relative;
	 }

	.Access_inner{
	 padding:0;
	}



	.Flex_wrap .Hurf_Item {
	    width: calc(100% / 1);
	    position: relative;
	}


	a.Btn{
	     font-size: 1.25rem;
	     padding:1em .5em;
	}

	.footer_white_wrap ul li {
	    margin: 0;
	    font-size: 0.8rem;
	}

	.Flex_wrap .Item img{
	 display:block;	
         margin-left:auto;
         margin-right:auto;
	}

	.header_page h1{
	 font-size:30px;
	}

	header {
	    margin-left:auto;
	    margin-right:auto;
	    padding-left: 1em;
	    padding-right: 1em;
	    background: url(../../images/fv_image_sp.jpg)no-repeat center;
	    background-size:cover;
	}

	header .caption{
	 font-size:18px;
	}

	.header_page .title_wrap span{
	 font-size:1.0rem;
	}

	.footer_copy{
	 display:block;
	}

	.footer_copy .item:first-child{
	 width:80%;
	 margin:0 auto 1em auto;
	}

	.footer_copy .item{
	 display:block;
	 padding:0;
	 text-align:center;
	}

	.menu-footer-navi-container{
	 display:none;
	}

	header h1{
	 font-size:24px;
         word-break: break-all;
	 margin:0 auto .5em auto;
	}

	.video-container{
	    flex-wrap:wrap;
	}

	.video-container .Left{
	 width:100%;
	}

	.page_fv .Left{
	 padding-left:.75em;
	 left:0;
	 top: 50%;
	  transform: translateY(-50%);
	  -webkit- transform: translateY(-50%);
	 padding-bottom:0;
	}

	.video-container .sec__inner{
	 margin-left:auto;
	}

	.Left_logo{
	 width:200px;
	 top:0;
	 padding-top:0;
	 padding-left:15px;
	}

	.Right-contact{
	 width:100%;
	 padding-top:0;
	 padding-left:15px
	}

	.Single_wrap{
	 padding:1em;
	}

	iframe{
	 max-height:350px !important
	}

	h2{
	 font-size:22px;
	}
	
	.Flex_wrap .Fourth_Item{
	 width:calc(94% / 2);
	 justify-content:flex-start;
	}

	.Flex_wrap .Item_start{
	 justify-content:flex-start;
	}

	.Flex_wrap .Fourth_Item p{
	 font-size:12px;
	 margin-bottom:0;
	}

	p.app_image{
	 max-width:85%;
	 margin-left:auto;
	 margin-right:auto;
	}

	.Flex_wrap .concept__item:first-child {
	    width: 95%;
	    padding-right:0;
	}

	.Flex_wrap .concept__item{
	  width:calc(100% / 1);
	  margin-bottom:1em;
	 }

	/******** table *****/

	table.border th{
	 width:40%;
	 padding:.5em;
	 font-size:0.9rem;
	}

	table.border td{
	 	 font-size:0.9rem;
	 padding:.5em;
	 }

	/******** table *****/

	/******** flow *****/

	.flow_wrapper .icon {
	    width: 75px;
	    margin-left:auto;
	    margin-right:auto;
	}

	.flow_wrapper .text .ttl{
	 font-size:1.25rem;
	}

	.flow_wrapper .text{
	 font-size:0.9rem;
	}

	.flow_wrapper .text .ttl span.number{
	 font-size:35px;
	}

	ul.accordion > li > p{
	 font-size:1.05rem;
	}

	/******** flow *****/

	ul.list li{
	 width:100%;
	 margin-bottom:2em;
	}

	ul.list li:last-child{
	margin-bottom:0;
	}

	ul.list li .image img {
	    object-fit: cover;
	    height: 200px;
	}

	ul.faq li{
	 width:100%;
	}

	ul.faq li .anther{
	 padding:1em;
	}

	#main section {
	    padding-left: .75em !important;
	    padding-right: .75em !important;
	}

	section.wh{
	 padding-left:.75em;
	}

	section.sample{
	 padding-left:.75em;
	}

	header, #main {
	    padding-left:0em !important;
	    padding-right:0em !important;
	}



}


@media screen and (min-width: 768px) {



	.br-sp02{
	display:none;
	}

	.Aboutus-table-wrapper{
	font-size:1.1rem;
	}


	.cmnBtn2_s{
	width: 200px !important;
	}

	.main_textBox{
	    width:14.2vw;
	    position: relative;
	    display:table-cell;
	}

	.sp_image {
	    display: none;
	}

}


@media screen and (min-width:768px) and (max-width:1024px){

	.tab_nav{
	 display:block;
	}

	nav.nav{
	 display:none;
	}

	.header_inner .li_global_navi a{
	 font-size:0.9rem;
	 padding:1em .75em;
	}

	.fixed_form{
	 display:none;
	}

	header h1{
	 font-size:48px;
	}


	.video-container .Right_Contents{
	 width:22%;
	 padding-right:3em;
	}

	#header_top_wrap{
	 width:85%;
	}

	.phi_title{
	 font-size:1.4em;
	}

	.phi_wrap .Item:nth-of-type(2) .ttl {
	    display: block;
	    max-width: 290px;
	}

	.sv-text{
	     right: 1em;
    	    bottom: 1em;
	}

	section {
	    min-height:auto;
	    padding: 3em 1.5em 3em 1.5em;
	}

	h2.Title{
	  font-size:1.8rem;
	}

	#footer {
	    margin-top:4em;
	}

	.footer_logo {
	    text-align: center;
	    max-width: 50px;
	}

	.footer_white_wrap {
	    padding: 2em;
	}

	header .bottomcaption{
	 margin-top:.5em;
	 font-size:25px;
	}

	article section.Contact{
	     padding:2em 1em;
	}

	article section.Result{
	 min-height:auto;
	}

	article section.Strategy{
	 height:auto;
	}

	article section.Company .Item {
	    width: 60%;
	    padding:1.5em;
	}

	article section.Company .Item dl{
	 font-size:0.9rem;
	}

	section .Second_Top {
	    margin-top: 32vh;
	}

	a.Btn{
	 max-width:450px;
	padding:1em;
	}

	.Center img{
	 display:block;
	 max-width:70%;
	 margin:auto;
	}

	.footer_special_links .Flex .Item{
	 font-size:1.0rem;
	}

	.footer_special_links{
	 padding:2.5em 1em 2.5em 1em;
	}

	.footer_page_top img {
	    max-width: 60px;
	}

	.Flex_hurf_wrap{
	     align-items: flex-start;
	}


	.Flex_concert_wrap .Contents:nth-of-type(2){
	 padding-right:1em;
	}


	.pr_title{
	 font-size:1.3rem;
	}


	.Flex_wrap .Fourth_Item{
	     width: calc(96% / 2);
	}




}


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


 .pc_br{
	 display:none;
	}


}


@media screen and (min-width:1025px){
	.tab_nav{
	 display:none;
	}
}