@charset "utf-8";
/* CSS Document */


/*-------------------------
ナビゲーション
-------------------------*/
.topNaviBox {
	padding: 20px;
	width: 100%;
	display: flex;
	justify-content: space-between;
}
.navi__logo {
	width: calc(350 / 1920 * 100%);
	height: auto;
}
/*.g__navi ul,
.g__navi li {
	list-style: none;
	list-style-type: none;
}*/
.g__navi div {
	width: calc(100% / 7);
	display: flex;
	justify-content: center;
	align-items: center;
}
.g__navi div a {
	display: block;
	font-size: clamp(1rem, -0.333rem + 1.39vw, 2rem);
	font-weight: 700;
	transition: 0.5s;
}
.g__navi div a:hover {
	background: #000;
	color: #fff;
}

.global__navi {
	width: calc(1400 / 1920 * 100%);
	display: flex;
}
.global__navi .g__navi {
	width: 100%;
	display: flex;
	/*justify-content: space-between;
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);*/
}

/**/
.topNaviBox .btn__hamburger {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 30px;
    height: 24px;
    z-index: 12;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all 400ms;
    transition: all 400ms;
}
.topNaviBox .btn__hamburger span {
    position: absolute;
    width: 100%;
    height: 4px;
    background: #0072C5;
    border-radius: 10px;
    -webkit-transition: all 400ms;
    transition: all 400ms;
}
.topNaviBox .btn__hamburger span:nth-child(1) {
    top: 0;
}
.topNaviBox .btn__hamburger span:nth-child(2) {
    top: 10px;
}
.topNaviBox .btn__hamburger span:nth-child(3) {
    top: 20px;
}
.topNaviBox .btn__hamburger.open span:nth-child(1) {
    background: #ffffff;
    top: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.topNaviBox .btn__hamburger.open span:nth-child(2),
.topNaviBox .btn__hamburger.open span:nth-child(3) {
    top: 6px;
    background: #ffffff;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn__hamburger {
    display: none;
}
.global__navi .g__navi div {
    margin: 0 auto;
    padding: 0 5px;
}
.g__navi .coming__soon {
	color: #888888;
}
@media screen and (min-width: 768px) and (max-width:1299px) {
	.g__navi div a {
		font-size: clamp(1rem, -1rem + 2.5vw, 1.4rem);
	}
}
@media screen and (max-width: 767px) {
	.topNaviBox {
		padding: 10px 0 0 10px;
	}
	.navi__logo {
		width: calc(100% - 100px);
		margin: 0 0 10px 0;
	}
	.g__navi div a {
		font-size: 1.6rem;
	}
    .btn__hamburger {
        display: block;
    }
    .global__navi {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100%;
        background-color: rgba(73, 165, 224, 0.8);
        font-size: 1.6rem;
		color: #fff;
        box-sizing: border-box;
        z-index: 1;
        padding-top: 50px;
        transition: .3s;
    }
    .global__navi.open {
        right: 0;
    }
    .global__navi .g__navi {
        padding: 0;
        width: 100%;
        height: 100%;
        display: block;
        flex-direction: column;
        text-align: center;
        /*justify-content: center;*/
    }
    .global__navi .g__navi div {
        width: 86%;
        padding: 15px;
        border-bottom: #fff 1px solid;
    }
	.g__navi .coming__soon {
	color: #BCBCBC;
	}
}
/*end ナビゲーション*/

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

#sec__feature::before,
#sec__merit::before,
#sec__plan::before,
#sec__design::before,
#sec__result::before,
#sec__faq::before,
#sec__contact::before {
	content: "";
	display: block;
	padding-top: 10px;
}

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


.mv {
	width: 100%;
}

