@charset "utf-8";

*{
	box-sizing:border-box;
	outline: none;}
html{
	width:100%;
	height:100%;
	overflow:auto;}
body {
	width:100%;
	height:100%;
	font-size:16px;
	color:#111;}

/*==================================================
COMMON
====================================================*/
/*Google Map*/
.googlemap {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;}
.googlemap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;}

.sp_on{
	display: none!important;}

@media screen and (max-width:600px) {
.sp_on{
	display: block!important;}
}

/*==================================================
HEADER
====================================================*/
/*GLOBAL NAVI*/
.inner {
	padding: 0 10px;
    margin: 0 auto;}
.inner:after {
    content: "";
    clear: both;
    display: block;}

/* Top head */
#top-head {
	background-color: #ffe6cc;
    top: -100px;
    position: absolute;
    width: 100%;
    margin: 100px auto 0;
    padding: 10px 0;
    line-height: 1;
    z-index: 999;}
#top-head a,
#top-head {
	display: block;}
#top-head .inner {
    position: relative;}
#top-head .logo {
    float: left;}
#top-head .logo img {
    max-height: 70px;}
#global-nav ul {
    list-style: none;
    position: absolute;
    top: 50%;
    right: 0;
	transform: translate3d(0,-50%,0);
    font-size: 16px;}
#global-nav ul li {
    float: left;
	padding: 0 20px;}
#global-nav ul li a {
    font-weight: 900;
	padding: 5px 0;
}
#global-nav ul li a:hover {
	color: #0080ff;}

/* Effect 下からアンダーバー */
.fx_button2 a {
	position: relative;
	display: inline-block;}
.fx_button2 a::after {
	position: absolute;
	bottom: -8px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #0080ff;
	opacity: 0;
	visibility: hidden;
	transition: .3s;}
.fx_button2 a:hover::after {
	bottom: -4px;
	opacity: 1;
	visibility: visible;}

/* Fixed */
#top-head.fixed {
    margin-top: 0;
    top: 0;
    position: fixed;
    padding: 15px 0;
    background: rgba(255,255,255,.8); /* PC fixed背景色 */
    transition: top 0.65s ease-in;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in;}
#top-head.fixed .logo img{
	max-height: 30px;}
#top-head.fixed #global-nav ul li a {}
/* Toggle Button */
#nav-toggle {
    display: none;
    position: absolute;
    right: 12px;
    top: 14px;
    width: 34px;
    height: 36px;
    cursor: pointer;
    z-index: 101;}
#nav-toggle div {
    position: relative;}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #666;
	left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;}
#nav-toggle span:nth-child(1) {
    top: 0;}
#nav-toggle span:nth-child(2) {
    top: 11px;}
#nav-toggle span:nth-child(3) {
    top: 22px;}

@media screen and (max-width: 800px) {
#top-head,
.inner {
	width: 100%;
	padding: 0;}
#top-head {
	top: 0;
	position: fixed;
	margin-top: 0;}
#top-head .logo {
    float: left;}
#top-head .logo img {
    max-height: 40px;}
/* Fixed reset */
#top-head.fixed {
	padding-top: 0;
	background: transparent;}
#mobile-head {
	background: #fff;
	width: 100%;
	height: 56px;
	z-index: 999;
	position: relative;}
#top-head.fixed .logo,
#top-head .logo {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translate3d(0,-50%,0);
	color: #453f36;}
#top-head.fixed .logo img{
	max-height: 40px;}
#global-nav {
	position: absolute;
	/* 開いてないときは画面外に配置 */
	top: -500px;
	background: #ff8000;
	width: 100%;
	text-align: center;
	padding: 10px 0;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;}
#global-nav ul {
	list-style: none;
	position: static;
	right: 0;
	bottom: 0;
	transform: translate3d(0,0,0);
	font-size: 14px;}
#global-nav ul li {
	float: none;
	position: static;}
#top-head #global-nav ul li a,
#top-head.fixed #global-nav ul li a {
	width: 100%;
	display: block;
	color: #fff;
	padding: 18px 0;}
#nav-toggle {
	display: block;}
/* #nav-toggle 切り替えアニメーション */
.open #nav-toggle span:nth-child(1) {
	top: 11px;
	-webkit-transform: rotate(315deg);
	-moz-transform: rotate(315deg);
	transform: rotate(315deg);}
