@charset "UTF-8";

/* =1. General Setting 
-------------------------------------------------------------- */
html {
  word-wrap: break-word;
  font-size: 62.5%;
}
body {
  font-size: 1.5rem;
}
@media screen and (max-width: 769px) {
	body {
	  font-size: 1.4rem;
	}	
}
html, body, #page, #wrapper {
  width: 100%;
  overflow-x: hidden;
}
html, body, applet, object, iframe, strong,
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, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, legend, caption,
tbody, tfoot, thead, table, label, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-style: inherit;
  font-family: inherit;
  vertical-align: middle;
  list-style: none;
}
body {
	font-family: 'Roboto Condensed', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  padding: 70px 0 0 0;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: .1em;
  backface-visibility: hidden;
}
#wrapper {
  width: 100%;
}
.serif {
  font-family: 'Noto Serif SC', 'Kaiti SC', 'SimSun', 游明朝,"Yu Mincho",YuMincho, "Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
  font-weight: 500;}

.container02 {
  max-width: 100%;
  width: 960px;
  margin: 0 auto; }

@media (min-width: 576px) {
  .container {
    max-width: 100%; } }
@media (min-width: 768px) {
  .container {
    max-width: 100%; } }
@media (min-width: 992px) {
  .container {
	  max-width: 100%;
	  width: 1160px;
	}
  .index-page .container {
/* 	  width: auto; */
      max-width: 100%; }
}
@media (min-width: 1200px) {
  .index-page .container {
    max-width: 100%; } }
.sp {  display: none; }
p {	margin-bottom: 1.0em; }
ul, ol {
  -webkit-margin-before: 0px;
  -webkit-margin-after: 0px;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  -webkit-padding-start: 0px; }
ul li {  list-style-type: none; }

ol {
    padding-left: 2.0rem;
}
	ol li {
		list-style-type: decimal;
	}
img {
  margin: 0;
  padding: 0;
  width: auto;
  max-width: 100%;
  height: auto;
  line-height: 100%;
  vertical-align: middle; }

.clear {
  clear: both;
  line-height: 0; }

#sidebar > div > li {
  list-style-type: none; }

.wp-pagenavi {
  margin-top: 30px;
  margin-bottom: 30px; }

.pageRoot {
  padding: 20px 15px;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  text-align: right; }

.pageRoot a {
  text-decoration: underline; }

.breadcrumb {
  background-color: transparent;
  vertical-align: middle;
  align-items: center;
  justify-content: flex-end; }
.w100 {width: 100%;}

.h1,.h2,.h3,.h4,.h5,.h6,
h1,h2,h3,h4,h5,h6{
	margin-bottom:.5rem;
	font-family:inherit;
	font-weight:500;
	line-height:1.2;
	color:inherit}
.h1,h1{font-size:2rem}
.h2,h2{font-size:1.75rem}
.h3,h3{font-size:1.5rem}
.h4,h4{font-size:1.2rem}
.h5,h5{font-size:1.1rem}
.h6,h6{font-size:1rem}
big {font-size: 150%;}
.single #content pre {
	white-space: pre-wrap ;	
}

/* =Utility
-------------------------------------------------------------- */
.aligncenter {
  display: block;
  margin: 0 auto; }

.alignright {
  float: right; }

.alignleft {
  float: left; }

.wp-pagenavi a, .wp-pagenavi span {
  vertical-align: baseline; }

.clearfix {
  zoom: 1;
  /*for IE 5.5-7*/
  min-height: 1%; }

.clearfix:after {
  /*for modern browser*/
  content: "";
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden; }

* html .clearfix {
  display: inline-table;
  /*\*/
  display: block;
  /**/ }

img {
  border: none; }

.red {
  color: crimson; }

.mini {
  font-size: x-small; }

.fl {
  float: left; }

.fr {
  float: right; }

.alignR {
  text-align: right; }

.alignC {
  text-align: center !important; }

.alignL {
  text-align: left; }

select, textarea, input:not([type]), input[type="color"],
input[type="email"], input[type="number"],
input[type="password"], input[type="tel"],
input[type="url"], input[type="text"] {
  padding: 3px 5px; }

