@charset "UTF-8";

/* 共通部分
------------------------------- */
html {
    font-size: 100%;
}
body{
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
    line-height: 1.7;
    color: #432;
	
}
a {
    text-decoration: none;
}
img {
    max-width: 100%;
}
.wrapper {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 4%;
}


/* wrap */




/* text */

.text-box {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
h1 {
  font-family: Roboto;
  font-size: 60px;
  font-weight: bold;
  line-height: 1.2;
  padding: 0 50px;
  text-align: center;
  color: #fff;
}


/* 見出し */
.page-title {
    font-size: 5rem;
    font-family: 'Philosopher', serif;
    text-transform: uppercase;
    font-weight: normal;
}
.sub-title {
    font-size: 1.375rem;
    padding: 0 8px 8px;
    border-bottom: 2px #0bd solid;
    font-weight: normal;
}

/* ボタン */
.button {
    font-size: 1.375rem;
    background: #0c4da2;
    color: #fff;
    border-radius: 5px;
    padding: 18px 32px;
}
.button:hover {
    background: #0090aa;
}

/* iframe */
iframe {
    width: 100%;
}

/* HEADER
------------------------------- */
.page-header {
    display: flex;
    justify-content: space-between;
}
.logo {
    width: 210px;
    margin-top: 14px;
}
.main-nav {
    display: flex;
    font-size: 1.25rem;
    text-transform: uppercase;
    margin-top: 34px;
    list-style: none;
}
.main-nav li {
    margin-left: 36px;
}
.main-nav a {
    color: #432;
}
.main-nav a:hover {
    color: #0bd;
}

/* HOME
------------------------------- */
/* video */

.hero {
  position: relative;
}

.video-box {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
}
.video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* overlay */

.overlay::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(0,0,255,0);
}
#home {
	background-image: url(images/white.mp4);
	min-height:100vh;    
}
#home .page-title {
    text-transform: none;
}
.home-content {
    text-align: center;
    margin-top: 10%;
}
.home-content p {
    font-size: 1.125rem;
    margin: 10px 0 42px;
}

/* company
------------------------------- */
#news {
    
   
}

.news-contents 

/* 記事部分 */
p {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 60px auto 40px;
}
table {
  margin: 20px auto;
}
.tb_m th {
  background: #4699ca;
  border: solid 1px #4699ca;
  color: #fff;
  padding: 10px;
}
.tb_m td {
　border: solid 1px #4699ca;
  padding: 10px;
}
 
@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #4699ca;
    width: 100%;
  }
  .tb_m {
    width: 80%;
  }
  .tb_m th,
  .tb_m td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
}
 

