@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url(https://fonts.googleapis.com/css?family=Monda);
@import url(https://fonts.googleapis.com/css?family=Lato:900&display=swap);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP:600&display=swap);
@import url(https://fonts.googleapis.com/css?family=Roboto:700&display=swap);
@import url(https://use.fontawesome.com/releases/v5.15.4/css/all.css);


/*=== 9-1-2 丸が動いてスクロールを促す ====*/

/*スクロールダウン全体の場所*/
.scrolldown2{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	bottom:10px;
	left:50%;
}

/*Scrollテキストの描写*/
.scrolldown2 span{
    /*描画位置*/
	position: absolute;
	left:10px;
	bottom:10px;
    /*テキストの形状*/
	color: #eee;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 丸の描写 */
.scrolldown2:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom:0;
    left:-4px;
    /*丸の形状*/
	width:10px;
	height:10px;
	border-radius: 50%;
	background:#eee;
    /*丸の動き1.6秒かけて透過し、永遠にループ*/
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{bottom:45px;}
     100%{bottom:-5px;}
 }

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
 }

/* 線の描写 */
.scrolldown2:after{
	content:"";
    /*描画位置*/
	position: absolute;
	bottom:0;
	left:0;
    /*線の形状*/
	width:2px;
	height: 50px;
	background:#eee;
}
/*=== 9-1-2 丸が動いてスクロールを促す ====*/



/*========= 1文字ずつ出現させるためのCSS ===============*/

.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}




/*　画像の拡大　*/

.zoomIn img{
	transform: scale(1);
	transition: .3s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}

.zoomIn a:hover img{/*hoverした時の変化*/
	transform: scale(1.2);/*拡大の値を変更したい場合はこの数値を変更*/
}

/*　画像のマスク　*/

.mask{
    display: block;
    line-height: 0;/*行の高さを0にする*/
    overflow: hidden;/*拡大してはみ出る要素を隠す*/
}

/*　画像の拡大　*/


/*========= 1文字ずつ出現させるためのCSS ===============*/
.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
  0% {opacity:0;}
  100% {opacity:1;}
}



/*きらっと光る*/

.btnshine{
    /*キラッと光る基点とするためrelativeを指定*/
	position: relative;
    /*ボタンの形状*/	
	display:inline-block;
    background: #191970;     /*#333*/	
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
	font-size:1.2rem;
    outline: none;
    overflow: hidden;
}

/*キラッと光る*/
.btnshine::before {
	content: '';
    /*絶対配置でキラッと光るの位置を決める*/
	position: absolute;
	top: 0;
	left: -75%;
    /*キラッと光る形状*/
    width: 50%;
	height: 100%;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	transform: skewX(-25deg);
}

/*hoverした際の移動のアニメーション*/
.btnshine:hover::before {
	animation: shine 0.7s;
}

@keyframes shine {
	100% {
		left: 125%;
	}
}



/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
section {
  padding: 60px 0;
  overflow: hidden;
}

.section-bg {
  background-color: #f6f9fe;
}

.section-title {
  text-align: center;
  padding-bottom: 30px;
}
.section-title h2 {
  font-size: 13px;
  letter-spacing: 1px;
  font-weight: 700;
  padding: 8px 20px;
  margin: 0;
  background: #e7f1fd;
  color: #106eea;
  display: inline-block;
  text-transform: uppercase;
  border-radius: 50px;
	font-family: "Noto Sans JP", sans-serif;
}
.section-title h3 {
  margin: 15px 0 0 0;
  font-size: 32px;
  font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
}
.section-title h3 span {
  color: #106eea;
	font-family: "Noto Sans JP", sans-serif;
}
.section-title p {
  margin: 15px auto 0 auto;
  font-weight: 600;
}
@media (min-width: 1024px) {
  .section-title p {
    width: 50%;
  }
}

/*--------------------------------------------------------------
# Team
--------------------------------------------------------------*/
.team {
  padding: 60px 0;
}
.team .member {
  margin-bottom: 20px;
  overflow: hidden;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0px 2px 15px rgba(16, 110, 234, 0.15);
}
.team .member .member-img {
  position: relative;
  overflow: hidden;
}
.team .member .social {
  position: absolute;
  left: 0;
  bottom: 30px;
  right: 0;
  opacity: 0;
  transition: ease-in-out 0.3s;
  text-align: center;
}
.team .member .social a {
  transition: color 0.3s;
  color: #222222;
  margin: 0 3px;
  padding-top: 7px;
  border-radius: 4px;
  width: 36px;
  height: 36px;
  background: rgba(16, 110, 234, 0.8);
  display: inline-block;
  transition: ease-in-out 0.3s;
  color: #fff;
}
.team .member .social a:hover {
  background: #3b8af2;
}
.team .member .social i {
  font-size: 18px;
}
.team .member .member-info {
  padding: 25px 15px;
}
.team .member .member-info h4 {
  font-weight: 700;
  margin-bottom: 5px;
  font-size: 16px;
  color: #222222;
}
.team .member .member-info span {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: #aaaaaa;
}
.team .member .member-info p {
  font-style: italic;
  font-size: 14px;
  line-height: 26px;
  color: #777777;
}
.team .member:hover .social {
  opacity: 1;
  bottom: 15px;
}

/*--------------------------------------------------------------
# About
--------------------------------------------------------------*/
.about .content h3 {
  font-weight: 600;
  font-size: 26px;
	font-family: "Noto Sans JP", sans-serif;
}
.about .content ul {
  list-style: none;
  padding: 0;
}
.about .content ul li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 35px;
}
.about .content ul li:first-child {
  margin-top: 35px;
}
.about .content ul i {
  background: #fff;
  box-shadow: 0px 6px 15px rgba(16, 110, 234, 0.12);
  font-size: 24px;
  padding: 20px;
  margin-right: 15px;
  color: #106eea;
  border-radius: 50px;
}
.about .content ul h5 {
  font-size: 18px;
  color: #555555;
	font-family: "Noto Sans JP", sans-serif;
}
.about .content ul p {
  font-size: 15px;
}
.about .content p:last-child {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# Services
--------------------------------------------------------------*/
.services .icon-box {
  text-align: center;
  border: 1px solid #e2eefd;
  padding: 80px 20px;
  transition: all ease-in-out 0.3s;
  background: #fff;
}
.services .icon-box .icon {
  margin: 0 auto;
  width: 64px;
  height: 64px;
  background: #f1f6fe;
  border-radius: 4px;
  border: 1px solid #deebfd;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  transition: ease-in-out 0.3s;
}
.services .icon-box .icon i {
  color: #3b8af2;
  font-size: 28px;
  transition: ease-in-out 0.3s;
}
.services .icon-box h4 {
  font-weight: 700;
  margin-bottom: 15px;
  font-size: 24px;
}
.services .icon-box h4 a {
  color: #222222;
  transition: ease-in-out 0.3s;
}
.services .icon-box p {
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 0;
}
.services .icon-box:hover {
  border-color: #fff;
  box-shadow: 0px 0 25px 0 rgba(16, 110, 234, 0.1);
}
.services .icon-box:hover h4 a, .services .icon-box:hover .icon i {
  color: #106eea;
}
.services .icon-box:hover .icon {
  border-color: #106eea;
}






/* 拡大スライド */
.Opening {
position:relative;
background-color: #FFF;
margin: 0;
}
.Opening ul {
  margin: 0;
}
.Opening ul li{
  position: relative;
  overflow: hidden;
  width: 100%;
  text-align: center;
}
.Opening ul li .Opening__text{
  color: #FFFFFF;
  text-shadow:1px 2px 3px #808080;
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform:translate(-50%, -50%);
  z-index: 9;
}
.Opening ul li img.Opening__text{
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform:translate(-50%, -50%);
  z-index: 9;
}
.Opening ul li span {
}
.Opening ul li span img.Opening__img{
  max-width: inherit;
  width: 100%;
  height: auto;
}
/* 拡大スライド */

.item img {
width:100%;}

.fluid2 {
padding:0;
margin: 0;
overflow: hidden;
}

/* GoogleMap埋め込みレスポンシブ対応 */
.gmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
  
.gmap iframe,
.gmap object,
.gmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
/* GoogleMap埋め込みレスポンシブ対応 */

.mincho { font-family: "Noto Serif JP"; }

a:link  {
-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}

.text-green {
color: #71b267;
}

.text-blue {
color: #4169e1;
}


footer {
    background-color:#CCE5FF; /* #6fa74e */
    color: #4169e1;
}


.footer-copyright {
	color: #fff;
    background-color:#4169e1;
}

/* 縦書き */
.vertical {
    writing-mode: vertical-lr;
　-webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
transform:translate(-20%, -30%);
    }
/* 縦書き */

/* コンテンツをスライド */
#slideR {
	z-index: 99;
	cursor: pointer;
	position: fixed;
	top: 40%;
	right: -240px;
	background-color: rgba(100, 149, 237,0.8); /* 106,152,79 */
	width: 280px;
    height:auto;
	color: #fff;
	font-size: 14px;
	font-family: "Noto Sans JP", sans-serif;
}
#slideR a {
	color: #fff;
	display: block;
	padding: 5px 10px;
	font-family: "Noto Sans JP", sans-serif;
}
#slideR ul {
	position: relative;
	padding: 10px 10px 10px 40px;
    text-align: center;
	font-family: "Noto Sans JP", sans-serif;
}

