@charset "utf-8";
/*
Theme Name: 凪スピリッツ
Author: Mr.Fusion
Description: 【2017/09/28】リリース
Version: 1.0
*/

@charset "utf-8";

/* PCのみ */
@import url(css/foundation_pc.css) screen and (min-width: 768px);

/* SPのみ */
@import url(css/foundation_sp.css) screen and (max-width: 767px);

/* 共通 */
@import url(css/base.css);
@import url(css/project.css);



/* -----------------------------------------------------------
--------------------------------------------------------------

	PC・SP共通

--------------------------------------------------------------
----------------------------------------------------------- */

/* ==========================================================

	定義

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


.clear { clear:both;}


/* フォントサイズ
===========================================================*/
.fs10 { font-size:10px;}
.fs11 { font-size:11px;}
.fs12 { font-size:12px;}
.fs13 { font-size:13px;}
.fs14 { font-size:14px;}
.fs15 { font-size:15px;}
.fs16 { font-size:16px;}
.fs17 { font-size:17px;}
.fs18 { font-size:18px;}
.fs19 { font-size:19px;}
.fs20 { font-size:20px;}
.fs21 { font-size:21px;}
.fs22 { font-size:22px;}
.fs23 { font-size:23px;}
.fs24 { font-size:24px;}
.fs25 { font-size:25px;}
.fs26 { font-size:26px;}
.fs28 { font-size:28px;}
.fs30 { font-size:30px;}


/* フォント太さ
===========================================================*/
.fb { font-weight: bold;}
.fn { font-weight: normal;}

.fst-i { font-style:italic;}


/* フォントfamily
===========================================================*/
.ff_righteous { font-family: 'Source Sans Pro', cursive;}