/*section Feature*/
.sec__ttl {
	text-align: center;
	margin: 100px auto 50px;
}
.sec__ttl h2 {
	font-size: clamp(4.8rem, 4rem + 1.67vw, 6rem);
}
.sec__ttl h2 span {
	display: block;
	border-top: 6px solid #3fa3f5;
	margin: 20px auto 0;
	width: calc(184 / 1920 * 100%);
}
.ttl__read {
	font-size: clamp(2rem, 1.333rem + 1.39vw, 3rem);
	margin: 3vw auto 0;
}
/*.featureBox {
	width: 1300px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 60px auto 0;
}
.fbox {
	width: calc(100% / 3 - 10px);
	position: relative;
}
.fbox__read {
	color: #fff;
	font-size: 2.4rem;
	background: rgba(0, 0, 0, 0.7);
	position: absolute;
	width: 100%;
	padding: 20px 0;
	text-align: center;
}*/
.featureBox {
	width: calc(1300 / 1920 * 100%);
	column-count: 3;
	column-gap: 10px;
	margin: 10px auto 0;
}
.fbox {
	position: relative;
}
.fbox__read {
	color: #fff;
	font-size: clamp(1.4rem, 0.733rem + 1.39vw, 2.4rem);
	background: rgba(0, 0, 0, 0.7);
	position: absolute;
	width: 100%;
	padding: 1.2vw 0;
	text-align: center;
	bottom: 0;
}
@media screen and (max-width: 767px) {
	#sec__feature {
		margin: 0 30px;
	}
	.sec__ttl h2 span {
		width: 35%;
	}
	.sec__ttl h2 {
		font-size: 4.2rem;
	}
	.featureBox {
		column-count: 1;
		width: 100%;
	}
	.fbox__read {
		font-size: 1.8rem;
		padding: 20px 0;
	}
	.fbox:nth-child(2),
	.fbox:nth-child(3) {
		margin: 10px 0 0;
	}
}

/*end section Feature*/

/*section Merit*/
.ttl__read .ttl__read-big {
	font-size: clamp(2.4rem, -1.333rem + 7.78vw, 8rem);
	font-weight: 700;
}
.merit__map {
	width: calc(1536 / 1920 * 100%);
	margin: 0 auto;
}
/*end section Merit*/

/*section Plan*/
.planBox {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 10px 10px;
	width: calc(1300 / 1920 * 100%);
	margin: 3vw auto 0;
}
.plan-box {
	border: 1px solid #BDCCD4;
	padding: 1.2vw;
}
.plan-box .plan-box__ttl {
	font-size: clamp(1.6rem, 1.067rem + 1.11vw, 2.4rem);
	font-weight: 700;
	padding: 0 0 1.2vw;
}
.plan-box .plan-box__read {
	font-size: clamp(1.4rem, 0.867rem + 1.11vw, 2.2rem);
}
.icon01:before,
.icon02:before,
.icon03:before,
.icon04:before,
.icon05:before,
.icon06:before,
.icon07:before,
.icon08:before,
.icon09:before {
	content: "";
	height: 76px;
	width: 76px;
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	vertical-align: middle;
	margin: 0 10px 0 0;
}
.icon01:before {
	background-image: url("../img/plan_icon01.png");
}
.icon02:before {
	background-image: url("../img/plan_icon02.png");
}
.icon03:before {
	background-image: url("../img/plan_icon03.png");
}
.icon04:before {
	background-image: url("../img/plan_icon04.png");
}
.icon05:before {
	background-image: url("../img/plan_icon05.png");
}
.icon06:before {
	background-image: url("../img/plan_icon06.png");
}
.icon07:before {
	background-image: url("../img/plan_icon07.png");
}
.icon08:before {
	background-image: url("../img/plan_icon08.png");
}
.icon09:before {
	background-image: url("../img/plan_icon09.png");
}
@media screen and (max-width: 1300px) {
	#sec__plan {
		padding: 0 30px;
	}
	.planBox {
		width: 100%;
	}
	.icon01:before,
	.icon02:before,
	.icon03:before,
	.icon04:before,
	.icon05:before,
	.icon06:before,
	.icon07:before,
	.icon08:before,
	.icon09:before {
		height: 40px;
		width: 40px;
	}
}
@media screen and (max-width: 767px) {
	.planBox {
		grid-template-columns: none;
	}
}
/*end section Plan*/