#slideR ul li {
    list-style-type: none;
}   

#slideR .nav-icon {
	position: absolute;
	left: 10px;
	top: 40%;
	font-size: 20px;
    text-align: center;
	font-family: "Noto Sans JP", sans-serif;
}
/* コンテンツをスライド */

/* アンダーライン赤色 */
.under-red {
  background: linear-gradient(transparent 60%, #fef1f4 60%);
}

/* アンダーライン緑色 */
.under-green {
  background: linear-gradient(transparent 60%, #f3fdea 60%);
}

/* アンダーライン黄色 */
.under-yellow {
  background: linear-gradient(transparent 60%, #fdffe9 60%);
}

.ccf {
	font-size: 2.5rem;
	line-height: 180%;
	font-weight: 500;
	margin-top: 0;
	margin-bottom: 0.5rem;
	font-family: "Noto Sans JP", sans-serif;
}

h1 {
	line-height: 180%;
	font-family: "Noto Sans JP", sans-serif;
}

h2 {
	line-height: 180%;
	font-family: "Noto Sans JP", sans-serif;
}

h3 {
	line-height: 180%;
	font-family: "Noto Sans JP", sans-serif;
}

.h3 {
	line-height: 180%;
    margin-bottom: 20px;
	font-family: "Noto Sans JP", sans-serif;
}

h4 {
	line-height: 180%;
	font-family: "Noto Sans JP", sans-serif;
}

.h4 {
	line-height: 180%;
	font-family: "Noto Sans JP", sans-serif;
}


h5 {
	line-height: 180%;
	font-family: "Noto Sans JP", sans-serif;
}

.h5 {
	line-height: 180%;
	font-family: "Noto Sans JP", sans-serif;
}
.small {
	line-height: 100%;
    font-size:95%;
}

.x-small {
	line-height: 100%;
    font-size:50%;
}

.sp {
    display: none;
}

.splh {
    line-height: 100%;
}

.medium {
	line-height: 180%;
    font-size:180%;
    font-weight:bold;
}

.pc {
    display: block;
	font-family: "Noto Sans JP", sans-serif;
}


.tel {
    font-family: 'Roboto','Lato','Monda', "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo;
    line-height: 100%;
}

.f-rb {
    font-family: 'Roboto','Lato','Monda', "Noto Sans JP", sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo;
}


/*--------------------------------------------------------------
# 追加
--------------------------------------------------------------*/
.boder-left {
  padding: 1rem 2rem;
  border-left: 5px solid #005AA0;
  background: #dbedff;
}

.border-bg {
  padding: 1rem 2rem;
  border-left: 5px solid #005AA0;
  background: #dbedff;
}

.border-bottom {
  padding: 1rem 2rem;
  border-bottom: 3px solid #000;
  background: #DBEDFF;
}

.border-bottom1 {
  padding: 1rem 2rem;
  border-bottom: 6px double #005AA0;
  background: #DBEDFF;
}

.border-top1 {
  padding: 1rem 2rem;
  border-top: 6px solid #005AA0;
  background: #DBEDFF;
}

.bg {
  padding: 1rem 2rem;
  background: #dbedff;
}

.bg1 {
  padding: 1rem 2rem;
  background: #f5f5f5;
}


/*== ボタン共通設定 */
.btn{
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
	overflow: hidden;
    /*ボタンの形状*/
	text-decoration: none;
	display: inline-block;
   	border: 1px solid #555;/* ボーダーの色と太さ */
    padding: 10px 30px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/   
    transition: ease .2s;
}

/*ボタン内spanの形状*/
.btn span {
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	color:#191970;
}

.btn:hover span{
	color:#fff;
}

/*== 背景が流れる（中央から横全体） */
.bgcenterx:before {
	content: '';
    /*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
    /*色や形状*/
	background: #191970;
	width: 100%;
	height: 100%;
    /*アニメーション*/
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: top;
}

/*hoverした際の形状*/
.bgcenterx:hover:before{
	transform:scale(1, 1);
}


/* バーガーメニューアニメーション */
.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border: none;
  padding: 0px;
  width: 30px;
  height: 30px;
  box-sizing: border-box;
  position: relative;
}
.navbar-light .navbar-toggler-icon {
  background-image:none; /* この行で背景画像を無効化 */
  background-color: #333;
  width: 30px;
  height: 2px;
  display: block;
  position: absolute;
  transition: ease .5s;
}

/* 3本のバーそれぞれの座標を設定 */
.navbar-toggler-icon:nth-of-type(1) {top:7px;}
.navbar-toggler-icon:nth-of-type(2) {top:14px;}
.navbar-toggler-icon:nth-of-type(3) {top:21px;}

/* メニューが開いている時の　3本のバーそれぞれの座標および角度を設定 */
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(1) {
top:13px;
transform: rotate(45deg);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(2) {
opacity: 0;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(3) {
top:13px;
transform: rotate(-45deg);
}


/* ハンバーガーメニューの枠線を消すCSS */
.navbar-light .navbar-toggler {
    border-color: rgba(0,0,0,0);
}

/* 文字をフワッと表示のCSS */
.fadein {
    animation-name: fadein;
    animation-duration: 2s;
    animation-iteration-count: 1;
    animation-direction: normal;
}
@keyframes fadein {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}


/* cover背景画像のCSS */
.cover-img {
	height: 300px;
	display: table;
	width: 100%;
	background-size: cover;
}

.cover-text {
	display: table-cell;
	vertical-align: middle;
  text-align: center;
}

body {
	line-height: 200%;
	font-family: 'Monda', "Noto Sans JP", sans-serif, "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo;
	font-size:16px;
	animation: fadeIn 2s ease 0s 1 normal; /* ここから下の行は読み込み時にフェードイン */
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}


.contents { /* 背景を全体的に斜めにして右傾斜 */
	position: relative;
	overflow: hidden;
	margin-top: 2%;
	margin-right: 0;
	margin-bottom: 2%;
	margin-left: 0;
	padding-top: 80px;
	padding-right: 0;
	padding-bottom: 80px;
	padding-left: 0;
}
.contents:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 130%;
	height: 70%;
	-webkit-transform-origin: left center;
	-ms-transform-origin: left center;
	transform-origin: left center;
	-webkit-transform: rotate(3deg);
	-ms-transform: rotate(3deg);
	transform: rotate(3deg);
	z-index: -1;
	margin-top: 3%;
	margin-right: -15%;
	margin-bottom: 0;
	margin-left: -15%;
	background-color: #6699CC;
}
.contents_inner {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	max-width: 1000px;
	height: 100%;
	margin: 0 auto;
	padding: 100px 20px 120px;
	color: #fff;
	text-align: center;
}
.contents_inner h1 {
	margin-bottom: 20px;
	font-size: 2em;
	font-family: "Noto Sans JP", sans-serif;
}


.contents2 { /* 背景を全体的に斜めにして左傾斜 */
	position: relative;
	overflow: hidden;
	margin-top: 2%;
	margin-right: 0;
	margin-bottom: 2%;
	margin-left: 0;
	padding-top: 80px;
	padding-right: 0;
	padding-bottom: 80px;
	padding-left: 0;
}
.contents2:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 130%;
	height: 70%;
	background: #011931;
	-webkit-transform-origin: right center;
	-ms-transform-origin: right center;
	transform-origin: right center;
	-webkit-transform: rotate(-3deg);
	-ms-transform: rotate(-3deg);
	transform: rotate(-3deg);
	z-index: -1;
	margin-top: 3%;
	margin-right: -15%;
	margin-bottom: 0;
	margin-left: -15%;
}
.contents2_inner {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	max-width: 1000px;
	height: 100%;
	margin: 0 auto;
	padding: 100px 20px 120px;
	color: #fff;
	text-align: center;
}
.contents2_inner h1 {
	margin-bottom: 20px;
	font-size: 2em;
	font-family: "Noto Sans JP", sans-serif;
}


#scrollUp { /* スクロールアップ */
	bottom: 10px;
	right: 10px;
	background-image: url("../image/up.png");
    background-size:45px 45px;
	width: 45px;
	height: 45px;
}
#scrollUp:hover {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0.7;
}

