@charset "utf-8";

/*
----------------------*/
/*
----------------------------------------*/
/*全体の設定
---------------------------------------------------------------------------*/
@keyframes fadeIn {
 0% {
opacity: 0
}
 80% {
opacity: 0
}
 100% {
opacity: 1
}
}
@-webkit-keyframes fadeIn {
 0% {
opacity: 0
}
 80% {
opacity: 0
}
 100% {
opacity: 1
}
}

html {
font-size: 100%;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}

h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, form, figure {
margin: 0;
padding: 0;
font: inherit;
}

body {
color: #333;
font-size: 16px;
margin: 0 auto;
padding: 0;
font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", 'Hiragino Kaku Gothic ProN', Arial, Helvetica, Meiryo, 'MS PGothic', Sans-serif;
line-height: 1.5;
animation: fadeIn 1s ease 0s 1 normal;
-webkit-animation: fadeIn 1s ease 0s 1 normal;
}

ul li {
list-style: outside none none;
}

img {
max-width: 100%;
height: auto;
border: none;
vertical-align: bottom;
}

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

iframe {
width: 100%;
}

address {
font-style: normal;
}

* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

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

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
text-decoration: none;
outline: none;
overflow: hidden;
color: #333;
}

a:hover {
opacity: 0.8;
text-decoration: none;
}

/*フォント設定
---------------------------------------------------------------------------*/
.mincho {
font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

/*見出し設定
---------------------------------------------------------------------------*/
.secTtl1 {
font-size: 28px;
line-height: 2;
text-align: center;
margin-bottom: 45px;
}

.secTtl2 {
font-size: 28px;
line-height: 2;
margin-bottom: 25px;
}

.secTtl1:after, .secTtl2:after {
background-color: #4aa9e0;
border-radius: 2.5px;
content: "";
display: block;
height: 5px;
}

/*共通コンテンツ・部品
---------------------------------------------------------------------------*/
/*Background Color
--------------------------------------*/
.bgColor1 {
background-color: #f5fbfe;
}

/*ボタン設定
--------------------------------------*/
button, input[type="submit"], input[type="button"] {
-webkit-appearance: none;
border-radius: 0;
}

button {
border: none;
cursor: pointer;
outline: none;
}

/*テーブル設定
--------------------------------------*/

/*カラム設定
---------------------------------------------------------------------------*/
.flexCols {
display: -webkit-flex;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap : wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}

.flex_AlignC {
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}

.flex_AlignEnd {
-webkit-box-align: end;
-ms-flex-align: end;
align-items: flex-end;
}

.flex_CC {
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}

.flex_Sbet {
-webkit-box-pack: justify;
-ms-flex-pack: justify;
-webkit-justify-content: space-between;
justify-content: space-between
}

.flex_SbetC {
-webkit-box-pack: justify;
-ms-flex-pack: justify;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}

/*Layout
---------------------------------------------------------------------------*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {

main {
display: block;
}
}

.innerWrap {
max-width: 1000px;
width: 100%;
margin: 0 auto;
}

/*Header
---------------------------------------------------------------------------*/
header {
border-top: 6px solid #57aee3;
}

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

header {
padding: 0 1%;
}
}

header .logo {
margin: 22px 0 25px;
width: 36%;
}

header .btnWrap {
letter-spacing: -.4em;
width: 59%;
}

header .btnWrap a {
display: inline-block;
vertical-align: top;
}

header .btnWrap a:first-of-type {
width: 49%;
}

header .btnWrap a:last-of-type {
width: 50%;
margin-left: 1%;
}

.sp_btn_menu {
display: none;
}

/*gNavi
---------------------------------------------------------------------------*/
nav.gNavi {
padding: 40px 0;
text-align: center;
}

nav.gNavi .boxImg {
width: 50px;
height: 50px;
margin: 0 auto;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-flex;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}

nav.gNavi ul {
padding: 0 1%;
}

/*spBtnContact
---------------------------------------------------------------------------*/
.spBtnContact {
display: none;
}

