/*========== C O M M O N ==========*/
html {
    font-weight: 500;
    font-family: 'Source Sans Pro', arial, sans-serif;
    font-size: 16px;
    scroll-behavior: smooth;
}

* {
	margin: 0;
	padding: 0;
}

img {
    max-width: 100%;
    height: auto;
}

ul li {
	list-style: none;
}

h1, h2, h3, h4, h5 span {
	font-family: "Trajan", "Athelas", serif;
}

h1 {
	font-size: 3rem;
	font-style: italic;
	text-shadow: 0.25rem 0 #000;
}

h2 {
	font-size: 2.25rem;
	line-height: 2.75rem;
	font-style: italic;
}

h3 {
	font-size: 1.5rem;
}

h4 {
	font-size: 1.25rem;
}

h5 {
	font-size: 2.75rem;
	line-height: 2.75rem;
}

p {
	font-family: 'Fjalla One', arial, sans-serif;
}

@media only screen and (max-width: 64rem) {
	h1 {
		font-size: 2.5rem;
	}

	h2 {
		font-size: 2rem;
		line-height: 2.5rem
	}
}

@media only screen and (max-width: 46.25rem) {
	h1 {
		font-size: 2.5rem;
	}

	h2 {
		font-size: 2rem;
		line-height: 2.5rem;
	}

	h3 {
		font-size: 1.375rem;
	}

	h4 {
		font-size: 1.125rem;
	}

	h5 {
		font-size: 2.5rem;
		line-height: 2.5rem;
	}
}

a {
	color: #fff;
	text-decoration: none;
}

a:hover,
input:hover {
	opacity: 0.7;
}

.wrapper {
	max-width: 64rem;
	margin: 0 auto;
	padding: 0 20px;
	text-align: center;
}

@font-face {
  /*フォントの名前*/
  font-family: "ackaisyo";
  /*フォントファイルへのパス（複数指定の場合、上から順に読み込まれる）*/
  src: url("../fonts/ackaisyo.ttf") format("truetype");
}
.ackaisyoClass{
  font-family: "ackaisyo";
}

/*========== H E A D E R ==========*/

header {
	height: 60px;
	width: 100%;
	position: fixed;
	z-index: 10;
}

header .hamburger.is_animation {
  background: #000;
  transition: 1s;
}

header:after {
	display: block;
	content: "";
	clear: both;
}

header .logo {
	height: 60px;
	padding: 10px;
	float: left;
}

@media only screen and (max-width: 46.25rem) {
	header .logo {
		height: 60px;
		padding: 10px;
		float: left;
		transition: 1s
	}
}

header .drawer_wrapper {
	float: right;
}

/* H A M B U R G E R  M E N U */

/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 99;
  right : 0;
  top: 0;
  width : 60px;
  height: 60px;
  padding: 15px;
  cursor: pointer;
  text-align: center;
  background-color: #000;
}

.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
  top: 20px;
}

.hamburger span:nth-child(2) {
  top: 28.75px;
}

