@charset "utf-8";

/*=================================
  全体設計
=================================*/
*{
	margin: 0;
	padding: 0;
	list-style: none;
	text-decoration: none;
    
}

body{
	background-color: #fff;
	font-family: Georgia, "Times New Roman", Times, "serif";
}

.wrapper{
    width: 100%;
    margin: 0 auto;
}

/*===== Googleフォント =====*/
.kaisei-decol-regular {
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}


/*=================================
  ヘッダー
=================================*/
#header{
	width: 100%;
    height: 13vh;
    margin: 0 auto;
    box-sizing: border-box;
    position: fixed;
	top: 0;
	left: 0;
    background-color: rgba(255,255,255,0.6);
    display: flex;
    justify-content: space-around;
    align-items: center;
    z-index: 100;
}

/*---------- ロゴ ----------*/
.style-logo img{
    width: auto;
    height: 80px;
    padding: 10px;
    margin: 0 auto;
}

.btn-big{
    display: block;
    cursor: pointer;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
}

.btn-big:hover{
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    opacity: 0.7;
}

/*---------- ナビゲーション ----------*/
nav{
    display: block;
}

nav ul{
    display: flex;
    justify-content: space-around;
    align-items: center;
    z-index: 50;
}

nav ul li{
    margin-left: 20px;
}

nav ul li a{
	width: 130px;
	height: 30px;
	border-radius: 20px;
	font-size: 20px;
	font-weight: bold;
	color: #021F59;
	display: block;
	text-align: center;
	align-content: center;
	font-style: normal;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

nav ul li a::after {
  background: #7EB9BF;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}

nav ul li a:hover{
    color: #fff;
}

nav ul li a:hover::after {
    transform: scale(1, 1);
}

.header_button {
    border: 3px #7EB9BF solid;
    padding: 8px 20px;
    border-radius: 30px;
    cursor: pointer;
	transition: .2s cubic-bezier(0.45,0,0.55,1);
}

#hmb{
    display: none;
    width: 32px;
    height: 28px;
    cursor: pointer;
    position: relative;
    background-color: rgba(255,255,255,0.5);
    padding: 10px;
    border-radius: 10px;
    z-index: 30;
}

#hmb span{
    width: 32px;
    height: 3px;
    display: block;
    background-color: #7EB9BF;
    position: absolute;
    transition: .2s;
}

#hmb span:first-child {top: 7;}

#hmb span:nth-child(2){top: 22px;}

#hmb span:last-child {top: 35px;}


/*=================================
  メイン画像
=================================*/
main{
    margin: 180px 30px;
    position: relative;
}

.mainimage img{
    width: 90%;
    margin: 0 auto;
    display: block;
    opacity: 0;
    transform: translateY(-20%);
    overflow: hidden;
    animation: fadein1 1s ease-out forwards;
}


/*=================================
  コンテンツ_ワークス
=================================*/
.contents_main{
	align-items: center;
}

/*---------- ワークス・コンタクトタイトル ----------*/
.title_box{
	width: 300px;
	height: 100px;
	margin-bottom: 30px;
	padding: 20px;
	margin: 0 auto;
}

h3{
	font-size: 80px;
	text-align: center;
	color: #021F59;
	font-family: Georgia, "Times New Roman", Times, "serif";
	font-weight: bold;
    line-height: 0.6;
}

h3 span{
	font-size: 24px;
	color: #021F59;
}


/*---------- ワークス・コンタクトタイトルフェードイン ----------*/
.title_fede{
	aspect-ratio: 16 / 9;
	opacity: 0;
	visibility: hidden;
	transition: all 1s;
	transform: translateY(150px);
}

.is-active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}


/*---------- ワークス本体 ----------*/
.works_box{
    width: 1300px;
    height: 770px;
	padding: 100px 50px;
	margin: 0 auto;
    background-color: #7eb9bf;
    margin-top: 30px;
    border-radius: 100px 30px;
    margin-bottom: 130px;
}

.works_box ul{
	width: 1300px;
	margin: 0 auto;	
	display: flex;
    flex-direction: row;
	flex-wrap: wrap;
}

.works_box ul li{
    width: 30%;
    padding-right: 43px;
}

.works_box img{
    box-shadow: 8px 8px 15px #58949a;
}

.works_box img:hover{
    transform: scale(1.04);
    transition: .4s;
}

.works_box ul li dl a:hover{
    opacity: 0.7;
}

