@charset "UTF-8";

@media(max-width:599px) {
:root {
	font-size: 14px
}
}

@media(min-width:600px) and (max-width:799px) {
:root {
	font-size: 1pc
}
}

@media(min-width:800px) {
:root {
	font-size: 18px
}
}
* {
	box-sizing: border-box;
	list-style-type: none
}
.clear {
	clear: both;
	font: 0/0 sans-serif
}
body {
	margin: 0;
	font-family: Open Sans, Noto Sans JP, sans-serif;
	font-weight: 400;
	font-size: 1pc;
	letter-spacing: 1px
}
.sa {
	opacity: 0;
	transition: all .5s ease
}
.sa.show {
	opacity: 1;
	transform: none
}
.sa--lr {
	transform: translate(-100px, 0)
}
.sa--rl {
	transform: translate(100px, 0)
}
.sa--up {
	transform: translate(0, 100px)
}
.sa--down {
	transform: translate(0, -100px)
}
.sa--scaleUp {
	transform: scale(.5)
}
.sa--scaleDown {
	transform: scale(1.5)
}
.sa--rotateL {
	transform: rotate(180deg)
}
.sa--rotateR {
	transform: rotate(-180deg)
}
.emp {
	color: #fafd46
}
.page-title {
	opacity: 0
}
.page-title span {
	opacity: 0;
	display: inline-block
}
.conA {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: 100vh;
	min-height: 450px;
	background-image: linear-gradient(rgba(0,0,0,.1), rgba(0,0,0,.1)), url(../img/top_fv_bg01.jpg);
	background-position: center;
	background-size: cover;
	color: #fff;
	position: relative
}
.conA.compact {
	height: 450px;
	min-height: 0;
	background-image: linear-gradient(rgba(0,0,0,.1), rgba(0,0,0,.1)), url(img/balloon.jpg)
}
.conA img {
	width: 20%
}
.conA .more {
	-moz-transition: -moz-transform .75s ease, opacity .75s ease;
	-webkit-transition: -webkit-transform .75s ease, opacity .75s ease;
	-ms-transition: -ms-transform .75s ease, opacity .75s ease;
	transition: transform .75s ease, opacity .75s ease;
	-moz-transition-delay: 3.5s;
	-webkit-transition-delay: 3.5s;
	-ms-transition-delay: 3.5s;
	transition-delay: 3.5s;
	-moz-transform: translateY(0);
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	border: 0;
	bottom: 0;
	color: inherit;
	font-size: .8em;
	line-height: 1.5em;
	height: 8.5em;
	left: 50%;
	letter-spacing: .225em;
	margin-left: -8.5em;
	opacity: 1;
	outline: 0;
	padding-left: .225em;
	position: absolute;
	text-align: center;
	text-transform: uppercase;
	width: 16em;
	z-index: 1
}
.conA .more:after {
	background-image: url(../img/arrow.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 4em;
	content: '';
	display: block;
	height: 2.5em;
	left: 50%;
	margin: 0 0 0 -1.25em;
	position: absolute;
	width: 2.5em
}
.conA a {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #bf6a7a;
	background-color: var(--accent-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 14px;
	text-decoration: none
}
.conA a:hover {
	background-image: linear-gradient(hsla(0,0%,100%,.2), hsla(0,0%,100%,.2))
}
.splash-inner {
	position: relative;
	width: 386px;
	height: 386px;
	border: 7px solid #fff;
	margin: 0 auto;
}

.splash-inner img {
	width: 150px;
	display: block;
	margin: 20px auto 0;
	text-align: center;
}

.page .conA {
	justify-content: center
}
.page .splash-inner {
	margin: 0;
	width: 100%;
	max-width: 750pt;
	padding: 30px;
	display: flex;
	justify-content: center;
	align-items: center
}
.menu-holder {
	padding-left: 5%;
	padding-right: 5%;
	padding: 30px;
	padding-bottom: 40px;
	color: #fff
}
.page-title {
	font-size: 46px;
	line-height: 1.35;
	color: #fff;
	border-bottom: 1px solid #fff;
	text-align: center
}
.page .page-title {
	font-size: 36px;
	border: 0;
	word-break: break-all
}

@media screen and (max-width:768px) {
.conA {
	justify-content: center
}
.splash-inner {
	position: relative;
	width: 90%;
	height: auto;
	border: 6px solid #fff;
	margin-left: 0
}
.page-title {
	font-size: 36px;
	line-height: 1.35;
	color: #fff;
	border-bottom: 1px solid #fff;
	text-align: center
}
.menu-holder {
	padding-left: 5%;
	padding-right: 5%;
	padding: 10px;
	color: #fff
}
.page .conA {
	justify-content: center
}
.page .splash-inner {
	position: relative;
	width: 90%;
	height: auto;
	border: 6px solid #fff;
	margin-left: 0;
	padding: 10px
}
.page .page-title {
	font-size: 1pc;
	line-height: 1.35;
	color: #fff;
	text-align: center
}
.page .menu-holder {
	padding-left: 5%;
	padding-right: 5%;
	padding: 10px;
	color: #fff
}
.conA .more {
	-moz-transition: -moz-transform .75s ease, opacity .75s ease;
	-webkit-transition: -webkit-transform .75s ease, opacity .75s ease;
	-ms-transition: -ms-transform .75s ease, opacity .75s ease;
	transition: transform .75s ease, opacity .75s ease;
	-moz-transition-delay: 3.5s;
	-webkit-transition-delay: 3.5s;
	-ms-transition-delay: 3.5s;
	transition-delay: 3.5s;
	-moz-transform: translateY(0);
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	border: 0;
	bottom: -20px;
	color: inherit;
	font-size: .8em;
	line-height: 1.5em;
	height: 8.5em;
	left: 50%;
	letter-spacing: .225em;
	margin-left: -8.5em;
	opacity: 1;
	outline: 0;
	padding-left: .225em;
	position: absolute;
	text-align: center;
	text-transform: uppercase;
	width: 16em;
	z-index: 1
}
}
.target_area {
	width: 100%
}
.target_area .txtarea {
	background: #f69
}
.target_area .container {
	padding: 30px 20px 50px;
	color: #fff;
	text-align: left;
	width: 100%;
	max-width: 750pt;
	margin: 0 auto;
	text-align: center
}
.target_area .container h2 {
	font-size: 2.5rem
}
section#content1, section#content2, section#content3, section#content4 {
	width: 100%
}
.content_image {
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	width: 50%;
	height: 350px;
	float: left;
	position: relative;
	-moz-transition: all .8s;
	-o-transition: all .8s;
	-webkit-transition: all .8s;
	transition: all .8s;
	overflow: hidden
}
.target_1 {
	background-image: url(../img/image3.png)
}
.target_2 {
	background-image: url(../img/image5.png)
}
.target_3 {
	background-image: url(../img/image4.png)
}
.target_4 {
	background-image: url(../img/image2.png)
}
.content_image:hover {
	overflow: hidden;
	opacity: .8
}
.content_image:hover, .message {
	-moz-transition: all .5s;
	-o-transition: all .5s;
	-webkit-transition: all .5s;
	transition: all .5s
}
.message {
	z-index: 2;
	position: absolute;
	width: 60%;
	text-align: center;
	top: 33%;
	font-size: 2vw;
	padding: 30px;
	color: #fff;
	left: 20%;
	font-weight: 700;
	border: 2px solid #fff;
	background-image: linear-gradient(to right, transparent 50%, rgba(255,102,153,.7) 50%);
	background-position: 0 0;
	background-size: 200% auto
}
.content_image:hover .message {
	background-position: -100% 0;
	color: #fff
}

@media screen and (max-width:768px) {
.content_image {
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	width: 100%;
	height: 250px;
	float: none;
	position: relative;
	-moz-transition: all .8s;
	-o-transition: all .8s;
	-webkit-transition: all .8s;
	transition: all .8s;
	overflow: hidden
}
.message {
	font-size: 18px;
	width: 80%;
	left: 10%;
	padding: 20px
}
.target_area .container h2 {
	font-size: 1.5rem
}
}
.conB .container {
	padding-top: 5pc;
	padding-bottom: 20px
}
.conB .text {
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 60px;
	text-align: center
}
.conB h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 20px
}
.conB p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.8;
	opacity: .8
}
.conB a {
	color: #5d9ab2;
	color: var(--main-color);
	text-decoration: none
}
.conB a:hover {
	text-decoration: underline
}
.conB .icon {
	display: inline-block;
	margin-bottom: 20px;
	font-size: 40px;
	width: 2em;
	line-height: 2em;
	border-radius: 50%;
	text-align: center;
	background-color: #ddd;
	background-color: var(--icon-bk-color);
	color: #fff;
	color: var(--icon-color)
}