.hamburger span:nth-child(3) {
  top: 37.5px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 28.75px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 28.75px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.drawer_content {
  position: fixed;
  z-index : 10;
  top  : 0;
  left : 0;
  color: #fff;
  background: #000;
  text-align: center;
  transform: translateX(100%);
  transition: all 0.6s;
  width: 100%;
  height: 100%;
  opacity: 0.9;
}

nav.drawer_content .drawer_list {
  position: relative;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

nav.drawer_content .drawer_item {
  font-size: 1.5rem;
  font-weight: bold;
  transition: .3s;
}

nav.drawer_content .drawer_item a:hover {
	color: #ff0000;
}

nav.drawer_content .drawer_item:nth-child(2),
nav.drawer_content .drawer_item:nth-child(3),
nav.drawer_content .drawer_item:nth-child(4),
nav.drawer_content .drawer_item:nth-child(5),
nav.drawer_content .drawer_item:nth-child(6) {
	margin-top: 30px;
}

/* このクラスを、jQueryで付与・削除する */
nav.drawer_content.active {
  transform: translateX(0%);
}

/*========== M A I N  V I S U A L ==========*/

.mainVisual {
	height: 500px;
	background-image: linear-gradient(rgba(22, 22, 22, 0.3) 0%, rgba(22, 22, 22, 0.3) 100%), url("../img/main1.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

@media only screen and (max-width: 46.25rem) {
	.mainVisual {
		height: 500px;
		background-image: linear-gradient(rgba(22, 22, 22, 0.3) 0%, rgba(22, 22, 22, 0.3) 100%), url("../img/main1.jpg");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
	}
}

.mainVisual .mainVisual_ttl {
	position: relative;
	top: 200px;
	text-align: center;
}

.mainVisual h1 {
	color: #fff;
	margin: 0;
	padding: 0 20px;
}


/*========== D E S C R I P T I O N ==========*/

.description {
	padding-top: 60px;
}

.description h2 {
	text-align: left;
}

.description .wrapper {
	text-align: left;
}

.description .wrapper p {
	margin-top: 15px;
}

.description .wrapper .em {
	font-weight: bold;
	display: inline;
}

.description .wrapper span {
	font-weight: bold;
	font-style: italic;
}

.description .wrapper ol {
	margin-top: 10px;
	margin-left: 20px;
	font-size: 1.25rem;
	font-weight: bold;
	list-style: disc;
}

@media only screen and (max-width: 46.25rem) {
	.description .wrapper ol {
		font-size: 1.125rem;
	}
}

/*========== F E A T U R E S ==========*/

.features {
	margin-top: 60px;
	background-color: #000;
	transition: 0.5s;
}

.features .wrapper {
	margin-top: 30px;
	padding-top: 30px;
	padding-bottom: 30px;
}

.features .wrapper:after {
	display: block;
	content: "";
	clear: both;
}

.features .features_wrd {
	-ms-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
	text-orientation: mixed;
	color: #ffd700;
	padding: 40px 0;
	display: inline-block;
	text-align: center;
}

.features .features_ttl01 {
	text-align: right;
	margin: 0 0 40px;
	padding-top: 40px;
}

.features .features_ttl02 {
	text-align: left;
	margin: 0 0 40px;
	padding-top: 40px;
}

.features .features_column01 .features_column_txt,
.features .features_column02 .features_column_txt {
	color: #fff;
}

.features .features_column01 .features_column_txt .em,
.features .features_column02 .features_column_txt .em {
	font-weight: bold;
	display: inline;
}

.features .features_column01 .features_column_txt span,
.features .features_column02 .features_column_txt span {
	font-weight: bold;
	font-style: italic;
}

@media only screen and (min-width: 46.26rem) {
	.features .features_column01,
	.features .features_column02 {
		height: 400px;
	}

	.features .features_column02,
	.features .features_column01.append {
		margin-top: 30px;
	}

	.features .features_column01 .features_column_txt {
		width: 45%;
		margin: 0 15px;
		display: inline-block;
		float: right;
		margin-top: 2rem;
	}

	.features .features_column02 .features_column_txt {
		width: 45%;
		margin: 0 15px;
		display: inline-block;
		float: left;
		margin-top: 4rem;
	}

	.features .features_column01.append .features_column_txt {
		margin-top: 4rem;
	}

	.features .features_column01 .features_column_txt p,
	.features .features_column02 .features_column_txt p {
		margin-top: 10px;
		text-align: left;
	}

	.features .features_column01 .features_column_img {
		width: 45%;
		margin: 0 15px;
		display: inline-block;
		float: left;
	}

	.features .features_column02 .features_column_img {
		width: 45%;
		margin: 0 15px;
		display: inline-block;
		float: right;
	}

	.features .features_wrd span {
		font-size: 1.5rem;
	}
}

@media only screen and (max-width: 46.25rem) {
	.features .features_column01 {
		height: 700px;
	}

	.features .features_column02 {
		height: 680px;
	}

	.features .features_column02,
	.features .features_column01.append {
		margin-top: 30px;
	}

	.features .features_column_img {
		width: 100%;
		display: inline-block;
	}

	.features .features_column_txt {
		width: 100%;
		margin-top: 20px;
		display: inline-block;
	}

	.features .features_column01 .features_column_txt p,
	.features .features_column02 .features_column_txt p {
		margin-top: 10px;
		text-align: left;
	}

	.features .features_wrd span {
		font-size: 1.375rem;
	}
}



/*========== O U R  S E R V I C E S ==========*/

.ourServices {
	padding-top: 60px;
}

.ourServices_list {
	margin-top: 30px;
}

.ourServices_column {
	width: 40%;
	margin: 0 20px;
	display: inline-block;
	vertical-align: top;
}

.ourServices_column img {
	width: 100%;
}

.ourServices_column h2 span {
	font-size: 1.5rem;
}

.ourServices_column h3 {
	margin-top: 10px;
}

.ourServices_column p {
	margin-top: 10px;
	text-align: left;
}

@media only screen and (max-width: 46.25rem) {
	.ourServices_column {
		width: 100%;
		margin: 0;
		display: inline-block;
	}

	.ourServices_column:nth-child(2) {
		margin-top: 30px;
	}

	.ourServices_column h2 span {
		font-size: 1.375rem;
	}

	.ourServices_column img {
		width: 80%;
	}
}

/*========== A B O U T  U S ==========*/

.aboutUs {
	padding-top: 60px;
}

.aboutUs_img {
	height: 400px;
	margin-top: 30px;
	background-image: url(../img/aboutus.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.aboutUs h3 {
	margin-top: 20px;
	display: inline-block;
}

.aboutUs h3 span {
	font-size: 1.25rem;
}

.aboutUs p {
	margin-top: 10px;
	display: inline-block;
}

@media only screen and (max-width: 46.25rem) {
	.aboutUs h3 span {
		font-size: 1.125rem;
	}
}


/*========== F O O T E R ( C O N T A C T  U S ) ==========*/

footer {
	margin-top: 60px;
	padding-top: 30px;
	background-color: #f3f3f3;
}

footer .wrapper {
	margin-top: 30px;
}

footer .wrapper:after {
	display: block;
	content: "";
	clear: both;
}

@media only screen and (min-width: 46.26rem) {
	footer .contactUs_l {
		width: 45%;
		margin: 30px 15px 0;
		display: inline-block;
		float: left;
	}
}

@media only screen and (max-width: 46.25rem) {
	footer .contactUs_l {
		width: 100%;
		display: inline-block;
		margin-top: 40px;
	}
}

footer .contactUs_l li {
	display: block;
	text-align: left;
}

footer .contactUs_l li:nth-child(2),
footer .contactUs_l li:nth-child(3),
footer .contactUs_l li:nth-child(4) {
	margin-top: 10px;
}

footer .contactUs_l li span {
	color: #ff0000;
}

footer .contactUs_l li input {
	font-size: 1rem;
	font-family: 'Fjalla One', arial, sans-serif;
	width: 100%;
	padding: 15px 15px 10px;
}

footer .contactUs_l li textarea {
	font-size: 1rem;
	font-family: 'Fjalla One', arial, sans-serif;
	width: 100%;
	padding: 15px 15px 100px;
}

footer .contactUs_l .tips {
	font-size: 0.8rem;
	text-align: left;
}

footer .contactUs_l .mail_btn {
	font-size: 1.3rem;
	font-family: 'Fjalla One', arial, sans-serif;
	font-weight: bold;
	color: #000;
	/*text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;*/
	background-color: #e0e0e0;
	/*background-image: url(../img/btn_b.jpg);*/
	/*background-size: cover;*/
	border: 1px solid #000;
	border-radius: 10px;
	margin-top: 20px;
	cursor: pointer;
}

@media only screen and (min-width: 46.26rem) {
	footer .contactUs_r {
		width: 45%;
		margin: 30px 15px 0;
		display: inline-block;
		float: right;
	}

	footer .contactUs_r .tel_ttl {
		margin-top: 30px;
	}
}

@media only screen and (max-width: 46.25rem) {
	footer .contactUs_r {
		width: 100%;
		margin-top: 40px;
		display: inline-block;
	}

	footer .contactUs_r .tel_ttl {
		margin-top: 30px;
	}
}

footer .contactUs_r .tel h4 {
	line-height: 1.25rem;
}

footer .contactUs_r .tel span {
	font-size: 0.8rem;
}

footer .contactUs_r .tel li {
	margin-top: 20px;
}

footer .contactUs_r .tel li:first-child {
	margin-top: 0px;
}

footer .contactUs_r .tel li p {
	margin-top: 5px;
}

footer .contactUs_r .tel li p a {
	color: #000000;
}

footer .contactUs_r .sns {
	margin-top: 30px;
	text-align: center;
}

footer .contactUs_r .sns_list {
	width: 80%;
	margin: 10px auto 0;
}

footer .contactUs_r .sns_list li:nth-child(2) {
	margin-top: 5px;
}

footer .footer_logo {
	width: 200px;
	margin: 40px auto 0;
	text-align: center;
}

footer .footer_logo p {
	font-size: 0.8rem;
	line-height: 0.8rem;
	padding: 5px 0;
}


/*　I C O N　*/

.fb_btn{/*ボタンの下地*/
  color: #FFF;/*文字・アイコン色*/
  border-radius: 10px;/*角丸に*/
  position: relative;
  display: inline-block;
  height: 50px;/*高さ*/
  width: 100%;/*幅*/
  text-align: center;/*中身を中央寄せ*/
  font-size: 25px;/*文字のサイズ*/
  line-height: 50px;/*高さと合わせる*/
  background: #1877f2;/*グラデーション①*/
  overflow: hidden;/*はみ出た部分を隠す*/
  text-decoration:none;/*下線は消す*/
}

.fb_btn .fa-facebook-f{/*アイコン*/
  font-size: 35px;/*アイコンサイズ*/
  position: relative;
  top: 4px;/*アイコン位置の微調整*/
}


.insta_btn{/*ボタンの下地*/
  color: #FFF;/*文字・アイコン色*/
  border-radius: 10px;/*角丸に*/
  position: relative;
  display: inline-block;
  height: 50px;/*高さ*/
  width: 100%;/*幅*/
  text-align: center;/*中身を中央寄せ*/
  font-size: 25px;/*文字のサイズ*/
  line-height: 50px;/*高さと合わせる*/
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
  overflow: hidden;/*はみ出た部分を隠す*/
  text-decoration:none;/*下線は消す*/
}

.insta_btn:before{/*グラデーション②*/
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;/*全体を覆う*/
  height: 100%;/*全体を覆う*/
  background: -webkit-linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
  background: linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
}

.insta_btn .fa-instagram{/*アイコン*/
  font-size: 35px;/*アイコンサイズ*/
  position: relative;
  top: 4px;/*アイコン位置の微調整*/
}