/*FOOTER
---------------------------------------------------------------------------*/
footer {
background-color: #e8f4f9;
padding: 55px 0 45px;
text-align: center;
}

footer {
background-color: #e8f4f9;
padding: 55px 0 45px;
text-align: center;
}

.copyRight {
font-size: 14px;
}

.copyRight span {
display: inline-block;
}

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

footer {
padding: 55px 1% 45px;
}
}

footer nav {
border-bottom: dotted 1px;
padding: 30px 0 25px;
margin-bottom: 15px;
}

footer nav ul li {
font-size: 15px;
}

footer .copyRight {
font-size: 11px;
}

/*ect
---------------------------------------------------------------------------*/
.floatL {
float: left;
}

.floatR {
float: right;
}

.alignL {
text-align: left;
}

.alignR {
text-align: right;
}

.alignCR {
text-align: center;
}

.pcNone {
display: none;
}

.spNone {
display: block;
}

.fw700 {
font-weight: 700;
}

.textNone {
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
line-height: 0;
}

/*blog
---------------------------------------------------------------------------*/
section h3.style {
border-bottom: 1px dotted #4AA9E0;
padding-bottom: 10px;
margin-bottom: 30px;
background-color: none;
font-size: 120%;
font-weight: bold;
}

section div.blog-content {
font-size: 86%;
line-height: 1.5em;
float: left;
display: inline-block;
padding-bottom: 10px;
width: 100%;
}

section div#mainArea {
width: 70%;
float: left;
}

section div.side_blog {
width: 25%;
float: right;
margin-top: 30px;
}

.secTop.secGreetingTop.secInfoTop.secTop2.blog {
display: flow-root;
}

div#mainArea p.more {
padding-top: 20px;
clear: both;
display: block;
text-align: right;
font-size: 86%;
}

div#mainArea p.more a {
text-decoration: underline;
color: black;
}

div#mainArea div.post {
margin-top: 26px;
margin-bottom: 20px;
clear: both;
width: 100%;
}

div.side_blog h2,
.asideBlock h2 {
border-bottom: 4px solid #4AA9E0;
padding-bottom: 10px;
margin-bottom: 20px;
text-align: left;
font-size: 90%;
font-weight: normal;
}

section div.side_blog {
width: 25%;
float: right;
margin-top: 30px;
}

.side_blog li,
.asideBlock li {
list-style-type: disc;
padding-bottom: 10px;
font-size: 84%;
}

.side_blog ul,
.asideBlock ul {
margin-left: 20px;
}

.side_blog ul li:nth-child(2) {
display: none;
}

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

section div.side_blog {
width: 100%;
}

section div#mainArea {
width: 100%;
}

.secTop.secGreetingTop.secInfoTop.secTop2.blog {
overflow: auto;
height: 100%;
padding-bottom: 15%;
display: block;
margin-bottom: 100px;
}
}

.post ul li {
	margin-bottom: 45px;
}

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

.post-container {
	display: flex;
}

.post-container-image {
	width: 35%;
}

.post-container-content {
	padding-left: 15px;
	width: 65%;
}

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

	.post ul li {
		margin-bottom: 35px;
	}

	.post-container {
		display: block;
	}

	.post-container-image {
		margin-bottom: 1em;
		width: 100%;
	}

	.post-container-content {
		padding-left: 0;
		width: 100%;
	}
}

.obfit-info {
	-o-object-fit: cover;
	   object-fit: cover;
	font-family: 'object-fit: cover;';
	width: 100%;
	height: 180px ;
}

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

	.obfit-info {
		height: 230px ;
	}
}

.columnContainer {
	display: flex;
	justify-content: space-between;
}

.columnContainer .mainArea {
	width: calc(100% - 300px);
}

.columnContainer .aside {
	width: 250px;
}

.asideBlock {
	margin-top: 30px;
}

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

	.columnContainer {
		display: block;
		justify-content: space-between;
	}

	.columnContainer .aside {
		width: 100%;
	}
}