/*inner共通
---------------------------------------------------------------------------*/
.case1 {
	max-width: 1000px;	/*サイトの最大幅*/
	margin: 0 auto;
	padding: 0 2%;
}
/*コンテンツ
---------------------------------------------------------------------------*/
.contents {
	clear: both;
	overflow: hidden;
	padding: 40px 0;	/*上下、左右に空けるボックス内の余白*/
}
/*コンテンツのh2タグの設定*/
.contents h2 {
	clear: both;
	font-size: 20px;	/*文字サイズ*/
	line-height: 1.4;	/*行間*/
	margin-bottom: 20px;
	padding: 10px 20px;	/*上下、左右への余白*/
	background: linear-gradient(#fff, #eee);	/*グラデーション*/
	border-bottom: 1px solid #dcdcdc;	/*メニュー下の線の幅、線種、色*/
	border-top: 4px solid #4699ca;	/*メニュー下の線の幅、線種、色*/
	box-shadow: 0px 1px 3px rgba(0,0,0,0.15);	/*ボックスの影。右に、下に、広げる幅、0,0,0は黒の事で0.15は透明度15%の事。*/
	text-shadow: 0px 2px #fff;	/*テキストの影。右へ、下へ、色。*/
}
/*コンテンツのh2タグ内のspanタグ設定（色付き文字部分）*/
.contents h2 span {
	display: block;
	color: #3b82c4;		/*文字色*/
	font-size: 12px;	/*文字サイズ*/
	letter-spacing: 0.1em;	/*文字間隔を少し広げる設定*/
	padding-left: 5px;
}
/*コンテンツのh3タグの設定*/
.contents h3 {
	clear: both;
	margin-bottom: 20px;
	padding: 5px 20px;	/*上下、左右への余白*/
	border: 1px solid #dcdcdc;	/*線の幅、線種、色*/
	background: #99cc65;		/*背景色*/
}
/*コンテンツの段落タグ設定*/
.contents p {
	padding: 0px 20px 15px;	/*上、左右、下への余白*/
}
.contents h2 + p,
.contents h3 + p {
	margin-top: -10px;
}

/*Serviceページの各ブロック
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
.list1 {
	position: relative;
	overflow: hidden;
	float: left;		/*左に回り込み*/
	width: 46%;			/*ボックス幅*/
	padding: 1%;		/*ボックス内の余白*/
	border: 1px solid #dcdcdc;	/*枠線の幅、線種、色*/
	margin: 0 0.8% 20px;		/*上、左右、下へのボックスの外に空けるスペース*/
	box-shadow: 0px 10px 40px rgba(0,0,0,0.2);	/*ボックスの影。右に、下に、広げる幅、0,0,0は黒の事で0.2は透明度20%の事。*/
	-webkit-transition: 0.3s;	/*マウスオン時の移り変わるまでの時間設定。0.3秒。*/
	transition: 0.3s;			/*同上*/
}
.list1 a {
	text-decoration: none;
	display: block;
	overflow: hidden;
	padding: 1%;	/*ボックス内の余白*/
	margin: -1%;
}
/*マウスオン時の背景色*/
.list1:hover {
	box-shadow: none !important;	/*ボックスの影をなくす設定*/
}
/*リンクを貼った際に出る「→」マーク*/
.list1 a::before {
	content: "お問い合わせ";	/*出力する文字。変更しても構いませんが機種依存文字は化けるので使わないで下さい。*/
	font-size: 15px;	/*文字サイズ*/
	display: block;
	position: absolute;
	right: 10px;	/*ボックスの右から10pxの場所に配置*/
	bottom: 10px;	/*ボックスの下から10pxの場所に配置*/
	width: 110px;	/*幅*/
	line-height: 50px;	/*高さ*/
	text-align: center;
	background: #ccc;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.2);	/*背景グラデーション。0,0,0は黒の事で、0.3は透明度30%の事。*/
	color: #fff;	/*文字色*/
	border-radius: 10%;	/*角丸のサイズ。50%にすると円になる。*/
}
/*マウスオン時の「→」マーク*/
.list1 a:hover::before {
	background: #7acbe1;	/*背景色*/
}
/*ボックス内右側のテキストパーツ*/
.list1 .text {
	font-size: 13px;	/*文字サイズ*/
	line-height: 1.5;	/*行間*/
	height: 7.5em;		/*高さ*/
	overflow: hidden;	/*高さを超えると非表示になる*/
}
/*ボックス内右側のテキストパーツ（商品ボックス１カラム時）*/
.list1.mma .text {
	height: auto;
	overflow: auto;
}
/*ボックス内のh4タグ設定*/
.list1 h4 {
	font-size: 16px;
	padding: 0px;
	color: #0057ff;	/*文字色*/
}
/*ボックス内のp(段落)タグ設定*/
.list1 p {
	padding: 0px !important;
}
/*ボックス内の画像*/
.list1 .img {
	float: left;	/*左に回り込み*/
	width: 100px;		/*幅*/
	height: 100px;		/*高さ*/
	margin-right: 10px;
}
/*各ボックスの設定（商品ボックス１カラム時）*/
.list1.mma {
	float: none;
	width: auto;
	margin: 0 0 20px;
}
/*ボックス内のh4タグ（商品ボックス１カラム時）*/
.list1.mma h4 {
	margin-bottom: 10px;
}
/*ボックス内の画像（商品ボックス１カラム時）*/
.list1.mma .img {
	width: 20%;		/*幅*/
	height: auto;	/*高さ*/
}
/*mainブロック内のボックス設定*/
.main .list1 {
	box-shadow: 0px 5px 5px rgba(9,9,4,9.1);	/*ボックスの影*/
}

/*subコンテンツ
---------------------------------------------------------------------------*/
/*subブロック*/
.sub {
	float: left;	/*左に回り込み*/
	width: 24%;		/*幅*/
}
/*subコンテンツ内のh2タグ設定*/
.sub h2 {
	margin-bottom: 0;
	box-shadow: none;
	font-size: 16px;	/*文字サイズ*/
	text-align: center;	/*内容をセンタリング*/
	padding: 15px;		/*ボックス内の余白*/
	border: 1px solid #dcdcdc;	/*メニューの線の幅、線種、色*/
}
/*subコンテンツ内の段落タグ設定*/
.sub p {
	margin: 0 !important;
	padding: 10px !important;
}

/*subコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー全体の設定*/
.sub ul.submenu {
	margin-bottom: 15px;	/*メニューブロックの下に空けるスペース*/
	border-top: solid 1px #dcdcdc;	/*上の線の線種、幅、色*/
}
/*メニュー１個ごとの設定*/
.sub ul.submenu li a {
	text-decoration: none;
	display: block;
	padding: 5px 10px;	/*メニュー内の余白。上下、左右への設定。*/
	border-bottom: solid 1px #dcdcdc;	/*下の線の線種、幅、色*/
	border-left: solid 1px #dcdcdc;		/*左の線の線種、幅、色*/
	border-right: solid 1px #dcdcdc;	/*右の線の線種、幅、色*/
}
/*マウスオン時の背景色*/
.sub ul.submenu li a:hover {
	background: #009bc6;	/*背景色*/
	color: #fff;			/*文字色*/
}
/*h2直下にsubmenuが続いた場合のみ、submenuの上の線を消す設定*/
.sub h2 + ul.submenu {
	border-top: none;
}