/*section Design*/
.ttl__read-middle {
	font-size: clamp(2.4rem, 0.8rem + 3.33vw, 4.8rem);
	font-weight: 700;
}
.ttl__read-color__orange {
	color: #FF6718;
}
.designBox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	width: calc(1300 / 1920 * 100%);
	margin: 0 auto;
}
.design-box {
	border: 1px solid #BDCCD4;
	padding: 1.2vw;
	width: calc(100% / 3 - 10px);
	display: flex;
	flex-direction: column;
}
.design-box__text {
}
.design-box__image {
	margin-top: auto;
}
.design-box__ttl {
	font-size: clamp(1.6rem, 1.067rem + 1.11vw, 2.4rem);
	font-weight: 700;
	padding: 0 0 1.2vw;
}
.design-box__read {
	font-size: clamp(1.4rem, 0.867rem + 1.11vw, 2.2rem);
}
.design-box img {
	margin: 30px auto 0;
}
.design-box a {
	display: block;
	background: #0071BC;
	padding: 30px;
	margin: 30px auto 0;
	font-size: clamp(1.6rem, 0.882rem + 0.5vw, 2.2rem);
	color: #fff;
	text-align: center;
	border-radius: 10px;
	transition: 0.5s;
}
.design-box a:hover {
	opacity: 0.5;
}
@media screen and (max-width: 1300px) {
	#sec__design {
		padding: 0 30px;
	}
	.designBox {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.design-box {
		width: 100%;
		margin: 30px auto 0;
		padding: 20px;
	}
}
/*end section Design*/


/*section Result*/
.result__text {
	font-size: clamp(1.8rem, 1rem + 1.67vw, 3rem);
	text-align: center;
}
/*end section Result*/


/*section FAQ*/
.faqBox {
	width: calc(1300 / 1920 * 100%);
	margin:0 auto;
}
.faq__ttl {
	font-size: clamp(1.6rem, 1.067rem + 1.11vw, 2.4rem);
	font-weight: 700;
	color: #0071BC;
}
.faq__read {
	font-size: clamp(1.4rem, 0.486rem + 1.43vw, 2.2rem);
	padding: 30px 0 0;
}
.faq-box {
	margin: 70px auto 0;
	padding: 0 0 30px 0;
	border-bottom: 1px solid #BDCCD4;
}
@media screen and (max-width: 767px) {
	#sec__faq {
		padding: 0 30px;
	}
	.faqBox {
		width: 100%;
	}
	.faq-box {
		margin: 40px auto 0;
	}
	.faq__read {
		padding :15px 0 0;
	}
}
/*end section FAQ*/


/*section Form*/

#sec__form {
	margin: 100px auto;
	font-size: clamp(1.4rem, 0.486rem + 1.43vw, 2.2rem);
	font-weight: 700;
}
#sec__form form {
	width: calc(1300 / 1920 * 100%);
	margin: 0 auto;
}
.form__area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto 30px;
}
.form__ttl {
	width: 30%;
}
.form__input {
	width: 70%;
}
.form__input input,
.form__input textarea {
	border: 1px solid #DFE6EA;
	width: 100%;
	height: 3vw;
}
.form__input textarea {
	height: 10vw;
}
.form__ttl span {
	padding: 5px;
	margin: 0 0 0 10px;
	font-size: 1.2rem;
	display: inline-block;
	background: #d51d1d;
	color: #fff;
}
.form__btn {
	display: flex;
	width: calc(1300 / 1920 * 100%);
	margin: 80px auto 0;
}
.form-btn__reset,
.form-btn__submit {
	width: 18vw;
	margin: 0 auto;
	padding: 20px;
	text-align: center;
	border-radius: 10px;
}
.form-btn__reset {
	background: #BDCCD4;
	color: #000;
}
.form-btn__submit {
	background: #0071BC;
	color: #fff;
}
@media screen and (max-width: 768px) {
	#sec__form {
		padding: 0 30px;
		margin: 50px auto;
	}
	#sec__form form {
		width: 100%;
	}
	.form__area {
		font-size: 1.2rem;
		height: 12vw;
	}
	.form__input input {
		height: 12vw;
	}
	.form__area-contact {
		height: 30vw;
	}
	.form__area-contact textarea {
		height: 30vw;
	}
	.form__ttl span {
		font-size: 1.0rem;
		padding: 3px 5px;
	}
	.form__btn {
		margin: 30px auto 0;
		width: 100%;
	}
	.form-btn__reset,
	.form-btn__submit {
		width: 100%;
	}
	.form-btn__reset {
		margin-right:10px;
	}
}

/*end section Form*/



/*section Footer*/
.footer__bg {
	width: 100%;
	background: #0084C0;
	text-align: center;
}
.footer__bg img {
	width: calc(200 / 1920 * 100%);
	margin: 0 auto;
	padding: 20px 0 0;
}
.copyright__text {
	font-size: 1.0rem;
	color: #fff;
	padding: 10px 0 20px;
}
@media screen and (max-width: 767px) {
	.footer__bg img {
		width: 50%;
	}
}

/*end section Footer*/