.f_min {font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/* フォントカラー
===========================================================*/
.fc_red { color:#f00;}
.fc_gold { color:#cc9211;}



/* 背景色
===========================================================*/
.bg_red { background:#800000;}
,bg_dark-red { background:#4f0000;}


/* width
===========================================================*/
/* % */
.w100p { width:100%;}


/* display
===========================================================*/
.dpB { display:block;}
.dpI { display:inline;}
.dpIB { display:inline-block;}

.dpN { display:none;}



/* text-align・float
===========================================================*/
.taL { text-align: left;}
.taC { text-align: center;}
.taR { text-align: right;}

.vaT { vertical-align:top;}
.vaM { vertical-align:middle;}
.vaB { vertical-align:bottom;}
.vaBa { vertical-align:baseline;}

.fR { float: right;}
.fL { float: left;}
.clear { clear: both;}

.tdN { text-decoration:none;}


/* margin
===========================================================*/
.m10 { margin:10px;}

.mt05 { margin-top: 5px;}
.mt08 { margin-top: 8px;}
.mt10 { margin-top: 10px;}
.mt15 { margin-top: 15px;}
.mt20 { margin-top: 20px;}
.mt30 { margin-top: 30px;}
.mt40 { margin-top: 40px;}
.mt50 { margin-top: 50px;}
.mt60 { margin-top: 60px;}
.mt70 { margin-top: 70px;}
.mt80 { margin-top: 80px;}

.mb0  { margin-bottom:0;}
.mb05 { margin-bottom: 5px;}
.mb08 { margin-bottom: 8px;}
.mb10 { margin-bottom: 10px;}
.mb12 { margin-bottom: 12px;}
.mb15 { margin-bottom: 15px;}
.mb20 { margin-bottom: 20px;}
.mb25 { margin-bottom: 25px;}
.mb30 { margin-bottom: 30px;}
.mb35 { margin-bottom: 35px;}
.mb40 { margin-bottom: 40px;}
.mb50 { margin-bottom: 50px;}
.mb90 { margin-bottom: 90px;}

.mr05 { margin-right: 5px;}
.mr10 { margin-right: 10px;}
.mr12 { margin-right: 12px;}
.mr15 { margin-right: 15px;}
.mr20 { margin-right: 20px;}
.mr30 { margin-right: 30px;}
.mr35 { margin-right: 35px;}
.mr40 { margin-right: 40px;}

.ml05 { margin-left: 5px;}
.ml10 { margin-left: 10px;}
.ml15 { margin-left: 15px;}
.ml20 { margin-left: 20px;}
.ml30 { margin-left: 30px;}
.ml35 { margin-left: 35px;}
.ml40 { margin-left: 40px;}
.ml50 { margin-left: 50px;}
.ml60 { margin-left: 60px;}
.ml-10 { margin-left: -10px;}

.mrl05 { margin-right: 5px; margin-left: 5px;}
.mrl10 { margin-right: 10px; margin-left: 10px;}
.mrl20 { margin-right: 20px; margin-left: 20px;}
.mrl30 { margin-right: 30px; margin-left: 30px;}
.mrl40 { margin-right: 40px; margin-left: 40px;}
.mrl55 { margin-right: 55px; margin-left: 55px;}
.mrl-10 { margin-right: -10px; margin-left: -10px;}
.mrl-30 { margin-right: -30px; margin-left: -30px;}



/* padding
===========================================================*/
.pt05 { padding-top: 5px;}
.pt10 { padding-top: 10px;}
.pt15 { padding-top: 15px;}
.pt20 { padding-top: 20px;}
.pt25 { padding-top: 25px;}
.pt30 { padding-top: 30px;}
.pt40 { padding-top: 40px;}
.pt50 { padding-top: 50px;}

.pb0  { padding-bottom:0;}
.pb05 { padding-bottom: 5px;}
.pb08 { padding-bottom: 8px;}
.pb10 { padding-bottom: 10px;}
.pb15 { padding-bottom: 15px;}
.pb20 { padding-bottom: 20px;}
.pb30 { padding-bottom: 30px;}
.pb40 { padding-bottom: 40px;}
.pb50 { padding-bottom: 50px;}

.pr05 { padding-right: 5px;}
.pr10 { padding-right: 10px;}
.pr15 { padding-right: 15px;}
.pr20 { padding-right: 20px;}
.pr30 { padding-right: 30px;}

.pl05 { padding-left: 5px;}
.pl10 { padding-left: 10px;}
.pl15 { padding-left: 15px;}
.pl20 { padding-left: 20px;}
.pl30 { padding-left: 30px;}

.prl10 { padding-right:10px; padding-left:10px;}
.prl20 { padding-right:20px; padding-left:20px;}




/* 画像+テキスト
=========================================== */
.it {}
.it:after {
  content: ""; 
  display: block;
  clear: both;
}
.it:after_pc {
  content: ""; 
  display: block;
  clear: both;
}

.it__t, .it__t_pc { overflow:hidden;}
.it__iL, .it__iL_pc { float:left;}
.it__iR, .it__iR_pc { float:right;}


/* table */
.itT { display:table; width:100%;}
.itT_c { display:table-cell; vertical-align:middle;}









/* ==========================================================

	コンテンツ（汎用）

========================================================== */
/* UAによる表示切り分け
===========================================================*/
/* パソコン表示 */
@media screen and (min-width: 768px) {
.sp_on { display:none;}
.tablet_on { display:none;}
.pc_on { display:block;}
}

/* スマホ表示 */
@media screen and (max-width: 767px) {
.pc_on { display:none;}
.tablet_on { display:none;}
.sp_on { display:block;}
}




/* section
===========================================================*/
/* PC */
@media screen and (min-width: 768px) {
section { margin-bottom:80px;}
}

/* SP */
@media screen and (max-width: 767px) {
section { margin-bottom:40px;}	
}



/* column2（2カラム）
===========================================================*/
/* PC */
@media screen and (min-width: 768px) {
.column2 {
	display:flex;
	flex-wrap:wrap; justify-content:space-between; align-items:stretch;
}

.column2 .__text { flex:1;}
}


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

}




/* column3（3カラム）
===========================================================*/
/* PC */
@media screen and (min-width: 768px) {
.column3 {
	display:flex;
	flex-wrap:wrap; justify-content:space-between; align-items:stretch;
}

}


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

}






/* ==========================================================

	コンテンツ（個別箇所）

========================================================== */
/* YouTubeサイズ調整
===========================================================*/
/* 縦持ち */
@media screen and (max-width: 480px) {
.youtube_size iframe {
	width:100%; height:230px;
}
}

/* 横持ち */
@media screen and (min-width: 481px) and (max-width: 768px) {
.youtube_size iframe {
	width:560px; height:315px;
}	
}


/* メインビジュアル＋タイトル＋紹介文（下層）
===========================================================*/
.mv {
	display:flex;
	flex-direction:column; justify-content:center; align-items:center;
	text-align:center;
	color:#fff;
}
.pageTit {
	text-align: center;
	padding: 3em 0;
}
.page_title {
	font-family: 'Source Sans Pro', cursive;
	    line-height: 1.5;
}
.page_title span {
	display: block;
	 font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	    letter-spacing: normal;
}
.pageMv {
	text-align: center;
}
.pageMv img {
	max-width: 100%;
}

/* PC */
@media screen and (min-width: 768px) {
.mv { width:100%; height:600px;}

.page_title {
	font-size: 55px;
    letter-spacing: .1em;
}
	.page_title span {
		font-size: 17px;
	}
.mv p {
	font-size:20px;
	font-weight:bold;
}

.summary {
	margin-top:20px; margin-bottom:70px;
	font-size:16px;
	text-align:center;
}
}

/* SP */
@media screen and (max-width: 767px) {
.mv {
	width:100%; height:152px;
	margin-bottom:30px;
	background-attachment: inherit !important;
}

.page_title { font-size:8vw;}
	.page_title span {
		    font-size: 3.4vw;
	}
.summary {
	margin:10px 10px 30px;
}
	.pageMv {
	margin-bottom:8vw;
}
}


/* 反応装置
===========================================================*/
.induce {
	background:url(img/induce_bg.png) no-repeat center center;
	background-size:cover;
	color:#fff;
}

/* PC */
@media screen and (min-width: 768px) {
.induce .wrapper { padding-top:60px; padding-bottom:80px;}

.induce .wrapper > div {
	display:flex;
	flex-wrap:wrap; justify-content:space-between; align-items:stretch;
	width:1000px;
	margin-right:auto; margin-left:auto;
}

.induce .btn_type01 { width:240px;}

.induce .__block {
	width:320px;
	text-align:center;
}

.induce p { margin-bottom:10px;}
}


/* SP */
@media screen and (max-width: 767px) {
.induce .wrapper { padding-top:30px; padding-bottom:40px;}

.induce .__block {
	margin-top:20px;
	text-align:center;
}

.induce .__block:last-child { margin-bottom:0;}

.induce p { margin-bottom:5px;}

.induce .__block a {
	width:200px;
}
}




/* パンくず
===========================================================*/
.breadcrumb {
	margin-top:10px;
	line-height:1;
}

.breadcrumb li {
	display:inline-block;
	font-size:12px;
}

.breadcrumb li:before {
	content:'\003E';
	margin-left:10px;
	padding-right:10px;
}

.breadcrumb li:first-child:before {
	content:normal;
}

.breadcrumb li a {
	text-decoration:none;
	color:inherit;
}




/* ページネーション
===========================================================*/
.pagination { text-align:center;}

.page-numbers {
	display:inline-block;
	width:30px;
	margin-right:3px; margin-left:3px;
	padding-top:6px; padding-bottom:4px;
	font-size:18px;
	text-align:center;
	vertical-align:middle;
	background:#edeeee;
	line-height:20px;
	font-weight:bold;
	color:inherit;
}

.pagination a { text-decoration:none;}
.pagination a:hover { opacity:0.8; filter:alpha(opacity=80);}

.pagination .current {
	background:#ababac;
	color:#fff;
}

.pagination .next { margin-left:20px;}
.pagination .prev { margin-right:20px;}



/* 前の記事・次の記事 */
.prev_next {
	border-top:1px solid #d1d1d1; border-bottom:1px solid #d1d1d1;
	position:relative;
}

.prev_next:before {
	content:'';
	display:block;
	height:100%;
	border-right:1px solid #d1d1d1;
	position:absolute; top:0; left:50%;
}

.prev_next a {
	text-decoration:none;
	color:inherit;
}

.prev_next .__prev { float:left;}
.prev_next .__next { float:right;}

.prev_next {
	margin-top:70px; margin-bottom:50px;
	padding:24px 12px 20px;
}

/* PC */
@media screen and (min-width: 768px) {
.pagination { padding-top:50px; padding-bottom:50px;}


}

/* SP */
@media screen and (max-width: 767px) {
.pagination { padding-top:20px; padding-bottom:40px;}
}




/* BUSINESS
===========================================================*/
.parts-business .__box {
	display:block;
	text-decoration:none;
	color:inherit;
}

/* PC */
.parts-business .__box .__zoom_wrap{
	margin-bottom: 30px;
}
.parts-business .__box .__zoom_wrap{overflow: hidden;}
.parts-business .__box .__zoom_wrap img{transition: 0.3s;}
.parts-business .__box:hover .__zoom_wrap img{
	transform: scale(1.3);
}
.parts-business .__box .__logo{
	text-align: center;
	margin-bottom: 10px;
}
.parts-business .__box .__logo img{
	max-width: 100%;
	width: auto;
}

@media screen and (min-width: 768px) {
.parts-business { padding-top:50px; padding-bottom:50px;}

.parts-business .wrapper > div {
	display:flex;
	flex-wrap:wrap; justify-content:center; align-items:stretch;
}
.parts-business .__box,
.parts-business .__box img {
	width:426px;
}

.parts-business .__box p { margin-right:30px; margin-left:30px;}
}

/* SP */
@media screen and (max-width: 767px) {
.parts-business { padding-top:30px; padding-bottom:10px;}

.parts-business .__box { margin-bottom:20px;}

.parts-business .__box img { width:100%;}
}

/* SNS
===========================================================*/
.__sns { background:#e3e3e3;}

.__sns .__box {
	background:#fff;
	box-shadow:0 0 3px rgba(0,0,0,0.5);
}

.__sns .__title {
	padding-left:50px;
	font-family: "Oswald", sans-serif;
	font-weight:normal;
	line-height:1.0;
}

.__sns .__twitter .__title { background:url(img/ico_twitter.png) no-repeat left center;}
.__sns .__facebook .__title { background:url(img/ico_facebook.png) no-repeat left center;}

.__sns .__title span { display:block;}

.__sns .__title span:nth-child(1) { font-size:12px;}
.__sns .__title span:nth-child(2) { font-size:24px;}

/* PC */
@media screen and (min-width: 768px) {
.__sns .wrapper {
	margin-bottom: 0;
    width: 1000px;
}

.__sns .wrapper > div {
	display:flex;
	flex-wrap:wrap; justify-content:space-between; align-items:stretch;
}

.__sns .__box {
	width:395px;
	padding:20px 45px 30px;
}

.__sns .__title { margin-bottom:25px;}
}


/* SP */
@media screen and (max-width: 767px) {
.__sns .wrapper {
	margin-bottom:0;
	padding:20px 15px 5px;
}

.__sns .title01 { margin-bottom:15px;}

.__sns .__box {
	margin-bottom:15px;
	padding:15px 10px;
}

.__sns .__title { margin-bottom:15px;}
}



/* SNSボタン（ブログ一覧・社長挨拶）
===========================================================*/
.sns a {
	display:block;
	border:1px solid #9c9d9e;
	text-align:center;
}

/* PC */
@media screen and (min-width: 768px) {
.sns a { padding-top:17px; padding-bottom:8px;}
}

/* SP */
@media screen and (max-width: 767px) {
.sns a {
	margin-bottom:10px;
	padding-top:12px; padding-bottom:3px;
}
}



/* フォーム
===========================================================*/
.form .title01 { color:inherit;}

.form .wpcf7-validation-errors { color:#a80000;}

/* PC */
@media screen and (min-width: 768px) {
.form .wpcf7-validation-errors,
.wpcf7c-elm-step2 {
	margin-bottom:40px;
	text-align:center;
	font-size:20px;
	font-weight:bold;
}
}

/* SP */
@media screen and (max-width: 767px) {
}


/* form-flow（フォームの流れ）
=======================================*/
#form-flow {
	display:flex;
	flex-wrap:wrap; justify-content:center; align-items:stretch;
}

#form-flow p {
	margin-bottom:0;
	border:solid 2px #000;
	color:#000;
	display:flex;
	flex-wrap:wrap; justify-content:center; align-items:center;
	position:relative;
}

#form-flow p:after {
	content:'';
	width:0; height:0;
	border-top:8px solid transparent;
	border-right:0 solid transparent;
	border-bottom:8px solid transparent;
	border-left:8px solid #000;
	position:absolute; top:50%;
	margin-top:-5px;
}

#form-flow p:last-child { margin-right:0;}

#form-flow p:last-child:after { content:normal;}

#form-flow.f_input p:nth-child(1),
#form-flow.f_conf p:nth-child(2),
#form-flow.f_thanks p:nth-child(3) {
	background:#000;
	color:#fff;
}

/* PC */
@media screen and (min-width: 768px) {
#form-flow { margin-top:60px; margin-bottom:60px;}

#form-flow p {
	width:260px;
	margin-right:40px;
	padding-top:18px; padding-bottom:16px;
	font-size:15px;
}

#form-flow p:after { right:-26px;}

#form-flow p span:first-child { margin-right:20px;}

}

