@charset "UTF-8";

@media print, screen and (min-width:1200px) {

.alignright {
float: right;
margin: 0 0 50px 50px;
}

.alignleft {
float: left;
margin: 0 50px 50px 0;
}

.aligncenter {
display: block;
margin: 0 auto;
}

#spWrap {
width: 100vw;
overflow: hidden;
}

#mainImgBox {
position: relative;
width: 70vw;
height: 100vh;
overflow: hidden;
border-left: 20px solid #002772;
}

.mainImg {
position: absolute;
width: 70vw;
height: 100vh;
overflow: hidden;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
z-index:10;
opacity: 0;
left: 0;
bottom: 0;
-webkit-animation: anime 20s 0s infinite;
animation: anime 20s 0s infinite;
}

.mainImg:nth-of-type(2) {
-webkit-animation-delay: 5s;
animation-delay: 5s; }

.mainImg:nth-of-type(3) {
-webkit-animation-delay: 10s;
animation-delay: 10s; }

.mainImg:nth-of-type(4) {
-webkit-animation-delay: 15s;
animation-delay: 15s; }

@keyframes anime {
0% {
opacity: 0;
transform: scale(1);
}
5% {
opacity: 1;
}
25% {
opacity: 1;
}
30% {
opacity: 0;
transform: scale(1.2);
z-index: 9;
}
100% { opacity: 0 }
}

#name {
position: absolute;
font-family: 'Bebas Neue', cursive;
width: 470px;
height: 300px;
font-size: 15rem;
color: #002772;
text-align: left;
right: 8%;
top: 0;
bottom: 0;
margin: auto;
line-height: 130px;
z-index: 11;
}

#name span {
font-family: 'Roboto', sans-serif;
font-size: 1.2rem;
display: block;
color: #999;
line-height: 18px;
}

#nameJ {
position: absolute;
width: 120px;
height: 80%;
left: -35px;
top: 0;
bottom: 0;
margin: auto;
z-index: 12;
opacity: .3;
}

#copyrightTop {
position: absolute;
font-family: 'Roboto', sans-serif;
font-size: 1rem;
color: #999;
right: -30px;
bottom: 120px;
transform: rotate(-90deg);
line-height: 1;
}

#wrapGallery {
width: 100%;
margin-top: 200px;
}

#wrapGallery .number {
font-family: 'Bebas Neue', cursive;
font-size: 5rem;
color: #ccc;
line-height: 1;
}

#wrapGallery h2 {
font-family: 'Bebas Neue', cursive;
font-size: 10rem;
color: var(--themeColor);
margin-bottom: 60px;
line-height: 1;
}

#wrapGallery h2 span {
font-family: 'Roboto', sans-serif;
font-size: 1.2rem;
display: block;
color: #999;
line-height: 18px;
}

.wrapFlex {
width: 100%;
padding: 200px 0 0;
display: flex;
justify-content: space-between;
}

.wrapFlex:last-of-type {
padding-bottom: 200px;
}

.flexPhoto,
.flexProfile {
width: 60%;
}

.flexPhoto img {
width: 100%;
height: 700px;
object-fit: cover;
}

.flexTxt {
width: 40%;
text-align: justify;
padding: 0 100px;
display: table;
}

.flexTxt .inner {
display: table-cell;
vertical-align: middle;
}

.flexTxt .inner .number {
font-family: 'Bebas Neue', cursive;
font-size: 5rem;
color: #ccc;
line-height: 1;
}

.flexTxt h2 {
font-family: 'Bebas Neue', cursive;
font-size: 10rem;
color: var(--themeColor);
margin-bottom: 60px;
line-height: 1;
}

.flexTxt h2 span {
font-family: 'Roboto', sans-serif;
font-size: 1.2rem;
display: block;
color: #999;
line-height: 18px;
}

.btn {
position: relative;
background: var(--themeColor);
font-family: 'Bebas Neue', cursive;
width: 240px;
height: 65px;
font-size: 2rem;
color: #fff;
border: 1px solid #14334E;
border-radius: 100px;
cursor: pointer;
transition: .3s;
}

.btn span {
position: relative;
z-index: 1;
}

.btn:hover {
}

.btn::before {
position: absolute;
background-color: #fff;
content: "";
width: 63px;
height: 63px;
border-radius: 63px;
left: 0;
top: 0;
transition: transform ease .3s;
opacity: .3;
}

.btn:hover::before {
transform: translateX(175px);
}

.btn .arrowRound {
position: absolute !important;
display: block;
width: 20px;
height: 2px;
border-radius: 5px;
background-color: #fff;
right: 20px;
top: 0;
bottom: 0;
margin: auto;
z-index: 0;
}

.btnW .arrowRound {
background-color: #fff;
}

.btn .arrowRound::before {
content: "";
position: absolute;
top: 3px;
right: -2px;
display: block;
width: 10px;
height: 2px;
border-radius: 5px;
background-color: #fff;
transform: rotate(-45deg);
}

.btnW .arrowRound::before {
background-color: #fff;
}

.btn .arrowRound::after {
content: "";
position: absolute;
bottom: 3px;
right: -2px;
display: block;
width: 10px;
height: 2px;
border-radius: 5px;
background-color: #fff;
transform: rotate(45deg);
}