@media(min-width:768px) {
.conB .container {
	display: flex;
	max-width: 750pt;
	max-width: var(--large-width);
	margin-left: auto;
	margin-right: auto
}
.conB .text {
	flex: 1
}
}
.page-id-1 .conC {
	margin-bottom: 0;
	border: 0;
	padding: 0
}
.page-id-2 .conC {
	margin: 60px auto 0;
	border: 0;
	padding: 0
}
.conC .text div {
	padding: 20px;
	margin: 0 auto
}
.conC h2 {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 1.5rem;
    color: #f69;
    border-bottom: 1px solid #f69;
}
.conC p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: .9rem;
	line-height: 1.7
}
.conC .bold {
	font-weight: 700
}
.conC .btn {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	border-radius: 6px;
	background-color: #f69;
	color: #fff;
	font-size: 1.1rem;
	text-decoration: none
}
.conC .btn:hover {
	background-image: linear-gradient(hsla(0,0%,100%,.2), hsla(0,0%,100%,.2))
}
.conC .photo {
	background-image: url(../img/image7.jpeg)
}
.conC .photo, .page-id-1 .conC .photo {
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover
}
.page-id-1 .conC .photo {
	background-image: url(../img/president.jpg)
}
.page-id-2 .conC .photo {
	min-height: 25px;
	background-image: linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,.5)), url(../img/conC_bg.jpg);
	background-position: center;
	background-size: cover;
	position: relative
}
.page-id-2 .conC .photo span {
	color: #fff;
	position: absolute;
	left: 20%;
	top: 37%;
	z-index: 2;
	width: 70%;
	text-align: center;
	font-size: 2vw;
	padding: 30px;
	font-weight: 700;
	border: 2px solid #fff
}
.greeting {
	width: 100%;
	margin: 0 auto 130px
}
.greeting-title {
	border-bottom: 1px solid #c61a26;
	width: 100%;
	max-width: 900px;
	margin: 0 auto
}
.greeting h2 {
	margin: 130px auto 60px;
	color: #f69;
	background: -webkit-linear-gradient(0, #f69, #e80c30, red);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent
}
.greeting h2, .greeting-title p {
	text-align: center;
	font-weight: 400
}
.greeting-title p {
	font-size: 1rem;
	color: #000;
	margin: 30px auto
}
.greeting-txt {
	width: 100%;
	max-width: 900px;
	margin: 30px auto 0
}
.greeting-txt .bold {
	margin: 60px auto 0;
	font-weight: 700;
	text-align: center;
	color: #f69;
	background: -webkit-linear-gradient(0, #f69, #e80c30, red);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent
}
.greeting-title .president {
	display: block;
	margin: 0 auto;
	width: 250px
}
.bold01 {
	font-size: 1.3rem;
	color: #e80c30
}

@media screen and (max-width:768px) {
.greeting {
	width: 100%;
	margin: 0 auto 30px
}
.greeting-title {
	padding: 20px
}
.greeting h2 {
	font-size: 1.5rem;
	text-align: left;
	margin: 0 auto 30px
}
.greeting-txt {
	padding: 0 20px
}
}

@media screen and (max-width:768px) {
.page-id-2 .conC {
	margin: 0 auto
}
.page-id-2 .conC .photo span {
	color: #fff;
	position: absolute;
	left: 10%;
	top: 42%;
	z-index: 2;
	width: 80%;
	text-align: center;
	font-size: 18px;
	padding: 10px;
	font-weight: 700;
	border: 2px solid #fff
}
}

@media(min-width:768px) {
.conC .container {
	min-height: 25pc
}
.conC .container, .page-id-1 .conC .container {
	display: flex;
	width: 100%;
	margin-left: auto;
	margin-right: auto
}
.page-id-1 .conC .container {
	flex-direction: row-reverse
}
.conC .photo, .conC .text {
	flex: 2
}
.conC .text div {
    padding: 30px;
    margin: 0 auto;
}
}
.conF .text {
	padding: 20px
}
.conF h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 1.5rem;
	color: #f69;
	border-bottom: 1px solid #f69
}
.conF p {
	margin-top: 0;
	margin-bottom: 20px;
	line-height: 1.8
}
.conF .btn {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #f69;
	color: #fff;
	font-size: 14px;
	text-decoration: none
}
.conF .btn:hover {
	background-image: linear-gradient(hsla(0,0%,100%,.2), hsla(0,0%,100%,.2))
}
.conF .photo {
	background-image: url(../img/image6.jpeg)
}
.conF .photo, .page-id-2 .conF .photo {
	min-height: 25pc;
	background-position: center;
	background-size: cover
}
.page-id-2 .conF .photo {
	background-image: linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,.5)), url(../img/conF_bg.jpg);
	position: relative
}
.page-id-2 .conF .photo span {
	color: #fff;
	position: absolute;
	left: 20%;
	top: 37%;
	z-index: 2;
	width: 60%;
	text-align: center;
	font-size: 2vw;
	padding: 30px;
	font-weight: 700;
	border: 2px solid #fff
}
.company .conF .container {
	flex-direction: row-reverse
}
.company .conF .photo {
	background-image: url(../img/president.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%
}

.greeting__link {
	background: #f69;
	display: block;
	width: 200px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	padding: 10px 0;
}

@media(min-width:768px) {
.conF .container, .page-id-2 .conF .container {
	display: flex;
	width: 100%;
	margin-left: auto;
	margin-right: auto
}
.page-id-2 .conF .container {
	flex-direction: row-reverse
}
.company .conF .container {
	width: 900px;
	margin: 0 auto
}
.conF .photo, .conF .text {
	flex: 2
}
.conF .text div {
	padding: 60px
}
	
.conF .text img, .conE .text img, .conG .text img, .conH .text img {
	width: 70%;
	display: block;
	margin: 0 auto;
}	
	.conI .text .min {
		font-size: 0.8rem!important;
		margin-top: 20px;
	}
	
	.conI .text img {
		width: 90%;
	}
	
}
.conG .text {
	padding: 20px
}
.conG h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 1.5rem;
	color: #f69;
	border-bottom: 1px solid #f69
}
.conG p {
	margin-top: 0;
	margin-bottom: 20px;
	line-height: 1.8
}
.conG .btn {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #f69;
	color: #fff;
	font-size: 14px;
	text-decoration: none
}
.conG .btn:hover {
	background-image: linear-gradient(hsla(0,0%,100%,.2), hsla(0,0%,100%,.2))
}
.page-id-2 .conG .photo {
	min-height: 25pc;
	background-image: linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,.5)), url(../img/conG_bg.jpg);
	background-position: center;
	background-size: cover;
	position: relative
}
.page-id-2 .conG .photo span {
	color: #fff;
	position: absolute;
	left: 20%;
	top: 37%;
	z-index: 2;
	width: 60%;
	text-align: center;
	font-size: 2vw;
	padding: 30px;
	font-weight: 700;
	border: 2px solid #fff
}