.open #nav-toggle span:nth-child(2) {
	width: 0;
	left: 50%;}
.open #nav-toggle span:nth-child(3) {
	top: 11px;
	-webkit-transform: rotate(-315deg);
	-moz-transform: rotate(-315deg);
	transform: rotate(-315deg);}
/* #global-nav スライドアニメーション */
.open #global-nav {
	/* #global-nav top + #mobile-head height */
	-moz-transform: translateY(556px);
	-webkit-transform: translateY(556px);
	transform: translateY(556px);}
}

/*==================================================
FOOTER
====================================================*/
/*PAGETOP*/
#page_top{
	position: fixed;
	right: 0;
	bottom: 0;
	background: #0080ff;
	opacity: 0.7;}
#page_top a{
	position: relative;
	display: block;
	padding: 12px 18px 0px;
	font-size: 24px;
	color: #FFF;
	text-decoration: none;}

/*FOOTER NAVI*/


/*COPY RIGHT*/
.copyright{
	clear: both;
	text-align: center;
	background: #ff8000;
	color: #fff;}
.copyright p{
	font-size: 12px;
	padding: 10px;}
.copyright a{
	text-decoration: none !important;
	color: #fff;}

/*==================================================
CONTENTS
====================================================*/
.content{
	margin: 0 auto;}

.mainimg{
	position: relative;
	margin: 90px auto 0;}
.mainimg img{
	width: 100%;}
.maincap{
	position: absolute;
	margin-left: 40px;
	top: 20px;
	right: 40px;
	animation: maincap 3s infinite;}
	@keyframes maincap {
		0% {transform:translateY(0px);}
		50% {transform:translateY(20px);}
		100% {transform:translateY(  0px);}}
.maincap p {
    font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
	position: relative;
	display: inline-block;
	max-width: 600px; 
	text-align: center;
	font-size: 36px;
	font-weight: 900;
	padding: 10px 15px;
	background-color: rgba(255,255,255,0.7);
	border-radius: 5px;}
.maincap p:before {
	content: '';
	position: absolute;
	display: block;
	z-index: 1;
	border-style: solid;
	border-color: rgba(255,255,255,0.7) transparent;
	border-width: 20px 20px 0 0;
	bottom: -20px;
	left: 50%;
	margin-left: -10px;}

.mainimg ul{
	position: absolute;
	top: 200px;
	right: 40px;}
.mainimg ul li{
	font-weight: 900;
	font-size: 20px;
	position: relative;
	color: white;
	background: rgba(0,116,191,0.8);
	line-height: 1.4;
	padding: 0.5em 0.5em 0.5em 1.8em;
	margin-bottom: 5px;}
.mainimg ul li:before{
	font-family: "Font Awesome 5 Free";
	content: "\f14a";
	position: absolute;
	left : 0.5em;}

.title{
	max-width: 500px;
	position: relative;
	padding: 10px 20px;
	margin: 0 auto;
	font-size:24px;
	font-weight: 900;
	text-align:center;
	border-top: solid 1px #ff8000;
	border-bottom: solid 1px #ff8000;}
.title::before,
.title::after{
	content: '';
	position: absolute;
	top: -10px;
	width: 1px;
	height: calc(100% + 20px);
	background-color: #ff8000;}
.title::before{left: 10px;}
.title::after{right: 10px;}

.caption{
	margin: 0 10px 20px;
	font-size: 50px;
    color: #ff8000;
    text-shadow: 2px 2px #fff, 5px 5px rgba(255, 128, 0, 0.4);}

@media screen and (max-width:800px) {
.mainimg{
	margin: 56px auto 0;}
.maincap{
    z-index: 9999;
	margin-left: 110px;}
.maincap p {
	font-size: 20px;
	padding: 10px;}
.mainimg ul{
	top: auto;
	bottom: 10px;
	right: 15px;}
.mainimg ul li{
	font-size: 16px;}
}

.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;}
}

@media screen and (max-width:600px) {
.maincap{
	top: 10px;
	right: 20px;}
.maincap p {
	font-size: 20px;}
.maincap p:before {
	border-width: 10px 10px 0 0;
	bottom: -10px;}
.maincap p.sp_off {
	display: none;}
.maincap span{
	font-size: 16px;}
.mainimg ul li{
	font-size: 14px;}
.title{
	margin: 0 auto;
	font-size:18px;}
.caption{
	margin: 40px 10px;
	text-align: center;
	font-size: 30px;}
}

/*=====*===== TOP PAGE =====*=====*/
/* greet */
#greet{
	padding: 80px 10px;
	background-color: #ffe6cc;}
.greet_text{
    font-weight: 900;
    font-size: 18px;
	max-width: 1000px;
	margin: 60px auto 0;}

/* about */
#about{}
.about{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	max-width: 900px;
	margin: 80px auto;
	padding: 0 10px;}
.about dl{
	width: calc(100% - 220px);}
.about img{
	display: block;
	margin: 0 auto;
	max-width: 200px;
	width: 100%;}

/* works */
#works{
	padding: 80px 10px;
	background-color: #ffe6cc;}
.works_flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	max-width: 1200px;
	margin: 60px auto 0;}
.works_flex li{
	width: calc(100% / 5 - 20px);
	margin: 20px 10px 0;
	text-align: center;
	border: 3px solid #ff8000;
	border-radius: 5px;
	font-size: 16px;
	font-weight: 900;
	padding: 10px;}
.works_flex li span{
	margin: 5px 0 0;
	display: block;
	font-size: 12px;
	font-weight: normal;
	text-align: left;
}

/* service */
#service{
	margin: 80px auto;
	padding: 0 10px;}
.service{
	max-width: 1200px;
	margin: 80px auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;}
.service dl{
	width: calc(100% / 3 - 10px);}
.service dl dt{
	font-size: 20px;
	padding: 10px;
	font-weight: 900;
	color: #FFF;}
.service dl dt img{
	display: block;
	margin: 0 auto;
	max-width: 360px;
	width: 100%;}
.service dl dd{
	text-align: justify;
	padding: 10px 0;}
.service_cap{
	margin: 0 auto;
	font-weight: 900;
	max-width: 1200px;}
.note{
  color: #696969;
  font-weight: bold;
  border: solid 1px #e6e6e6;
  padding: 0.3em 1em 2em 1em;
  box-shadow:2px 2px 0 rgba(0,0,0,.1);
}
.note p{
  background-color: #fff;
  background-image:
  linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #fff 0%, #fff 100%), linear-gradient(180deg, rgba(100, 100, 100, 0) 0%, rgba(100, 100, 100, 0) 97.5%, #646464 100%);
  background-size: 8px 100%,100% 2.1em;
  line-height: 2.1em;
  padding: 0 15px;
}
.note span{
	color: #333;
	vertical-align: center;
	background: linear-gradient(transparent 50%,rgba(247, 198, 104, 0.2) 50%,rgb(247, 198, 104) 75%,rgba(247, 198, 104, 0.2));
	font-size: 18px;
}

@media screen and (max-width:800px) {
.works_flex li{
	width: calc(100% / 3 - 20px);}
}

@media screen and (max-width:600px) {
#greet{
	padding: 40px 10px;}
.greet_text{
    font-size: 16px;
	margin: 30px auto 0;}

#works{
	padding: 40px 10px;}
.works_flex{
	margin: 20px auto 0;}
.works_flex li{
    font-size: 15px;
	width: calc(100% / 2 - 20px);}
.works_flex li:last-of-type{
	width: calc(100%);}
.works_flex li span{
	text-align: center;}

.about{
	margin: 40px auto;
	flex-direction: column-reverse;}
.about dl{
	width: calc(100%);}
.about img{
	max-width: 100px;}

#service{
	margin: 40px auto 0;}
.service{
	margin: 40px 0;}
.service dl{
	width: calc(100%);
	margin: 0 0 20px;}
.service dl:last-of-type{
	margin: 0;}
}

/*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
------------------------------------------------------------

>>MOBILE

------------------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/

/*****==========-==========-==========-==========-==========
>>1020px
==========-==========-==========-==========-==========*****/
@media screen and (max-width:1020px){
	
}
/*****==========-==========-==========-==========-==========
>>768px
==========-==========-==========-==========-==========*****/
@media screen and (max-width:768px){
/* TOP PAGE */
}
/*****==========-==========-==========-==========-==========
>>600px
==========-==========-==========-==========-==========*****/
@media screen and (max-width:600px){

}
/*****==========-==========-==========-==========-==========
>>480px
==========-==========-==========-==========-==========*****/
@media screen and (max-width:480px){

}