.nav-item{ /* 各ナビ間隔の余白調整のCSS */
	padding-left: 10px;
}

.navbar-text{ /* 各ナビテキスト間隔の余白調整のCSS */
	padding-left: 10px;
}


/* ------------- スクロールフェードインDown用 ------------- */
.fadeInDown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(20px); -ms-transform: translateY(20px); transform: translateY(20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}
/* ------------- スクロールフェードインDown用 END ------------- */
   
    
/* ------------- クロールすると下からスふわっとコンテンツがフェードイン ------------- */
 .fadeInUp {
  opacity : 0;
  transform: translateY(20px);
  transition: 1s;
}   
/* ------------- クロールすると下からスふわっとコンテンツがフェードイン ------------- */



/* ワイドスクリーン用のCSS */
@media only screen and (min-width: 1500px) {
	.cover-img {
		height: 400px;
	}
	

.navbar{ /* ナビバー背景を不透過のCSS */
    border-radius: 0;
    border: none;
    background-color: rgba(255,255,255,0.8);
}
    
    


footer{ /* フッターの上下余白調整のCSS */
	padding-top: 30px;
	padding-bottom: 30px;
	padding-left: 10px;
	padding-right: 10px;
}



.button3 {
  display: inline-block;
  width: 200px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
	border-radius: 30px;
}
.button3::before,
.button3::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button3,
.button3::before,
.button3::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button3 {
  background-color: #685d5b;
  border: 2px solid #685d5b;
  color: #fff;
  line-height: 50px;
}
.button3:hover {
  background-color: #c4bbac;
  border-color: #c4bbac;
  color: #fff;
  text-decoration: none;
  text-shadow: none;
}

	

.breadcrumb{ /* パンくずリスト背景色のCSS */
  background-color: white;
}



a.thumnail { /* マウスオーバーで画像がにゅるっと拡大 */
    display: block;
    overflow: hidden;
    width: 100%;
}
 
.thumnail img {
    height: auto;
    -webkit-transition:all 0.25s ease-in-out;
    transition:all 0.25s ease-in-out;
    width: 100%;
    vertical-align: bottom;
}
 
figure {
    margin: 0;
    overflow: hidden;
    position: relative;
    text-align: center;
}
 
figcaption {
    background-color: rgba(0,0,0,0.6);
    color: #FFF;
    opacity: 0;
    font-size: 16px;
    font-size: 1.6rem;
    position: absolute;
    text-align: center;
    -webkit-transition:all 0.25s ease-in-out;
        transition:all 0.25s ease-in-out;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    padding-top: 25%;
}
 
a:hover>figure img {
        transform: scale(1.15,1.15);
        -webkit-transform:scale(1.15,1.15);
        -moz-transform:scale(1.15,1.15);
        -ms-transform:scale(1.15,1.15);
        -o-transform:scale(1.15,1.15);
}
 
a:hover>figure figcaption {
    opacity: 1;
}

.nav-item{ /* 各ナビ間隔の余白調整のCSS */
	padding-left: 10px;
}


}