@media(min-width:768px) {
.conG .container, .page-id-2 .conG .container {
	display: flex;
	width: 100%;
	margin-left: auto;
	margin-right: auto
}
.page-id-2 .conG .container {
	flex-direction: row-reverse
}
.conG .photo, .conG .text {
	flex: 2
}
.conG .text div {
	padding: 60px
}
}
.page-id-1 .conE {
	margin-bottom: 0;
	border: 0;
	padding-bottom: 0
}
.conE .text div {
	padding: 20px;
	margin: 0 auto
}
.conE h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 1.5rem;
	color: #f69;
	border-bottom: 1px solid #f69
}
.conE p {
	margin-top: 0;
	margin-bottom: 20px;
	line-height: 1.8
}
.conE .btn {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #f69;
	color: #fff;
	font-size: 14px;
	text-decoration: none
}
.conE .btn:hover {
	background-image: linear-gradient(hsla(0,0%,100%,.2), hsla(0,0%,100%,.2))
}
.conE .photo {
	background-image: url(../img/image6.jpeg)
}
.conE .photo, .page-id-1 .conE .photo {
	min-height: 25pc;
	background-position: center;
	background-size: cover
}
.page-id-1 .conE .photo {
	background-image: url(../img/office01.jpg)
}
.page-id-2 .conE .photo {
	min-height: 25pc;
	background-image: linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,.5)), url(../img/conE_bg.jpg);
	background-position: center;
	background-size: cover;
	position: relative
}
.page-id-2 .conE .photo span {
	color: #fff;
	position: absolute;
	left: 20%;
	top: 37%;
	z-index: 2;
	width: 60%;
	text-align: center;
	font-size: 2vw;
	padding: 30px;
	font-weight: 700;
	border: 2px solid #fff
}