.dt_dd{
	display: flex;
	margin-bottom: 20px;
}

.works_box ul li dl dt{
	width: 100px;
	height: 37px;
	font-size: 18px;
	font-weight: bold;
	background-color: #000;
	border-radius: 20px;
	color: #fff;
	text-align: center;
	line-height: 37px;
}

.works_box ul li dl dd{
	width: 310px;
	height: 37px;
	font-size: 16px;
	font-weight: bold;
	color: #021F59;
	text-align: center;
	line-height: 37px;
}

/*---------- ワークス本体フェードイン ----------*/
.content_fede{
    aspect-ratio: 16 / 9;
	opacity: 0;
	visibility: hidden;
	transition: all 1s;
	transform: translateY(150px);
}
    
.is-scrollIn {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
  
/*---------- ワークスボタン ----------*/
.works_button li{
    width: 250px;
	height: 50px;
    margin: 0 auto;
    align-content: center;
    padding-top: 30px;
}

.works_button li a{
	width: 250px;
	height: 50px;
    margin: 0 auto;
	font-size: 30px;
	font-weight: bold;
	color: #021F59;
	display: block;
	text-align: center;
	align-content: center;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.works_button li a::after {
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}

.works_button li a:hover{
    color: #7eb9bf;
}

.works_button li a:hover::after {
  transform: scale(1, 1);
}

.works_link{
    border: 3px #fff solid;
    padding: 8px 20px;
    border-radius: 40px;
    cursor: pointer;
	transition: .2s cubic-bezier(0.45,0,0.55,1);
}


/*=================================
  コンテンツ_コンタクト
=================================*/
.contact_box{
	width: 1400px;
	height: 570px;
	background-color: #7eb9bf;
	margin: 0 auto;
	margin-top: 30px;
    margin-bottom: 130px;
	align-items: center;
	border-radius: 30px 100px;
}

.contact_inner{
	display: flex;
	justify-content: space-between;
	margin: 0 70px;
}

.contact_left p{
	color: #021F59;
	font-size: 24px;
	font-weight: bold;
	margin-top: 55px;
	line-height: 1.5;
}

.contact_left img{
    width: 500px;
    margin: 0 auto;
}

.contact_right{
	width: 600px;
	height: 300px;
	background-color: #fff;
	border-radius: 50px;
	color: #021F59;
	font-size: 20px;
	font-weight: bold;
	padding: 50px;
    margin-top: 80px;
}

.contact_right p{
	line-height: 1.5;
}

/*---------- コンタクトボタン ----------*/
.contact_button li{
    margin: 0 auto;
    align-content: center;
    padding: 80px 0 50px 0;
}

.contact_button li a{
	width: 250px;
	height: 50px;
    margin: 0 auto;
	font-size: 30px;
	font-weight: bold;
	color: #021F59;
	display: block;
	text-align: center;
	align-content: center;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.contact_button li a::after {
  background: #7eb9bf;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}

.contact_button li a:hover{
    color: #fff;
}

.contact_button li a:hover::after {
  transform: scale(1, 1);
}

.contact_link{
    border: 3px #7eb9bf solid;
    padding: 8px 20px;
    border-radius: 40px;
    cursor: pointer;
	transition: .2s cubic-bezier(0.45,0,0.55,1);
}

/*---------- コンタクトのメールリンク ----------*/
.contact_mail a{
    width: 320px;
	height: 80px;
	margin: 0 auto;
    display: flex;
    align-items: center;
}

.contact_mail p{
    color: #021F59;
	text-decoration: underline solid #021F59;
    margin-left: 8px;
}

.contact_mail:hover{
	opacity: 0.7;
}

/*=================================
  フッター
=================================*/
footer{
	width: 100%;
	height: 697px;
	margin-top: 30px;
    background-image: url("image/footer_bg.png");
    background-repeat: no-repeat;
    background-size: cover;
}

.footer_inner{
	width: 1400px;
	height: 200px;
	margin: 0 auto;
	padding: 300px 0 0 0;
    position: relative;
	display: flex;
    align-items: center;
	justify-content: space-between;
}

/*---------- フッターナビ ----------*/
.footer_nav ul{
	display: flex;
	margin-top: 30px;
}

.footer_nav ul li{
	margin-left: 20px;
}

.footer_nav ul li a{
	width: 130px;
	height: 30px;
	border-radius: 30px;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	display: block;
	text-align: center;
	align-content: center;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.footer_nav ul li a::after {
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}

.footer_nav ul li a:hover{
	background-color: #fff;
	color: #7eb9bf;
}

.footer_nav ul li a:hover::after {
    transform: scale(1, 1);
}

.footer_button {
    border: 3px #fff solid;
    padding: 8px 20px;
    border-radius: 30px;
    cursor: pointer;
	transition: .2s cubic-bezier(0.45,0,0.55,1);
}

/*---------- フッターテキスト ----------*/
.footer_text{
	color: #fff;
	font-size: 20px;
	font-weight: bold;
}

.footer_text dd{
	margin-top: 20px;
    font-family: Georgia, "Times New Roman", Times, "serif";
}


/*=================================
  プロフィールページ
=================================*/
.profile_box{
    width: 1300px;
	padding: 0 50px 100px 50px;
	margin: 0 auto;
}

.profile_image{
    width: 426px;
    margin: 0 auto;
}

.profile_text dl{
    width: 1400px;
    margin: 0 auto;
    margin-top: 30px;
}

.profile_text dl dt{
    font-size: 50px;
    text-align: center;
}

.profile_text dl dd{
    font-size: 20px;
    text-align: center;
    margin: 10px auto;
}

.profile_text p{
    font-size: 30px;
    text-align: center;
    margin: 20px auto;
    line-height: 1.5;
}

.skill p{
    font-size: 30px;
    text-align: center;
    margin-top: 50px;
    line-height: 1.5;
}

.skill_icon{
    width: 300px;
    margin: 0 auto;
    margin-bottom: 130px;
    display: flex;
	justify-content: space-between;
}


/*=================================
  ワークスページ
=================================*/
.production_box{
    width: 1300px;
    height: 770px;
	padding: 0 50px 200px 50px;
	margin: 0 auto;
}

.production_box ul{
	width: 1300px;
	margin: 0 auto;
	display: flex;
    flex-direction: row;
	flex-wrap: wrap;
}

.production_box ul li{
    width: 30%;
    padding-right: 43px;
}

.production_box img{
    box-shadow: 8px 8px 15px #aaa;
}

.production_box img:hover{
    transform: scale(1.04);
    transition: .4s;
}

.production_box ul li dl a:hover{
	opacity: 0.7;
}

.production_box ul li dl dt{
	width: 100px;
	height: 37px;
	font-size: 18px;
	font-weight: bold;
	background-color: #000;
	border-radius: 20px;
	color: #fff;
	text-align: center;
	line-height: 37px;
}

.production_box ul li dl dd{
	width: 310px;
	height: 37px;
	font-size: 16px;
	font-weight: bold;
	color: #021F59;
	text-align: center;
	line-height: 37px;
}


/*=================================
  コンタクトページ
=================================*/
form {
	width: 900px;
	padding-bottom: 150px;
    margin: 0 auto;
	text-align: left;
}

legend {
	font-size: 22px;
	font-weight: bold;
	margin: 0 0 15px 0;
	color: #021F59;
}

label {
	display: block;
	font-size: 16px;
	font-weight: bold;
	margin: 0 0 5px 0;
	text-align: left;
    color: #021F59;
}

form input, form textarea,select {
	padding: 10px;
	margin: 2px 0 20px;
	border: 1px solid #ccc;
	width: 880px;
	font-size: 13px;
}

legend{
	text-align: left;
}

#personal,#corporation,#verify {
	float: left;
	width: 20px;
	height: 15px;
	margin: 0 0 5px 0;
}
.left {
	float: left;
	height: 20px;
	line-height: 1.3;
	font-size: 13px;
	font-weight: 100;
	margin: 0 15px 0 0;
}

select {
	width: 100%;
}

fieldset {
	margin: 0 0 30px 0;
	border: 0;
	border-bottom: 1px solid #7eb9bf;
	padding: 0 0 30px 0;
}

optgroup {
	color: #021F59;
}
select option {
	margin: 0 0 0 15px;
	color: #021F59;
}

#reset {
	background-color: #fff;
	color: #7eb9bf;
}


/*=================================
  制作物01
=================================*/
.works_SNSbanner{
    width: 1400px;
    height: 400px;
    margin: 0 auto;
    margin-top: 150px;
    text-align: center;
}

.works_SNSbanner img{
    width: 800px;
    box-shadow: 8px 8px 15px rgba(126,185,191,0.6);
    margin-bottom: 50px;
    opacity: 0;
    transform: translateY(-20%);
    overflow: hidden;
    animation: fadein1 1s ease-out forwards;
}

@keyframes fadein1 {
    to{
        opacity: 1;
        transform: translateY(0%);
    }
}

.works_detail_title{
    width: 100%;
    height: 100px;
    text-align: center;
    margin-bottom: 50px;
}

.works_detail_title h2{
    font-size: 40px;
    color: #021F59;
    font-weight: bold;
    line-height: 100px;
}

.works_detail_wrap{
    width: 1400px;
    height: 550px;
    margin: 0 auto;
    display: flex;
    margin-bottom: 150px;
}

.works_explanation-1{
    width: 350px;
    margin-right: 70px;
    height: 200px;
    color: #fff;
    border-radius: 30px;
    background-color: #7eb9bf;
    display: flex;
    justify-content: center;
}

.works_explanation-1 p{
    font-size: 20px;
    align-content: center;
    line-height: 1.5;
}

.works_explanation-2{
    width: 980px;
}

.works_explanation-2 ul li dl dt{
    font-size: 30px;
    color: #021F59;
    padding-bottom: 15px;
    border-bottom: 3px solid #7eb9bf;
}

.works_explanation-2 ul li dl dd{
    font-size: 20px;
    color: #021F59;
    padding: 10px 0 30px 0;
}


/*---------- 前後ページ矢印 ----------*/
.move_page{
    width: 1200px;
    margin: 0 auto;
    height: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 120px;
}

.move_page h3{
    font-size: 30px;
    font-weight: bold;
}

.page_arrow img{
    height: 21px;
    padding-top: 2px;
    margin: 0 8px;
}

.page_arrow a{
    font-size: 20px;
    font-weight: bold;
    color: #021F59;
    display: block;
    display: flex;
    transition: .3s;
}

.page_arrow a:hover{
    opacity: 0.6;
}

/*=================================
  制作物02
=================================*/
.works_banner_wrap{
    width: 1400px;
    height: auto;
    margin: 0 auto;
    margin-top: 150px;
    text-align: center;
    margin-bottom: 100px;
}

.works_banner-1{
    display: flex;
    flex-direction: column;
    margin-bottom: 50px;
    align-items: center;
    opacity: 0;
    transform: translateY(-20%);
    overflow: hidden;
    animation: fadein1 1s ease-out forwards;
}

.works_banner-1 img{
    width: 1000px;
    box-shadow: 8px 8px 15px rgba(126,185,191,0.6);
    margin-bottom: 10px;
}

.works_banner-1 p{
    font-size: 20px;
    color: #021F59;
}

.works_banner-2{
    display: flex;
    flex-direction: column;
    margin-bottom: 50px;
    align-items: center;
    opacity: 0;
    transform: translateY(-20%);
    overflow: hidden;
    animation: fadein1 1s ease-out forwards;
}

.works_banner-2 img{
    width: 1360px;
    box-shadow: 8px 8px 15px rgba(126,185,191,0.6);
    margin-bottom: 10px;
}

.works_banner-2 p{
    font-size: 20px;
    color: #021F59;
}

.works_banner-3{
    display: flex;
    flex-direction: column;
    margin-bottom: 50px;
    align-items: center;
    opacity: 0;
    transform: translateY(-20%);
    overflow: hidden;
    animation: fadein1 1s ease-out forwards;
}

.works_banner-3 img{
    width: 500px;
    box-shadow: 8px 8px 15px rgba(126,185,191,0.6);
    margin-bottom: 10px;
}

.works_banner-3 p{
    font-size: 20px;
    color: #021F59;
}

.works_banner-4{
    display: flex;
    flex-direction: column;
    margin-bottom: 50px;
    align-items: center;
    opacity: 0;
    transform: translateY(-20%);
    overflow: hidden;
    animation: fadein1 1s ease-out forwards;
}

.works_banner-4 img{
    width: 200px;
    box-shadow: 8px 8px 15px rgba(126,185,191,0.6);
    margin-bottom: 10px;
}

.works_banner-4 p{
    font-size: 20px;
    color: #021F59;
}

/*=================================
  制作物03
=================================*/
.works_postcard{
    width: 1400px;
    height: auto;
    margin: 0 auto;
    margin-top: 150px;
    text-align: center;
}

.works_postcard img{
    width: 500px;
    box-shadow: 8px 8px 15px rgba(126,185,191,0.6);
    margin-bottom: 50px;
    opacity: 0;
    transform: translateY(-20%);
    overflow: hidden;
    animation: fadein1 1s ease-out forwards;
}

/*=================================
  制作物04
=================================*/
.works_webdesign_wrap{
    width: 1400px;
    height: auto;
    margin: 0 auto;
    margin-top: 150px;
    text-align: center;
    margin-bottom: 100px;
}

.works_webdesign-1 img{
    width: 1400px;
    margin-bottom: 150px;
    opacity: 0;
    transform: translateY(-20%);
    overflow: hidden;
    animation: fadein1 1s ease-out forwards;
}

.designcomp_flex{
    width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.works_webdesign-2{
    display: flex;
    flex-direction: column;
    margin-bottom: 50px;
    align-items: center;
    opacity: 0;
    transform: translateY(-20%);
    overflow: hidden;
    animation: fadein1 1s ease-out forwards;
    
}

.works_webdesign-2 p{
    font-size: 30px;
    color: #021F59;
}

.works_webdesign-2 img{
    width: 800px;
    margin-top: 20px;
}

.works_webdesign-3{
    display: flex;
    flex-direction: column;
    margin-bottom: 50px;
    align-items: center;
    opacity: 0;
    transform: translateY(-20%);
    overflow: hidden;
    animation: fadein1 1s ease-out forwards;
}

.works_webdesign-3 p{
    font-size: 30px;
    color: #021F59;
}

.works_webdesign-3 img{
    width: 300px;
    margin-top: 20px;
}

/*=================================
  制作物05
=================================*/
.works_logo_wrap{
    width: 1400px;
    height: auto;
    margin: 0 auto;
    margin-top: 150px;
    text-align: center;
    margin-bottom: 150px;
}

.works_logo-1{
    display: flex;
    flex-direction: column;
    margin-bottom: 100px;
    align-items: center;
    opacity: 0;
    transform: translateY(-20%);
    overflow: hidden;
    animation: fadein1 1s ease-out forwards;
}

.works_logo-1 img{
    width: 1000px;
    margin-bottom: 20px;
}

.works_logo-1 p{
    font-size: 20px;
    color: #021F59;
}

.works_logo-2{
    display: flex;
    flex-direction: column;
    margin-bottom: 100px;
    align-items: center;
    opacity: 0;
    transform: translateY(-20%);
    overflow: hidden;
    animation: fadein1 1s ease-out forwards;
}

.works_logo-2 img{
    width: 600px;
    margin-bottom: 20px;
}

.works_logo-2 p{
    font-size: 20px;
    color: #021F59;
}

.works_logo-3{
    display: flex;
    flex-direction: column;
    margin-bottom: 100px;
    align-items: center;
    opacity: 0;
    transform: translateY(-20%);
    overflow: hidden;
    animation: fadein1 1s ease-out forwards;
}

.works_logo-3 img{
    width: 700px;
    margin-bottom: 20px;
}

.works_logo-3 p{
    font-size: 20px;
    color: #021F59;
}


/*=================================
  メディアクエリ
=================================*/
/*---------- SmartPhone用 ----------*/

@media (max-width: 768px){
    body{
        overflow-x: hidden;
    }
    
    nav{
        position: absolute;
        top: 13vh;
        right: 0;
        bottom: 0;
        width: 80%;
        height: 87vh;
        display: flex;
        z-index: 100; /* ハンバーガーメニューよりも手前に出さないとaが効かない */
        background-color: #F8EDA7;
        transform: translateX(100%);
        transition-property: all;
        justify-content: center;
        align-items: center;
        transition: all 0.5s ease-in-out;
    }
    
    nav ul{
        flex-direction: column;
    }
    
    nav ul li{
        margin-bottom: 100px;
    }
    
    #hmb{
        display: block;
    }
    
    .active #hmb span:first-child{
        top:22px;
        transform: rotate(45deg);
    }
    
    .active #hmb span:nth-child(2){
        opacity: 0;
    }
    
    .active #hmb span:last-child{
        top: 22px;
        transform: rotate(-45deg);
    }
    
    .active nav {
        transform: translateX(0%) !important;
    }
    
    .active::before{
        content: '';
        position: fixed;
        top: 13vh;
        left: 0;
        width: 100vw;
        height: 87vh;
        background-color: black;
        opacity: 0.2;
        z-index: 10;
    }
    
}