.twitterCo,
.fbCo {
width: 48%;
}

/**/

#bgProfile {
position: relative;
background: url("../img/bg_profile.jpg") no-repeat center top;
background-size: cover;
width: 100%;
height: 500px;
z-index: 0;
}

#bgWorks {
position: relative;
background: url("../img/bg_works.jpg") no-repeat center top;
background-size: cover;
width: 100%;
height: 500px;
z-index: 0;
}

#bgVoice {
position: relative;
background: url("../img/bg_voice.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 500px;
z-index: 0;
}

#bgContact {
position: relative;
background: url("../img/bg_contact.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 500px;
z-index: 0;
}

#contentsTitle,
#contentsTitlePr {
position: absolute;
font-family: 'Bebas Neue', cursive;
width: 100%;
font-size: 22rem;
text-align: left;
color: var(--themeColor);
line-height: 1;
top: 405px;
left: 60px;
z-index: 2;
}

.dot {
position: absolute;
background: url("../img/dot.png") repeat;
background-size: 6px;
width: 100%;
height: 100%;
left: 0;
top: 0;
z-index: 1;
}

#pankuzu {
position: relative;
width: 100%;
font-size: 1rem;
text-align: right;
margin: 0 auto;
padding: 20px 60px;
z-index: 3;
}

.wrapCo {
position: relative;
width: 1000px;
text-align: justify;
margin: 0 auto;
padding: 150px 0 60px;
}

.wrapFlexCo {
width: 100%;
padding: 200px 0 100px;
display: flex;
justify-content: space-between;
}

#profileName {
font-size: 4.6rem;
font-weight: 600;
color: var(--themeColor);
margin-bottom: 36px;
line-height: 1.5;
}

#profileName span {
font-family: 'Bebas Neue', cursive;
font-size: 1.6rem;
display: block;
color: #ccc;
line-height: 18px;
letter-spacing: .76em;
}

#worksFlex {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.works {
width: 460px;
text-align: justify;
margin-bottom: 40px;
}

.categoryTitle {
font-family: 'Bebas Neue', cursive;
font-size: 7rem !important;
color: var(--themeColor);
margin-bottom: 40px;
padding-bottom: 10px;
border-bottom: 1px dotted #ccc;
line-height: 1;
}

.categoryTitle span {
position: relative;
font-family: 'Noto Sans JP', sans-serif !important;
font-size: 1.6rem !important;
font-weight: 600;
color: #999;
margin-left: 15px;
top: -2px;
}

.worksCategory {
margin-bottom: 60px;
}








.contact dt p {
margin-bottom: 10px !important;
}

.wpcf7-submit {
background-color: #F88300;
width: 350px;
height: 100px;
font-size: 1.8rem;
font-weight: 600;
color: #fff;
margin-bottom: 100px;
border-radius: 350px;
border: solid 1px #F88300;
cursor: pointer;
transition: .3s;
}

.wpcf7-submit:hover {
background-color: #fff;
color: #F88300;
}

/**/

footer {
position: relative;
background: var(--themeColor);
width: 100%;
font-size: 1.4rem;
color: #ffff;
margin: 0 auto;
padding: 150px 0;
line-height: 1.5;
}

footer img {
width: 220px;
margin-bottom: 60px;
}

.fNav {
font-family: 'Bebas Neue', cursive;
display: flex;
justify-content: center;
margin: 0 auto;
}

.fNav li {
padding: 5px 0;
}

.fNav li a {
position: relative;
font-size: 2rem;
color: #fff;
margin: 0 10px;
}

.fNav li a:hover {
text-decoration: none;
}

.fNav li a::after {
position: absolute;
content: "";
width: 100%;
height: 1px;
background-color: #fff;
bottom: -2px;
left: 0;
-webkit-transform: scale(0, 1);
transform: scale(0, 1);
-webkit-transform-origin: left top;
transform-origin: left top;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
}

.fNav li a:hover::after {
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
}

#copyright {
font-family: 'Roboto', sans-serif;
font-size: 1rem;
margin-top: 60px;
}

.pagetop {
position: fixed;
background: var(--themeColor);
width: 60px;
height: 60px;
bottom: -60px;
right: 30px;
z-index: 200;
display: block;
border: 1px solid var(--themeColor);
border-radius: 60px;
transition: .3s;
}

.pagetop:hover {
background: #fff;
}

.arrowRoundUp {
position: absolute;
display: block;
width: 2px;
height: 20px;
border-radius: 5px;
background-color: #fff;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
z-index: 0;
}

.arrowRoundUp::before {
content: "";
position: absolute;
top: 0;
right: -1px;
display: block;
width: 10px;
height: 2px;
border-radius: 5px;
background-color: #14334E;
transform: rotate(-45deg);
}

.arrowRoundUp::before {
background-color: #fff;
}

.arrowRoundUp::after {
content: "";
position: absolute;
top: 0;
left: -1px;
display: block;
width: 10px;
height: 2px;
border-radius: 5px;
background-color: #fff;
transform: rotate(45deg);
}

.pagetop:hover .arrowRoundUp,
.pagetop:hover .arrowRoundUp::before,
.pagetop:hover .arrowRoundUp::after {
background-color: var(--themeColor);
}

}