@media(min-width:768px) {
.conE .container, .page-id-1 .conE .container {
	display: flex;
	width: 100%;
	margin-left: auto;
	margin-right: auto
}
.conE .photo, .conE .text {
	flex: 2
}
.conE .text div {
	padding: 60px;
	margin: 0 auto
}
}
.conD {
	width: 100%;
	height: 25pc;
	background: url(../img/image7.png)no-repeat;
	background-size: cover;
	background-position: center;
	position: relative
}
.conD .container {
	width: 100%;
	display: flex
}
.conD .container a {
	width: 50%;
	height: 25pc;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	color: #fff;
	font-size: 3rem;
	background: hsla(0,0%,100%,.1)
}
.conD .container a:hover {
	transition: .5s;
	background: hsla(0,0%,100%,0)
}
.page-id-1 .conH {
	margin-bottom: 0;
	border: 0;
	padding-bottom: 0
}
.conH .text div {
	padding: 20px;
	margin: 0 auto
}
.conH h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 1.5rem;
	color: #f69;
	border-bottom: 1px solid #f69
}
.conH p {
	margin-top: 0;
	margin-bottom: 20px;
	line-height: 1.8
}
.conH .btn {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #f69;
	color: #fff;
	font-size: 14px;
	text-decoration: none
}
.conH .btn:hover {
	background-image: linear-gradient(hsla(0,0%,100%,.2), hsla(0,0%,100%,.2))
}
.conH .photo {
	min-height: 25pc;
	background-image: linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,.5)), url(../img/charts.jpg);
	background-position: center;
	background-size: cover;
	position: relative
}
.conH .photo span {
	color: #fff;
	position: absolute;
	left: 20%;
	top: 37%;
	z-index: 2;
	width: 60%;
	text-align: center;
	font-size: 2vw;
	padding: 30px;
	font-weight: 700;
	border: 2px solid #fff
}
.contents_logo {
	display: inline-block;
	margin: 0 auto;
	text-align: center;
	width: 100%
}

@media(min-width:768px) {
.conH .container {
	display: flex;
	width: 100%;
	margin-left: auto;
	margin-right: auto
}
.conH .photo, .conH .text {
	flex: 2
}
.conH .text div {
	padding: 60px;
	margin: 0 auto
}
}
.conI .text {
	padding: 20px
}
.conI h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 1.5rem;
	color: #f69;
	border-bottom: 1px solid #f69
}
.conI p {
	margin-top: 0;
	margin-bottom: 20px;
	line-height: 1.8
}
.conI .btn {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #f69;
	color: #fff;
	font-size: 14px;
	text-decoration: none
}
.conI .btn:hover {
	background-image: linear-gradient(hsla(0,0%,100%,.2), hsla(0,0%,100%,.2))
}
.conI .photo {
	min-height: 25pc;
	background-image: linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,.5)), url(../img/conI_bg.jpg);
	background-position: center;
	background-size: cover;
	position: relative
}
.conI .photo span {
	color: #fff;
	position: absolute;
	left: 20%;
	top: 37%;
	z-index: 2;
	width: 60%;
	text-align: center;
	font-size: 2vw;
	padding: 30px;
	font-weight: 700;
	border: 2px solid #fff
}

@media(min-width:768px) {
.conI .container {
	display: flex;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-direction: row-reverse;
	width: 100%;
	margin-left: auto;
	margin-right: auto
}
.conI .photo, .conI .text {
	flex: 2
}
.conI .text div {
	padding: 60px
}
}
.company-container {
	width: 100%;
	margin-top: 60px
}
.company-container .text {
	width: 100%;
	max-width: 45pc;
	padding: 15px
}
.company-container .text h2 {
	color: #f69;
	border-bottom: 1px solid #f69
}
.company-container .photo {
	margin-top: 60px;
	width: 90%;
	text-align: left;
	margin: 0 auto
}
.company-container .photo img {
	width: 100%;
	box-shadow: 0 10px 10px #00000075;
	border: 3px solid #fff
}
.company-philosophy {
	width: 100%;
	height: 100%;
	border-top: 1px solid #ccc;
	padding: 30px 0;
	background: url(../../common/img/company_bg.jpg)no-repeat;
	background-size: cover
}
.company-philosophy .container {
	width: 100%;
	max-width: 750pt;
	margin-left: auto;
	margin-right: auto
}
.company-philosophy .text {
	width: 100%;
	max-width: 45pc;
	padding: 15px;
	color: #fff;
	margin: 0 auto
}
.company-philosophy .text h2 {
	border-bottom: 1px solid #fff
}