/* SP */
@media screen and (max-width: 767px) {
#form-flow { margin-top:30px; margin-bottom:30px;}

#form-flow p {
	width:27%;
	margin-right:20px;
	padding-top:8px; padding-bottom:6px;
	font-size:13px;
	line-height:1.3;
	flex-direction:column;
}

#form-flow p:after { right:-17px;}
	
#form-flow p span {
	text-align: center;
}	
	
}




/* table
=======================================*/
.form table {
	width:100%;
	margin-bottom:20px;
	font-size:15px;
}

.form th,
.form td { border:solid 6px #fff;}

.form th { background:#f5f5f5; font-weight:bold;}

.form td { background:#ebebeb;}

/* 必須・任意 */
.form form .ind,
.form form .any {
	color:#fff;
	display:inline-block;
	padding:2px 8px 0;
	margin-right:10px;
	border-radius:3px;
	font-size:11px;
	font-weight:normal;
	vertical-align:middle;
}

.form form .ind { background:#ef1548;}
.form form .any { background:#688cc3;}

.form form td .ind,
.form form td .any { position:static;}

.form form td input {
	margin-right:15px;
	padding:5px;
	font-size:16px;
	border:none;
	-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;
}

.form form td input[type="radio"],
.form form td input[type="checkbox"] {
	width:20px; height:20px;
	margin-right:5px; margin-left:30px;
	vertical-align:bottom;
	position:relative; top:-1px;
}

.wpcf7-list-item label:first-child input[type="radio"] { margin-left:0;}

.form form td input[type="checkbox"] {
	position:relative; top:-2px;
	vertical-align:middle;
}

.form form td input[type="date"] { width:180px;}

.form form td select {
	padding:7px;
	font-size:16px;
	border:none;
}

.form form td textarea {
	width:100%;
	box-sizing:border-box;
	border:none;
}


/* PC */
@media screen and (min-width: 768px) {
.form th {
	width:250px;
	padding:16px 20px 13px 70px;
	text-align:left;
	position:relative;
}

.form td {
	padding:15px 20px 12px;
	position:relative;
}

.form form td input {
	width:500px;
	padding:14px 20px;
}

.form form td select { padding-top:15px; padding-bottom:12px; padding-left:20px;}

.form form td textarea {
	height:215px;
	padding:15px 20px 12px;
}

/* 必須・任意 */
.form form .ind,
.form form .any { position:absolute; top:17px; left:20px;}

}

/* SP */
@media screen and (max-width: 767px) {
.form table,
.form tbody,
.form tr,
.form th,
.form td { display:block;}

.form th,
.form td {
	padding:10px 15px 8px;
	border:none; border-bottom:solid 4px #fff;
}

.form th { text-align:left;}

.form td { padding-bottom:10px;}


/* 必須・任意 */
.form form .ind,
.form form .any { position:relative; top:-2px;}

/* input */
.form form td input {
	width:100%;
	padding:12px 10px 10px;
	-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;
	font-size:16px;
}
.form form td input[type="radio"],
.form form td input[type="checkbox"] {
	width:inherit;
	padding:0;
	margin:0 5px 0 0;
}

.form form td input[type="checkbox"] {
	width:20px; height:20px;
	margin-right:8px;
	background:#fff;
}

.form form td input[type="date"] { margin-bottom:5px;}

.form form label {
	margin-bottom:8px; margin-right:10px;
	display:inline-block;
	font-size:16px;
}

/* placeholder */
input::-webkit-input-placeholder,
input:-ms-input-placeholder,
input::-moz-placeholder { color:#aaa;}


/* textarea */
.form form td textarea {
	padding:12px 10px 10px;
	font-size:16px;
}

.form form td select {
	width:100%;
	padding:12px 10px 10px;
	-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;
	font-size:16px;
}

}



/* 確認画面
=======================================*/
.form .wpcf7c-conf {
	border:none;
	background:#efefef;
	color:#333;
}

/* 確認画面でプレースホルダ―が見えないようにする */
.form input[readonly='readonly']:-ms-input-placeholder{ opacity: 0; }
.form input[readonly='readonly']::-moz-input-placeholder{ opacity: 0; }
.form input[readonly='readonly']::-webkit-input-placeholder{ opacity: 0; }


/* SP */
@media screen and (max-width: 767px) {
wpcf7c-elm-step2 {
	background:#fff;
	border:1px solid #f00;
	color:#f00;
}
}




/* 完了画面
=======================================*/
/* PC */
@media screen and (min-width: 768px) {
.thanks { text-align:center;}
}

/* SP */
@media screen and (max-width: 767px) {
}

/* ボタン
=======================================*/
.form .btn_form { text-align:center;}

.form .btn_home,
.form .btn_form input[type="submit"],
.form .btn_form input[type="button"] {
	border:none;
	display:inline-block;
	line-height:48px;
	margin-top:10px;
	cursor:pointer;
	font-size:16px;
	text-decoration:none;
	-webkit-appearance: none; /* iPone対策 */
}

.form .btn_form button[type="submit"]:hover,
.form .btn_form input[type="button"]:hover { opacity:0.8; filter:alpha(opacity=80);}

.wpcf7-confirm,
.wpcf7-submit {
	    display: inline-block;
    width: 280px;
    padding: 5px 15px 3px 10px;
    background: #000;
    color: #fff;
    text-align: center;
    border-radius: 40px;
}

.wpcf7-back,
.btn_home {
	display:inline-block;
	width:280px;
	margin-right:60px;
	padding:5px 10px 3px 15px;
	background:#999 url(img/arr2_02l.png) no-repeat 4% center;
	color:#fff;
	text-align:center;
}


/* SP */
@media screen and (max-width: 767px) {
.form .btn_form { margin-left:16px;}

.wpcf7-confirm { width:200px;}

.wpcf7-submit,
.wpcf7-back { width:125px;}

.wpcf7-back { margin-right:14px;}

.btn_home {
	width:200px;
	margin-right:0;
}

}












/* ==========================================================

	パーツ

========================================================== */
/* table
===========================================================*/
/* table_type01
=======================================*/
.table_type01 { width:100%;}

.table_type01 th {
	font-weight:bold;
}

.table_type01 th,
.table_type01 td { border-bottom:1px solid #bdbdbe;}

/* PC */
@media screen and (min-width: 768px) {
.table_type01 th,
.table_type01 td { padding-top:20px; padding-bottom:18px;}
}

/* SP */
@media screen and (max-width: 767px) {
.table_type01,
.table_type01 tbody,
.table_type01 tr,
.table_type01 th,
.table_type01 td { display:block;}

.table_type01 th {
	padding-top:10px;
	border-bottom:none;
	text-align:left;
}

.table_type01 td { padding-bottom:8px;}
}


/* table_type02
=======================================*/
.table_type02 { width:100%;}

.table_type02 th {
	font-weight:bold;
	background:#f5f5f5;
}

.table_type02 th,
.table_type02 td { border:1px solid #bdbdbe;}

/* PC */
@media screen and (min-width: 768px) {
.table_type02 th,
.table_type02 td { padding:20px 20px 18px;}
}

/* SP */
@media screen and (max-width: 767px) {
.table_type02,
.table_type02 tbody,
.table_type02 tr,
.table_type02 th,
.table_type02 td { display:block;}

.table_type02 th {
	padding-top:10px;
	border-bottom:none;
	text-align:left;
}

.table_type02 td { padding-bottom:8px;}
}


/* font-weight
=======================================*/
.thfb th,
.tdfb td,
.thdfb th,
.thdfb td { font-weight:bold;}

.thfn th,
.tdfn td,
.thdfn th,
.thdfn td { font-weight:normal;}


/* verticla
=======================================*/
.th_vam th,
.td_vam td,
.thd_vam th,
.thd_vam td { vertical-align:middle;}


/* text-align
=======================================*/
.th_taL th,
.td_taL td,
.thd_taL th,
.thd_taL td { text-align:left;}

.th_taC th,
.td_taC td,
.thd_taC th,
.thd_taC td { text-align:center;}

.th_taR th,
.td_taR td,
.thd_taR th,
.thd_taR td { text-align:right;}



/* width
=======================================*/
.th_w100 th,
.td_w100 td { width:100px;}

.th_w150 th,
.td_w150 td { width:150px;}

.th_w180 th,
.td_w180 td { width:180px;}

.th_w200 th,
.td_w200 td { width:200px;}







/* ul・ol
===========================================================*/
/* list-style
=======================================*/
.ls_disc { list-style-type:disc; margin-left:1.5em;}


/* ※ */
.ls_att li { padding-left:20px; position:relative;}

.ls_att li:before {
	content:'※';
	position:absolute; left:0; top:0;
}





/* タイトル
===========================================================*/
.title_blog {
	border-bottom:2px solid #f00;
}

.title_blog span { display:block;}

.title_blog .__years {
	display:block;
	font-family: 'Righteous', cursive;
	color:#f00;
	font-weight:normal;
}

.title_blog .__cat {
	font-weight:normal;
	font-size:14px;
}

.title_blog .__cat a {
	margin-right:5px; margin-left:5px;
	text-decoration:none;
	color:inherit;
}

/* PC */
@media screen and (min-width: 768px) {
.title_blog {
	margin-bottom:46px;
	padding-bottom:15px;
	font-size:30px;
}

.title_blog .__years {
	font-size:24px;
}
}

/* SP */
@media screen and (max-width: 767px) {
.title_blog {
	margin-bottom:20px;
	padding-bottom:15px;
	font-size:22px;
}

.title_blog .__years {
	padding-right:10px;
	font-size:16px;
}
}

/* title01～
============================================*/
/*===== 日本語+英語 =====*/
.title01 { text-align:center;}

.title01 span { display:block;}

.title01 .__en {
	    font-family: 'Source Sans Pro', cursive;
    /* font-weight: normal; */
    letter-spacing: .1em;
    line-height: 1.5;
}
.title01 .__jp {
	    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/* PC */
@media screen and (min-width: 768px) {
.title01 { margin-bottom:40px;}

.title01 .__en { font-size:55px;}

.title01 .__jp { font-size:16px;}
}

/* SP */
@media screen and (max-width: 767px) {
.title01 { margin-bottom:10px;}

.title01 .__en {
	font-size:22px;
	line-height:1.3;
}
}


/*===== 赤下線・テキスト中央 =====*/
.title02 {
	text-align:center;
	position:relative
}

.title02 .__years {
	display:inline-block;
	padding-right:20px;
	font-family: 'Source Sans Pro', cursive;
	color:#f00;
	background:#fff;
	font-weight:normal;
	position:absolute; left:0; bottom:-0.85em;
}
.title02 + p.txt {
	    text-align: center;
   
}
/* 赤下線なし */
.title02._no_bd { border-bottom:none;}

/* PC */
@media screen and (min-width: 768px) {
.title02 {
	padding-bottom:15px;
	font-size:30px;
}

.title02 .__years {
	padding-right:30px;
	font-size:24px;
}
	.title02 + p.txt {
		 font-size: 17px;
	}		
}

/* SP */
@media screen and (max-width: 767px) {
.title02 {
	margin-bottom:20px;
	    font-size: 5vw;
}
	.title02 + p.txt {
		
	}	
}




/* テキストリンク
===========================================================*/
.text_link01 {
	display:inline-block;
	padding-left:15px;
	position:relative;
}

.text_link01:before {
	content:'';
	display:block;
	width:4px; height:4px;
	border-top:1px solid #000; border-right:1px solid #000;
	transform: rotate(45deg);
	position:absolute; left:0; top:50%;
	margin-top:-3px;
}





/* ボタン
===========================================================*/
/*===== btn_type01 =====*/
.btn_type01 {
	display:inline-block;
	color:#fff;
	text-align:center;
	text-decoration:none;
	background:linear-gradient(126deg, #ff3255, #a00000);
}

/* PC */
@media screen and (min-width: 768px) {
.btn_type01 {
	padding:16px 20px 14px;
	font-size:16px;
	border-radius:10px;
}
}

/* SP */
@media screen and (max-width: 767px) {
.btn_type01 {
	padding:12px 30px 10px;
	border-radius:5px;
}
}


.btn_type02 {
	display:inline-block;
	padding-top:12px; padding-bottom:9px;
	border:2px solid #fff;
	text-decoration:none;
	color:#fff;
}

.btn_type02.__black {
	border:2px solid #000;
	color:#000;
}




/* ボーダー
===========================================================*/
.bd_s1gray_tb { border-top:solid 1px #ccc; border-bottom:solid 1px #ccc;}



/* ボックス
===========================================================*/
/* box01 */
.box01 {
}

/* タブ切り替え
===========================================================*/
.tab_wrap {
      width: 100%;
    margin: 0 auto;
}
ul.tab { position: relative; }
ul.tab.top { margin-bottom: -2px; }

ul.tab{
	  width: 100%;
    padding: 0;
    border-bottom: 1px solid #000;
    box-sizing: border-box;
    z-index: 200;
    text-align: center;
    letter-spacing: -1.4em;
}
ul.tab li {
         display: inline-block;
    list-style: none;
    vertical-align: bottom;
    cursor: pointer;
    border: 1px solid #000;
    box-sizing: border-box;
    background: #eeeeee;
    color: #fff;
    width: 30%;
    text-align: center;
    padding: 20px 0;
    font-size: 22px;
    margin-bottom: -1px;
    letter-spacing: normal;
    background-color: #000;
}
ul.tab li a {
	    color: #fff;
    text-decoration: none;
    display: block;
}
ul.tab li.current{
     background: #ffffff;
    color: #333;
    padding: 40px 0;
	font-weight: bold;
}
ul.tab.top .current { border-bottom: 1px solid #ffffff; }
ul.tab.bottom .current { border-top: 1px solid #ffffff; }
.tab_wrap .content_wrap{
	position: relative;
}
	ul.tab.bottom {
	    margin-top: -2px;
    border-top: 1px solid #000;
    border-bottom: none;
	}
	ul.tab.bottom li {
		       vertical-align: top;
    margin-bottom: 0;
    margin-top: -1px;
	}	
	
.tab_wrap .content_wrap .tabContent {
      padding: 60px 0;
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    bottom: auto;
    width: 100%;
    box-sizing: border-box;
    z-index: 100;
}
.tab_wrap .content_wrap .tabContent{
	display: none;
}
.tab_wrap .content_wrap .tabContent.current{
	display: block;
}

@media screen and (min-width: 768px) {
	
}
@media screen and (max-width: 767px) {
	ul.tab {
		letter-spacing: -1vw;
	}
	ul.tab li:first-child {
	    font-size: 3.4vw;	
	}	
	ul.tab li {
		       padding: 2vw 0;
    font-size: 4vw;
    width: 40vw;
    letter-spacing: normal;
	}
	ul.tab li.current {
		    padding: 4vw 0;
	}

}
/* タブ切り替えSHOP一覧
===========================================================*/
.Wrapshop .tab_wrap .content_wrap .tabContent {
    position: static;
}
.Wrapshop .tab_wrap .content_wrap .tabContent{
	display: block;
}
#instafeed {
	overflow: hidden;
}
#instafeed a {
    display: block;
    width: 25%;
    box-sizing: border-box;
    padding: 5px;
    float: left;
}
#instafeed a img {
    width: 100%;
    height: auto;
    max-width: 100%;
    vertical-align: bottom;
}
#insta_more {
    background: #2b9f3f;
    color: #fff;
    width: 200px;
    padding: 10px;
    display: block;
    margin: 20px auto;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    text-decoration: none;
    border-radius: 4px;
    border: none;
	cursor: pointer;
}

._shop #singapore,._shop #taiwan{
	padding-top: 200px;
	margin-top: -200px;
}