/* タブレット用のCSS */
@media only screen and (min-width : 768px) and (max-width : 1499px) {　/*変更前 max-width: 1200px */
	.cover-img {
		height: 200px;
	}
	

.navbar{ /* ナビバー背景を不透過のCSS */
    border-radius: 0;
    border: none;
    background-color: rgba(255,255,255,0.8);
}

footer{ /* フッターの上下余白調整のCSS */
	padding-top: 30px;
	padding-bottom: 30px;
	padding-left: 10px;
	padding-right: 10px;
}

.button { /* 中央から左右に開くボタンのCSS */
  display: inline-block;
  width: 400px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
  position: relative;
  z-index: 2;
  background-color: #191970;
  border: 2px solid #191970;
  color: #fff;
  line-height: 50px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 20px;
}
.button:hover {
  background-color: #fff;
  border-color: #191970;
  color: #191970;
  text-decoration: none;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
  top: 0;
  width: 50%;
  height: 100%;
  background-color: #191970s;
}

.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
  
}
.button::before {
  right: 0;
}
.button::after {
  left: 0;
}
.button:hover::before,
.button:hover::after {
  width: 0;
  background-color: #191970;
}


.button2 { /* 奥から背景をふわっと表示させる */
  display: inline-block;
  width: 200px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
  text-shadow: none;
}
.button2::before,
.button2::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button2,
.button2::before,
.button2::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.button2 {
  position: relative;
  z-index: 2;
  background-color: #fff;
  border: 2px solid #191970;
  color: #191970;
  line-height: 50px;
  overflow: hidden;
  background-color: rgba(255, 255, 255, .2);
}
.button2:hover {
  color: #fff;
  text-decoration: none;
}
.button2::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(.5);
  transform: scale(.5);
}
.button2:hover::after {
  background: #71b267;
  -webkit-transform: scale(1);
  transform: scale(1);
}