@media(min-width:768px) {
.company-container .container {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: row-reverse;
	width: 100%;
	max-width: 750pt;
	margin-top: 60px;
	margin-left: auto;
	margin-right: auto
}
.company-container .photo {
	margin-top: 15px;
	width: 30%;
	text-align: right
}
.company-container .photo img {
	width: 100%;
	box-shadow: 0 10px 10px #00000075;
	border: 3px solid #fff
}
.company-philosophy {
	padding: 60px 0
}
}
.line {
	display: block;
	position: absolute;
	height: 200%;
	border: 1px solid #fff;
	text-align: right;
	width: 1px;
	left: 50%;
	top: 10px;
	transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg)
}

@media screen and (max-width:768px) {
.conD .container {
	width: 100%
}
}
.text .name {
    font-size: 1.1rem;
}
.text .name span {
    color: #f69;
    font-weight: 700;
    font-size: 1.3rem;
	margin-left: 8px;
}
.perfo-list {
	width: 100%;
	padding: 33px 0 30px;
	background: #f2f2f2
}
.perfo-list ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 750pt;
	margin: 0 auto;
	padding: 0
}
.perfo-list ul li {
	text-align: center;
	width: 190px
}
.perfo-list ul li h3 {
	color: #000;
	text-align: center;
	margin-top: 30px;
	font-size: .8rem;
	font-weight: 700
}
h3 .cross {
	color: #f69;
	font-weight: 700;
	font-size: 1rem
}
.perfo-list ul li a {
	display: inline-block;
	width: 190px;
	height: 190px;
	text-decoration: none;
}
.perfo-list ul li a img {
    width: 100%;
    border-radius: 50%;
    border: 5px solid #fff;
    -ms-filter: blur(2px);
    filter: blur(2px);
}
.perfo-list ul li a img:hover {
	border-radius: 0;
	transition: .5s
}
.btn-box {
	width: 100%;
	text-align: center
}

.lightbox .lb-image {
    -ms-filter: blur(3px)!important;
    filter: blur(3px)!important;
}

@media screen and (max-width:768px) {
.perfo-list {
	padding: 0 0 30px
}
.perfo-list ul {
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	padding: 0
}
.perfo-list ul li a {
	display: inline-block;
	width: 130px;
	height: 130px;
	border-radius: 50%;
	background: url(../img/image3.png)no-repeat;
	border: 5px solid #fff;
	background-size: cover;
	background-position: center
}
}
.contact-btn {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 5pc;
	border: solid 3px currentColor;
	border-radius: 6px;
	color: #fff;
	font-size: 1pc;
	text-decoration: none;
	background: #ed174f;
	margin: 50px auto 0
}
.page .section-title, .section-title {
	color: #fff;
	text-align: center;
	position: relative;
	border: 0;
	font-size: 18px;
	padding: 40px 0;
	margin: 0
}
.section-title {
	background-image: linear-gradient(to right, #f69, #c81928)
}
.section-title:before {
	border-top: 20px solid #e44060;
	content: '';
	position: absolute;
	border-right: 20px solid transparent;
	border-left: 20px solid transparent;
	bottom: -20px;
	left: 43.7%;
	z-index: 2
}

@media screen and (min-width:768px) {
.section-title {
	background-image: linear-gradient(to right, #f69, #c81928);
	color: #fff;
	text-align: center;
	position: relative;
	border: 0;
	font-size: 46px;
	padding: 40px 0;
	margin: 0
}
.section-title:before {
	border-top: 40px solid #e44060;
	content: '';
	position: absolute;
	border-right: 40px solid transparent;
	border-left: 40px solid transparent;
	bottom: -30px;
	left: 48%;
	z-index: 2
}
.page .section-title {
	background-image: linear-gradient(to right, #f69, #c81928);
	text-align: center;
	position: relative;
	border: 0;
	font-size: 46px;
	padding: 40px 0;
	margin: 0
}
}
.skill-box, .skills-wrapper {
	display: block
}
.skill-box {
	margin: 40px auto;
	text-align: center
}
.skill-icon {
	width: 75pt;
	height: 75pt;
	font-size: 5rem;
	line-height: 92px
}
.skill-text {
	margin: 0
}

@media screen and (min-width:768px) {
.skills {
	padding: 5pc 0;
	background-color: #fff
}
.skills-wrapper {
	display: table;
	width: 80%;
	margin: 50px auto 0;
	table-layout: fixed
}
.skill-box {
	display: table-cell;
	text-align: center
}
.skill-title {
	margin: 0 20px 20px;
	font-size: 1.7rem;
	font-weight: 700
}
.skill-text {
	margin: 0 20px;
	line-height: 2
}
.skill-photo {
	width: 200px;
	height: 200px;
	margin: 0 auto 30px;
	border: 4px solid;
	border-radius: 50%;
	color: #f69;
	font-size: 8rem;
	line-height: 142px;
	　text-align: center
}
.photo-id-1 {
	background: url(../img/image3.png)no-repeat;
	background-size: cover;
	text-align: center
}
.photo-id-2 {
	background: url(../img/image5.png)no-repeat;
	background-size: cover
}
.photo-id-3 {
	background: url(../img/image11.png)no-repeat;
	background-size: cover
}
.photo-id-4 {
	background: url(../img/image10.png)no-repeat;
	background-size: cover
}
}
#top-btn {
	height: 50px;
	line-height: 50px;
	width: 100%;
	background: #ee4f77;
	text-align: center;
	position: relative
}
#top-btn a {
	display: block;
	width: 100%;
	text-decoration: none;
	color: #fff;
	font-size: 1.2rem
}
#top-btn a:hover {
	background: #df3957;
	transition: .5s
}
.contact {
	padding: 5pc 0 150px
}
.contact-form {
	width: 50%;
	margin: 50px auto 0
}
.contact-form input[type=text], .contact-form textarea {
	display: block;
	width: 100%;
	margin-bottom: 10px;
	padding: 15px;
	outline: 0;
	border: 1px solid #ddd;
	border-radius: 0;
	background-color: hsla(0,0%,100%,.05)
}
.contact-form input[type=text]:focus, .contact-form textarea:focus {
	box-shadow: 0 0 8px rgba(255,102,153,.5)
}
.contact-form textarea {
	height: 150px
}
.contact-form input[type=submit] {
	display: block;
	width: 200px;
	margin: 40px auto 0;
	padding: 15px;
	border: 1px solid hsla(0,0%,100%,.4);
	border-radius: 5px;
	background-color: #f69;
	color: #fff;
	cursor: pointer
}