/*お問い合わせ　mailform.php*/
#top-contact {
	margin: 30px auto;
	padding: 0 30px;
	width: calc(700 / 1920 * 100%);
}
#top-contact h2 {
	font-size: 3.2rem;
	font-weight: 700;
	text-align: center;
}
#formWrap {
	margin: 50px auto 0;
	font-size: 2.2rem;
	line-height: 2.0;
}
#formWrap .callout {
	margin: 50px auto 0;
	color: #f20000;
}
#formWrap .text-center {
	text-align: center;
	margin: 50px auto 100px;
}
.button {
	font-size: 1.8rem;
}
.button.small {
	font-size: 1.8rem;
}
.row {
	font-size: 1.8rem;
}
.row h3 {
	font-size: 2.4rem;
	font-weight: 700;
	margin: 50px auto 20px;
}
.row .row {
	margin: 50px auto 30px;
}
@media screen and (max-width: 1024px) {
	#top-contact {
		width: 100%;
	}
	#top-contact h2 {
		font-size: 2.4rem;
	}
	#formWrap {
		font-size: 1.6rem;
	}
	.button.small {
		font-size: 1.4rem;
		padding: 20px 50px;
	}
	.button.expanded {
		font-size: 1.4rem;
		padding: 20px 0;
	}
}
/*end mailform.php */




/*----------------------------------------
制作実績
----------------------------------------*/

[class^="recordBox"] {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: min(90%, 1300px);
	margin: 0 auto;
	padding: 0;
}
[class^="recBox"][class$="__left"],
[class^="recBox"][class$="__right"] {
	width: calc(100% / 2 - 20px);
	border: 1px solid #dcdcdc;
	display: flex;
	flex-direction: column;
	padding: 30px;
} 
[class^="box"][class$="__place"] {
	display: flex;
	flex-direction: column;
	/*flex-wrap: wrap;*/
	/*justify-content: space-between;*/
	border: 1px solid #9aabb4;
	padding: 30px;
}
[class^="box"][class$="__place__left"],
[class^="box"][class$="__place__right"] {
	/*width: calc(100% / 2 - 20px);*/
}
[class^="box"][class$="__place__right"] {
	margin: 30px auto;
}
[class^="box"][class$="__place__left"] img {
	border: 1px solid #dcdcdc;
}
[class^="box"][class$="__place__left"] a {
	transition: 0.5s;
}
[class^="box"][class$="__place__left"] a:hover {
	opacity: 0.5;
}
/*追加された場合はサイズを再調整*/
[class^="box"][class$="__place__right"] h5 {
	font-size: 2.4rem;
}
[class^="box"][class$="__place__right"] h4 {
	font-size: 3.6rem;
	padding: 0 0 20px 0;
}
[class^="box"][class$="__place__right"] .place__right__txt {
	font-size: 2.0rem;
	line-height: 1.75;
}
.recBox__btn {
	height: auto;
	margin-top: auto;
}
.recBox__btn a {
	display: block;
	width: min(90%, 300px);
	font-size: clamp(1.6rem, 0.797rem + 0.86vw, 2.4rem);
	font-weight: 700;
	text-align: center;
	margin: auto;
	padding: 20px 40px;
	background: #0071bc;
	color: #fff;
	border-radius: 10px;
	transition: 0.5s;
}
.recBox__btn a:hover {
	opacity: 0.5;
}
@media screen and (max-width: 767px) {
	[class^="recBox"][class$="__left"],
	[class^="recBox"][class$="__right"] {
		width: 100%;
	}
	[class^="recBox"][class$="__left"] {
		margin: 0 auto 30px;
	}
	[class^="box"][class$="__place__right"] {
		margin: 0 auto 30px;
	}
	[class^="box"][class$="__place__left"],
	[class^="box"][class$="__place__right"] {
		width: 100%;
	}
	[class^="box"][class$="__place__left"] img {
		margin: 0 0 30px 0;
	}
	[class^="box"][class$="__place__right"] h5 {
		font-size: 1.8rem;
	}
	[class^="box"][class$="__place__right"] h4 {
		font-size: 2.6rem;
		padding: 0 0 15px 0;
	}
	[class^="box"][class$="__place__right"] .place__right__txt {
		font-size: 1.8rem;
		line-height: 1.75;
	}
	[class^="box"][class$="__place__right"] a {
		margin: 20px auto 0;
	}
}


