.center {
  margin: 0 auto; }

a:link, a:visited, .post .pageRoot a:link, .post .pageRoot a:visited {
  color: #233d87;
  text-decoration: none;
  vertical-align: baseline; }

a:hover, a:active {
  text-decoration: underline; }

.post a:link, .post a:visited {
  color: #233d87;
  line-height: normal;
  vertical-align: baseline; }

.pageTop {
    position: fixed;
		right: 5%;
		bottom: 5%;
    width: 45px;
    height: 45px;
    background-color: #233d87;
    border-radius: 100%;
    color: #fff;
    line-height: 0;
    text-align: center;
	z-index: 99;
}
	.pageTop a {
		display: block;
		width: 45px;
		height: 45px;
		border-radius: 100%;
		color: #fff;
	}

@media screen and (max-width: 769px) {
	.table-responsive table {
		min-width: 680px;
		table-layout: fixed;
	}
}

/* 本文汎用装飾
-------------------------------------------------------------------- */
h1.title {	
    margin-top: 1.0em;
    margin-bottom: 1.0em;
    padding-bottom: 0.5em;
    color: #233d87;
    border-bottom: solid 1px;
    font-size: 2.0rem;
    font-weight: bold;
}
.content h2 {
    color: #233d87;
    font-size: 2.8rem;
    margin-bottom: 1.0em;
    line-height: 180%;
}
.content h3 {
    color: #233d87;
    font-size: 2.3rem;
    margin-bottom: 0.5em;
    line-height: 180%;
}
.content h4 {
    color: #233d87;
    font-size: 2.0rem;
    line-height: 180%;
    margin-bottom: 0.5em;
}
.content h5 {
    color: #233d87;
    font-size: 1.6rem;
    line-height: 180%;
    margin-bottom: 0.5em;
}
.content h6 {
    color: #233d87;
    font-size: 1.6rem;
    line-height: 180%;
    margin-bottom: 1.0em;
}
@media screen and (max-width: 769px) {
	.content h2 {
		font-size: 2.4rem;
	}
	.content h3 {
		font-size: 2.0rem;
	    letter-spacing: 0.02rem;
		margin-bottom: 1.0em;
		
	}
	.content h4 {
		font-size: 1.6rem;
	    letter-spacing: 0.02rem;
		margin-bottom: 1.0em;
	}
	.content h5,
	.content h6 {
		font-size: 1.4rem;
    letter-spacing: 0.02rem;
		margin-bottom: 1.0em;
	}
}
.content p {
    margin-bottom: 1.0em;
}
.content ul.list li {
    list-style-type: disc;
    margin-left: 2.0rem;
}
.large {
    font-size: 160%;
}
.blue{
    color: #233d87;
}
.bold {font-weight:700;}

/* フォーム汎用
---------------------------------------------------------------------------------- */
span.required {
    color: crimson;
    font-size: 80%;
}
#contactform textarea {
    width: 100%;
}
.contactsubmit input[type=submit] {
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: .3rem;
    color: #fff;
    background-color: #233d87;
    border-color: #233d87;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid transparent;
	margin-top:3.0em;
	margin-bottom: 3.0em;
    padding: .375rem 15px;
    font-size: 1.8rem;
    line-height: 1.5;
    border-radius: .25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
	.contactsubmit input[type=submit]:hover {
		color: #fff;
		background-color: #0069d9;
		border-color: #0062cc;
	}
@media screen and (max-width: 769px) {
	table#contactform {
		width: 100%;
	}
	table#contactform th, table#contactform td {
	    display: block;
		width: 100%!important;
	}
	table#contactform.table-bordered {
		border: none!important;		
	}
	#contactform textarea {
		height: 150px;
		width: 300px;
	}
	#contactform .wpcf7-list-item {
		width: 100%;
	}
}