@media screen and (max-width:768px) {
.contact {
	padding-bottom: 5pc
}
.contact-form {
	width: 100%
}
}
.page-id-3 #main {
	margin-top: 90px
}
.tabs {
	padding-bottom: 40px;
	background-color: #fff;
	width: 100%;
	margin: 75pt auto 0
}
.tab_item, .tabs {
	text-align: center
}
.tab_item {
	width: 20%;
	height: 50px;
	line-height: 50px;
	font-size: 1pc;
	display: inline-block;
	margin: 0 auto;
	float: left;
	color: #565656;
	font-weight: 700;
	transition: all .2s ease;
	cursor: pointer
}
.tab_item:hover {
	transition: .3s;
	opacity: .8;
	border-bottom: 3px solid #f69
}
input[name=tab_item] {
	display: none
}
.tab_content {
	display: none;
	clear: both;
	overflow: hidden
}
#all:checked~#all_content, #design:checked~#design_content, #programming:checked~#programming_content {
	display: block
}
.tabs input:checked+.tab_item {
	border-bottom: 3px solid #f69;
	color: #f69
}
.gl-inner {
	padding-bottom: 75pt;
	width: 100%;
	margin: 0 auto
}
#works .list-thumbnail {
	width: 100%;
	max-width: 750pt;
	margin: 130px auto 70px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap
}
#works .list-thumbnail li, .gl-inner {
    position: relative;
    margin-bottom: 20px;
}
#works .list-thumbnail li a {
	display: block;
	transition: all .3s;
	overflow: hidden
}
#works .list-thumbnail li a img {
    vertical-align: top;
    width: 200px;
    height: 200px;
    border: 0;
    line-height: 0;
    object-fit: cover;
    -ms-filter: blur(4px);
    filter: blur(4px);
}
.list-thumbnail li a:after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	box-shadow: 0 0 0 1px #000 inset;
	transition: all .3s
}
.works_head {
	width: 100%;
	height: 67vh;
	background: #f7f8fa;
	padding-bottom: 75pt
}
.works-head-container {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center
}
.works-head-txt {
	width: 440px;
	margin-right: 20px
}
.works-head-txt h1 {
	font-size: 4rem;
	margin: 0
}
.css-slider {
	width: 25pc;
	height: 300px;
	overflow: hidden
}
.slide-item {
	width: 25pc;
	height: 300px;
	float: left;
	position: relative
}
.slide-item img {
    width: 100%;
    -ms-filter: blur(4px);
    filter: blur(4px);
}
.slider-wrapper {
	width: 300%;
	position: relative;
	left: 0;
	will-change: transform;
	animation: a 10s infinite
}
@keyframes a {
0 {
transform:translateX(0)
}
33% {
transform:translateX(-400px)
}
66% {
transform:translateX(-800px)
}
to {
transform:translateX(0)
}
}
.page-link-btn {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 750pt;
	margin: 0 auto
}
.page-link-btn a {
	width: 200px;
	line-height: 30px;
	font-size: 1pc;
	display: inline-block;
	margin: 0 auto;
	color: #565656;
	text-align: center;
	font-weight: 700;
	transition: all .2s ease;
	text-decoration: none;
	border-bottom: 2px solid #f69
}