.breadcrumb{ /* パンくずリスト背景色のCSS */
  background-color: white;
}


a.thumnail { /* マウスオーバーで画像がにゅるっと拡大 */
    display: block;
    overflow: hidden;
    width: 100%;
}
 
.thumnail img {
    height: auto;
    -webkit-transition:all 0.25s ease-in-out;
    transition:all 0.25s ease-in-out;
    width: 100%;
    vertical-align: bottom;
}
 
figure {
    margin: 0;
    overflow: hidden;
    position: relative;
    text-align: center;
}
 
figcaption {
    background-color: rgba(0,0,0,0.6);
    color: #FFF;
    opacity: 0;
    font-size: 16px;
    font-size: 1.6rem;
    position: absolute;
    text-align: center;
    -webkit-transition:all 0.25s ease-in-out;
        transition:all 0.25s ease-in-out;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    padding-top: 25%;
}
 
a:hover>figure img {
        transform: scale(1.15,1.15);
        -webkit-transform:scale(1.15,1.15);
        -moz-transform:scale(1.15,1.15);
        -ms-transform:scale(1.15,1.15);
        -o-transform:scale(1.15,1.15);
}
 
a:hover>figure figcaption {
    opacity: 1;
}

.tb {
    display: none;
}
    
.tb-font {
	line-height: 100%;
    font-size:80%;
}

}