/*　Loading
 * https://icons8.com/cssload/en/spinners
 * https://newstella.co.jp/2017/03/02/228
------------------------------------------------*/
#floatingCirclesG{
	position:relative;
	width:106px;
	height:106px;
	margin:auto;
	transform:scale(0.6);
		-o-transform:scale(0.6);
		-ms-transform:scale(0.6);
		-webkit-transform:scale(0.6);
		-moz-transform:scale(0.6);
}
.f_circleG{
	position:absolute;
	background-color:rgb(255,255,255);
	height:19px;
	width:19px;
	border-radius:10px;
		-o-border-radius:10px;
		-ms-border-radius:10px;
		-webkit-border-radius:10px;
		-moz-border-radius:10px;
	animation-name:f_fadeG;
		-o-animation-name:f_fadeG;
		-ms-animation-name:f_fadeG;
		-webkit-animation-name:f_fadeG;
		-moz-animation-name:f_fadeG;
	animation-duration:1.2s;
		-o-animation-duration:1.2s;
		-ms-animation-duration:1.2s;
		-webkit-animation-duration:1.2s;
		-moz-animation-duration:1.2s;
	animation-iteration-count:infinite;
		-o-animation-iteration-count:infinite;
		-ms-animation-iteration-count:infinite;
		-webkit-animation-iteration-count:infinite;
		-moz-animation-iteration-count:infinite;
	animation-direction:normal;
		-o-animation-direction:normal;
		-ms-animation-direction:normal;
		-webkit-animation-direction:normal;
		-moz-animation-direction:normal;
}
#frotateG_01{
	left:0;
	top:43px;
	animation-delay:0.45s;
		-o-animation-delay:0.45s;
		-ms-animation-delay:0.45s;
		-webkit-animation-delay:0.45s;
		-moz-animation-delay:0.45s;
}
#frotateG_02{
	left:12px;
	top:12px;
	animation-delay:0.6s;
		-o-animation-delay:0.6s;
		-ms-animation-delay:0.6s;
		-webkit-animation-delay:0.6s;
		-moz-animation-delay:0.6s;
}
#frotateG_03{
	left:43px;
	top:0;
	animation-delay:0.75s;
		-o-animation-delay:0.75s;
		-ms-animation-delay:0.75s;
		-webkit-animation-delay:0.75s;
		-moz-animation-delay:0.75s;
}
#frotateG_04{
	right:12px;
	top:12px;
	animation-delay:0.9s;
		-o-animation-delay:0.9s;
		-ms-animation-delay:0.9s;
		-webkit-animation-delay:0.9s;
		-moz-animation-delay:0.9s;
}
#frotateG_05{
	right:0;
	top:43px;
	animation-delay:1.05s;
		-o-animation-delay:1.05s;
		-ms-animation-delay:1.05s;
		-webkit-animation-delay:1.05s;
		-moz-animation-delay:1.05s;
}
#frotateG_06{
	right:12px;
	bottom:12px;
	animation-delay:1.2s;
		-o-animation-delay:1.2s;
		-ms-animation-delay:1.2s;
		-webkit-animation-delay:1.2s;
		-moz-animation-delay:1.2s;
}
#frotateG_07{
	left:43px;
	bottom:0;
	animation-delay:1.35s;
		-o-animation-delay:1.35s;
		-ms-animation-delay:1.35s;
		-webkit-animation-delay:1.35s;
		-moz-animation-delay:1.35s;
}
#frotateG_08{
	left:12px;
	bottom:12px;
	animation-delay:1.5s;
		-o-animation-delay:1.5s;
		-ms-animation-delay:1.5s;
		-webkit-animation-delay:1.5s;
		-moz-animation-delay:1.5s;
}
#is-loading {
 display: block;
 position: fixed;
 width: 100%;
 height: 100%;
 top: 0px;
 left: 0px;
    background: #ffffff;
    z-index: 9999;
}
#loading {
 display: none;
 position: fixed;
 top: 50%;
 left: 50%;
 width: 106px;
 height: 106px!important;
 margin-top: -53px;
 margin-left: -53px;
 text-align: center;
 color: #fff;
    z-index: 99999;
}
.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
iframe {max-width:100%;}