@media screen and (max-width:768px) {
.works_head {
	width: 100%;
	height: auto;
	background: #f7f8fa;
	padding-bottom: 30px
}
.works-head-container {
	display: block;
	height: auto
}
.works-head-txt {
	width: 100%;
	margin-right: 0;
	text-align: center
}
.css-slider {
	width: 300px;
	height: 200px;
	overflow: hidden;
	margin: 0 auto
}
.page-link-btn {
	display: block;
	width: 100%;
	max-width: 750pt;
	margin: 30px auto;
	text-align: center
}
.page-link-btn a {
	width: 200px;
	line-height: 30px;
	font-size: 1pc;
	display: inline-block;
	margin: 0 auto 30px;
	color: #565656;
	text-align: center;
	font-weight: 700;
	transition: all .2s ease;
	text-decoration: none;
	border-bottom: 2px solid #f69
}
#works .list-thumbnail {
	margin: 60px auto 0;
	padding: 0;
	justify-content: space-around
}
#works .list-thumbnail li {
	width: 130px;
	height: 130px;
	margin-left: -1px;
	margin-top: -1px;
	margin-bottom: 30px;
	overflow: hidden
}
}
footer {
	color: #fff;
	background-color: #f69
}
footer .container {
	padding: 40px 20px
}

@media(min-width:768px) {
footer .container {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 750pt;
	margin: 0 auto
}
.footC {
	flex: 0 0 100%
}
}
.footA {
	margin-bottom: 30px
}
.footA h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 30px;
	letter-spacing: .2em
}
.footA p {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 14px
}
.footA a {
	color: inherit;
	text-decoration: none
}
.footB div {
	margin-bottom: 20px
}
.footB h3 {
	margin-top: 0;
	margin-bottom: 10px;
	border-bottom: solid 1px currentColor;
	font-size: 14px
}
.footB ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: space-around;
	align-items: baseline
}
.footB a {
	display: inline-block;
	padding: 5px;
	color: #fff;
	font-size: 1rem;
	text-decoration: none;
	border-bottom: 1px solid #ff86ae
}
.footB a:hover {
	background-color: rgba(0,0,0,.3)
}

@media(min-width:768px) {
.footB {
	width: 50%
}
.footB div:not(:first-child) {
	margin-left: 40px
}
}

@media screen and (max-width:768px) {
.footB ul {
	display: block
}
.footB a {
	width: 100%;
	margin-bottom: 5px
}
}
.footC {
	font-size: 9pt;
	text-align: center;
	font-family: Montserrat, sans-serif
}
.footD {
	margin-top: 20px
}
.footD ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none
}
.footD a {
	display: block;
	margin-right: 8px;
	padding: 0;
	color: inherit;
	font-size: 1pc;
	text-decoration: none;
	border: solid 1px currentColor;
	width: 2em;
	line-height: 2em;
	border-radius: 50%;
	text-align: center
}
.footD a:hover {
	background-color: rgba(0,0,0,.3)
}
header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	width: 100%
}
.nohero header {
	position: static;
	border-bottom: solid 1px #ddd
}
.headA {
	display: inline-block;
	line-height: 30px;
	padding: 10px;
	background-color: #f69;
	color: #fff;
	font-family: Montserrat, sans-serif;
	font-size: 19px;
	text-decoration: none
}
.headB ul {
	margin: 0;
	padding: 0;
	list-style: none
}
.headB ul li:last-of-type {
	border: 0
}
.headB a {
	display: block;
	padding: 15px;
	color: inherit;
	font-size: 1.1rem;
	text-decoration: none;
	color: #fff
}
.headB a:hover {
	background-color: rgba(0,0,0,.3)
}
.page-id-3 header {
	background: #fff;
	box-shadow: 0 4px 3px -3px rgba(51,51,51,.24706);
	position: fixed;
	top: 0;
	left: 0
}
.page-id-3 .headB a {
	display: block;
	padding: 15px;
	color: inherit;
	font-size: 1.1rem;
	text-decoration: none;
	color: #000
}
.page-id-3 header .container {
	margin: 0
}

@media(min-width:768px) {
header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 90%;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto
}
.headB ul {
	display: flex;
	align-items: baseline
}
.headA {
	display: inline-block;
	line-height: 70px;
	padding: 10px;
	background-color: #f69;
	color: #fff;
	font-family: Montserrat, sans-serif;
	font-size: 24px;
	text-decoration: none
}
}

@media(max-width:767px) {
header .container-small {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #fff
}
.headC {
	margin-right: 10px;
	padding: 0;
	border: 0;
	outline: 0;
	background: 0;
	font-size: 28px;
	opacity: .9;
	cursor: pointer;
	color: #000
}
.headC:hover {
	opacity: .3
}
.headB {
	display: none;
	background: #f69
}
}

@media(min-width:768px) {
.headC {
	display: none
}
.headB {
	display: block!important
}
}
.post {
	background: #fbc2db
}
.post .container {
	max-width: 50pc;
	margin-left: auto;
	margin-right: auto;
	padding: 30px 10px
}
.post h1 {
	padding-left: .5rem;
	border-left: solid .75rem #f69;
	font-size: 2rem
}
.post p {
	font-size: 1rem;
	line-height: 2
}
.post img {
	max-width: 100%
}
.bread ol {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none
}
.bread a {
	display: block;
	padding: 5px;
	color: inherit;
	font-size: .875rem;
	text-decoration: none
}
.bread a:after {
	margin-left: 10px;
	content: '\f054';
	font-family: FontAwesome;
	opacity: .3
}
.bread a:hover {
	background-color: rgba(0,0,0,.3)
}
.history {
	background-color: #f69;
	color: #fff;
	padding: 60px 0
}
.history .container {
	width: 980px;
	margin: 0 auto
}
.history .text {
	padding: 20px
}
.history h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 1.5rem
}
.history .photo {
	min-height: 300px;
	background-image: url(../img/image6.jpeg);
	background-position: center;
	background-size: cover
}
.history table {
	border-collapse: collapse;
	font-size: 1.2rem;
	width: 100%
}
.history tbody {
	width: 100%
}
.history td, .history th {
	padding-top: 1.8rem;
	padding-bottom: 1.8rem;
	padding-left: 1.8rem;
	margin-bottom: 20px;
	font-size: 1rem
}
.history th {
	padding-right: 2rem;
	text-align: left;
	word-break: keep-all
}
.history tr {
	border: 2px solid #ff86ae;
	width: 100%
}