/* スマホ用のCSS */
@media only screen and (max-width: 767px) {　/*変更前 max-width: 479px */	
	.cover-img {
		height: 140px;
	}

    
.navbar{ /* ナビバー背景を不透過のCSS */
    border-radius: 0;
    border: none;
    background-color: rgba(255,255,255,0.95);
}

footer{ /* フッターの上下余白調整のCSS */
	padding-top: 30px;
	padding-bottom: 30px;
	padding-left: 10px;
	padding-right: 10px;
}

.button { /* 中央から左右に開くボタンのCSS */
  display: inline-block;
  width: 100%;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
  position: relative;
  z-index: 2;
  background-color: #191970;
  border: 2px solid #191970;
  color: #fff;
  line-height: 50px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 20px;
}
.button:hover {
  background-color: #fff;
  border-color: #191970;
  color: #191970;
  text-decoration: none;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
  top: 0;
  width: 50%;
  height: 100%;
  background-color: #191970;
}

.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
  
}
.button::before {
  right: 0;
}
.button::after {
  left: 0;
}
.button:hover::before,
.button:hover::after {
  width: 0;
  background-color: #191970;
}


.button2 { /* 奥から背景をふわっと表示させる */
  display: inline-block;
  width: 200px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
  text-shadow: none;
}
.button2::before,
.button2::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button2,
.button2::before,
.button2::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.button2 {
  position: relative;
  z-index: 2;
  background-color: #fff;
  border: 2px solid #191970;
  color: #191970;
  line-height: 50px;
  overflow: hidden;
  background-color: rgba(255, 255, 255, .2);
}
.button2:hover {
  color: #fff;
  text-decoration: none;
}
.button2::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(.5);
  transform: scale(.5);
}
.button2:hover::after {
  background: #191970;
  -webkit-transform: scale(1);
  transform: scale(1);
}


/*きらっと光る*/