/*subコンテンツ内のbox1
---------------------------------------------------------------------------*/
.sub .box1 {
	overflow: hidden;
	padding: 10px;			/*ボックス内の余白*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
	border: solid 2px #dcdcdc;	/*線の線種、幅、色*/
	box-shadow: 0px 0px 10px rgba(3,6,9,9.4) inset;	/*ボックスの影。右へ、下へ、広げる幅、0,0,0は黒の事で0.1は透明度10%の事。insetは内側への影、という意味。*/
}
/*h2直下にbox1が続いた場合のみ、box1の上の線を消す設定*/
.sub h2 + .box1 {
	border-top: none;
}
/*box1内のサブメニュー*/
.sub ul.submenu {
	margin-bottom: 0;
}

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	background: #0057ff;	/*背景色*/
	color: #fff;	/*文字色*/
	font-size: 85%;	/*文字サイズ*/
}
footer a {
	color: #fff;
}
footer a:hover {
	color: #fff;
}
footer .pr {
	display: block;
	font-size: 80%;
}


.support {
}


.item {
	background: #0bd;
	color: #fff;
	
	padding:10px;
	}
.container {
	display: grid;
	grid-template-columns: 33.3333% 33.3333% 33.3333%;
	grid-template-rows: 200px 200px 200px;
	gap: 10px;
	
	
}

#menu{
    
}



/* CONTACT
------------------------------- */
#contact {
  
	background: url(../images/contact.png) center center / contain no-repeat;
   min-height:100vh;
}

/* フォーム */
form div {
    margin-bottom: 14px;
}
label {
    font-size: 1.125rem;
    margin-bottom: 10px;
    display: block;
}
input[type="text"],
input[type="email"],
textarea {
    background: rgba(255,255,255,.5);
    border: 1px #fff solid;
    border-radius: 5px;
    padding: 10px;
    font-size: 1rem;
}
input[type="text"],
input[type="email"] {
    width: 100%;
    max-width: 240px;
}
textarea {
    width: 100%;
    max-width: 480px;
    height: 6rem;
}
input[type="submit"] {
    border: none;
    cursor: pointer;
    line-height: 1;
}

/* 店舗情報・地図 */
#location {
    padding: 4% 0;
}
#location .wrapper {
    display: flex;
    justify-content: space-between;
}
.location-info {
    width: 22%;
}
.location-info p {
    padding: 12px 10px;
}
.location-map {
    width: 74%;
}

/* SNS */
#sns {
    background: #FAF7F0;
    padding: 4% 0;
}
#sns .wrapper {
    display: flex;
    justify-content: space-between;
}
#sns .sub-title {
    margin-bottom: 30px;
}
.sns-box {
    width: 30%;
}

/* フッター
------------------------------- */
footer {
    background: #1760a6;
    text-align: center;
    padding: 6px 0;
}
footer p {
    color: #fff;
    font-size: 0.875rem;
}
.copyright{
	margin-top:10px;
	margin-left:10px;
}


/* モバイル版
------------------------------- */
@media (max-width : 1176px ){
    .page-title {
        font-size: 2.5rem;
    }
    .page-header {
        flex-direction: column;
        align-items: center;
    }

    /* HEADER */
    .main-nav {
        font-size: 1rem;
        margin-top: 10px;
    }
    .main-nav li {
        margin: 0 20px;
    }

    /* HOME */
    .home-content {
        margin-top: 20%;
    }

    /* NEWS */
    .news-contents {
        flex-direction: column;
    }
    #news .page-title {
        margin-top: 30px;
    }
    article,
    aside {
        width: 100%;
    }
    aside {
        margin-top: 60px;
    }
    .post-info {
        margin-bottom: 30px;
    }
    .post-date {
        width: 70px;
        height: 70px;
        font-size: 1rem;
    }
    .post-date span {
        font-size: 0.875rem;
        padding-top: 2px;
    }
    .post-title {
        font-size: 1.375rem;
    }
    .post-cat {
        font-size: 0.875rem;
        margin-top: 10px;
    }
    .post-title,
    .post-cat {
        margin-left: 80px;
    }

    /* MENU */
    .menu-content {
        margin-top: 20%;
    }

    /* CONTACT */
    #contact .page-title {
        margin-top: 40px;
    }

    /* フォーム */
    input[type="text"],
    input[type="email"],
    textarea {
        max-width: 100%;
    }

    /* 店舗情報・地図 / SNS */
    #location .wrapper,
    #sns .wrapper {
        flex-direction: column;
    }
    .location-info,
    .location-map,
    .sns-box {
        width: 100%;
    }
    .sns-box {
        margin-bottom: 30px;
    }
	
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */

.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width : 1176px ){
  
    img { max-width: 100%; }
}
    .sp { display: block !important; }

@media screen and (max-width : 1176px ){
.video {
    min-height: 400px;
    background: url(images/white.mp4) 10% 0 no-repeat;
    background-size: contain;
	background-attachment: fixed;
}

.cover-video {
    display: none;
}
}