@media screen and (max-width:768px) {
.history {
	padding: 30px 0
}
.history .container {
	width: 100%;
	margin: 0 auto
}
.history td, .history th {
	width: 100%;
	display: block;
	padding-top: 1.8rem;
	padding-bottom: 0;
	padding-left: 1.8rem;
	margin-bottom: 20px
}
.history td {
	padding-top: 0
}
}
.map {
	width: 100%
}
.map .gmap h5 {
	text-align: center;
	margin: 30px auto;
	padding-bottom: 20px;
	font-size: 1.5rem;
	color: #f69;
	border-bottom: 1px solid #f69
}
.map-left, .map-right {
	display: flex;
	align-items: center
}
.map-right {
	flex-direction: row-reverse
}
.map-left iframe, .map-right iframe {
	width: 100%
}
.map-left .map-text, .map-right .map-text {
	width: 100%;
	text-align: center
}

@media screen and (max-width:768px) {
.map-left, .map-right {
	display: block
}
}
.contact {
	margin-top: 20px;
	padding: 20px;
	border: solid 1px #ddd;
	border: solid 1px var(--gray-color)
}
.contact, .contact span {
	margin-bottom: 20px;
	text-align: center
}
.contact span {
	display: inline-block;
	font-size: 2.2rem;
	width: 2em;
	line-height: 2em;
	border-radius: 50%;
	background-color: #5d9ab2;
	background-color: var(--main-color);
	color: #fff;
	color: var(--icon-color)
}
.contact h2 {
	margin-top: 0;
	font-size: 1.2rem
}
.contact a {
	font-size: 1.4rem;
	color: inherit;
	text-decoration: none
}

@media(min-width:768px) {
.contact-wrap {
	display: flex
}
.contact {
	flex: 1
}
.contact:first-child {
	margin-right: 20px
}
}
.location iframe {
	width: 100%;
	height: 25pc;
	vertical-align: bottom
}
.location h2 {
	margin: 0;
	padding-top: 20px;
	padding-bottom: 20px;
	background-color: #5d9ab2;
	background-color: var(--main-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 1.5rem
}
.listA h1, .location h2 {
	text-align: center
}
.listA .container {
	display: flex;
	flex-wrap: wrap;
	max-width: 750pt;
	max-width: var(--large-width);
	margin: 30px auto
}
.listA article {
	flex: 1 1 300px;
	display: flex
}
.listA a {
	flex: 1;
	margin: 10px;
	display: block;
	border: solid 1px #ddd;
	border: solid 1px var(--gray-color);
	color: inherit;
	text-decoration: none
}
.listA a:hover {
	opacity: .8
}
.listA .photo {
	min-height: 150px;
	background-position: center;
	background-size: cover
}
.listA .text {
	margin: 10px
}
.listA h2 {
	font-size: 18px
}
.listA p {
	font-size: 14px;
	opacity: .8
}
.listB h1 {
	text-align: center
}
.listB .container {
	display: flex;
	flex-wrap: wrap;
	max-width: 750pt;
	max-width: var(--large-width);
	margin: 30px auto
}
.listB article {
	flex: 1 1 384px;
	display: flex
}
.listB a {
	flex: 1;
	margin: 10px;
	display: flex;
	border: solid 1px #ddd;
	border: solid 1px var(--gray-color);
	color: inherit;
	text-decoration: none
}
.listB a:hover {
	opacity: .8
}
.listB .photo {
	flex: 2;
	min-height: 0;
	background-position: center;
	background-size: cover
}
.listB .text {
	flex: 3;
	margin: 10px
}
.listB h2 {
	font-size: 18px
}
.listB p {
	font-size: 14px;
	opacity: .8
}

@media(max-width:384px) {
.listB .photo {
	flex: 1
}
.listB p {
	display: none
}
}
.listC h1 {
	text-align: center
}
.listC .container {
	display: flex;
	flex-wrap: wrap;
	max-width: none;
	margin: 2px auto
}
.listC article {
	flex: 1 1 250px;
	display: flex
}
.listC a {
	position: relative;
	flex: 1;
	margin: 2px;
	display: block;
	border: solid 1px #ddd;
	border: solid 1px var(--gray-color);
	background-color: currentColor;
	color: inherit;
	text-decoration: none
}
.listC a:hover {
	opacity: .8
}
.listC .photo {
	min-height: 250px;
	background-position: center;
	background-size: cover;
	opacity: .6
}
.listC .text {
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 10px;
	color: #fff;
	color: var(--text-bright-color)
}
.listC h2 {
	margin: 0;
	font-size: 18px
}
.listC p {
	margin: 0;
	font-size: 14px;
	opacity: .8
}

@media(min-width:1000px) {
.listC article {
	flex: 1 1 25%
}
}