.btnshine{
    /*キラッと光る基点とするためrelativeを指定*/
	position: relative;
    /*ボタンの形状*/	
	display:inline-block;
    background: #191970;     /*#333*/	
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
	font-size:1.0rem;
    outline: none;
    overflow: hidden;
}

/*キラッと光る*/
.btnshine::before {
	content: '';
    /*絶対配置でキラッと光るの位置を決める*/
	position: absolute;
	top: 0;
	left: -75%;
    /*キラッと光る形状*/
    width: 50%;
	height: 100%;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	transform: skewX(-25deg);
}

/*hoverした際の移動のアニメーション*/
.btnshine:hover::before {
	animation: shine 0.7s;
}

@keyframes shine {
	100% {
		left: 125%;
	}
}
	
	
	
	
	
	
	
	
.breadcrumb{ /* パンくずリスト背景色のCSS */
  background-color: white;
}


a.thumnail { /* マウスオーバーで画像がにゅるっと拡大 */
    display: block;
    overflow: hidden;
    width: 100%;
}
 
.thumnail img {
    height: auto;
    -webkit-transition:all 0.25s ease-in-out;
    transition:all 0.25s ease-in-out;
    width: 100%;
    vertical-align: bottom;
}
 
figure {
    margin: 0;
    overflow: hidden;
    position: relative;
    text-align: center;
}
 
figcaption {
    background-color: rgba(0,0,0,0.6);
    color: #FFF;
    opacity: 0;
    font-size: 16px;
    font-size: 1.6rem;
    position: absolute;
    text-align: center;
    -webkit-transition:all 0.25s ease-in-out;
        transition:all 0.25s ease-in-out;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    padding-top: 25%;
}
 
a:hover>figure img {
        transform: scale(1.15,1.15);
        -webkit-transform:scale(1.15,1.15);
        -moz-transform:scale(1.15,1.15);
        -ms-transform:scale(1.15,1.15);
        -o-transform:scale(1.15,1.15);
}
 
a:hover>figure figcaption {
    opacity: 1;
}


/* カルーセル高さの確保 */
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  min-height: auto; /* ピクセルにすると最低高さが確保される */

} 
    
    
    #scrollUp { /* スクロールアップ */
	bottom: 90px;
	right: 10px;
	background-image: url("../image/up.png");
	width: 45px;
	height: 45px;
}
#scrollUp:hover {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0.7;
}

.sp {
    display: block;
	font-family: "Noto Sans JP", sans-serif;
}

.sp-font {
	line-height: 180%;
    font-size:80%;
}

    .pc {
    display: none;
}
    

/* 印刷用のCSS */
@media print {
		.cover-img {
		height: 400px;
	}
	

.navbar{ /* ナビバー背景を不透過のCSS */
    border-radius: 0;
    border: none;
    background-color: rgba(255,255,255,0.8);
}


footer{ /* フッターの上下余白調整のCSS */
	padding-top: 30px;
	padding-bottom: 30px;
	padding-left: 10px;
	padding-right: 10px;
}





.breadcrumb{ /* パンくずリスト背景色のCSS */
  background-color: white;
	font-family: "Noto Sans JP", sans-serif;
}



a.thumnail { /* マウスオーバーで画像がにゅるっと拡大 */
    display: block;
    overflow: hidden;
    width: 100%;
}
 
.thumnail img {
    height: auto;
    -webkit-transition:all 0.25s ease-in-out;
    transition:all 0.25s ease-in-out;
    width: 100%;
    vertical-align: bottom;
}
 
figure {
    margin: 0;
    overflow: hidden;
    position: relative;
    text-align: center;
}
 
figcaption {
    background-color: rgba(0,0,0,0.6);
    color: #FFF;
    opacity: 0;
    font-size: 16px;
    font-size: 1.6rem;
    position: absolute;
    text-align: center;
    -webkit-transition:all 0.25s ease-in-out;
        transition:all 0.25s ease-in-out;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    padding-top: 25%;
}
 
a:hover>figure img {
        transform: scale(1.15,1.15);
        -webkit-transform:scale(1.15,1.15);
        -moz-transform:scale(1.15,1.15);
        -ms-transform:scale(1.15,1.15);
        -o-transform:scale(1.15,1.15);
}
 
a:hover>figure figcaption {
    opacity: 1;
}
    

}