@charset "utf-8";

/* 初期設定リセット */
*{margin: 0;padding: 0}

/* 基本設定 */
html,body {
margin: 0;
padding: 0;
width : 100%;
height: 100%;
}

body {
overflow-x: hidden;
font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight: 500;
color: #362e2b;
animation: fadeIn 2s ease 0s 1 normal;
-webkit-animation: fadeIn 2s ease 0s 1 normal;
padding-left: 280px !important;
}

.spbrand a {display: none;}
@media screen and (max-width: 680px) {
body {padding-left: 0 !important;}
.brand {display: none;}
.spbrand {display: block;}
.spbrand a {
position: absolute;
top: 10px;
right: 10px;
width: auto;
display: inline-block;
font-size: 1.8em;
font-family: 'IM Fell DW Pica SC', serif;
font-weight: normal;
letter-spacing: 0;
color: #fff;
text-decoration: none;
padding: 0px;
}
}

/* フェードインアニメーション */
@keyframes fadeIn {0% {opacity: 0} 100% {opacity: 1}}
@-webkit-keyframes fadeIn {0% {opacity: 0} 100% {opacity: 1}}
@-webkit-keyframes 'fadeIn' {0% {opacity:0;} 100% {opacity:1;}}
.fadeIn, img.fadeIn {
-webkit-animation-name: 'fadeIn';
-webkit-animation-duration: 2s;
-webkit-animation-timing-function: ease-in;
-webkit-animation-iteration-count: 1;
}

/* ヘッダー背景画像切り替え */
.bg-slider {
width: 100%;
height: 100vh;
background-position:center center;
background-size: cover;
align-items: center;
justify-content: center;
position: relative;
padding: 30px 50px;
}

/* ヘッダー背透過 */
.bg-slider::after {
/* 透過した黒を重ねる */
background-color: rgba(0,0,0,0.7);
/* どの範囲に重ねるかを指定 */
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
content: ' ';
z-index:2;
}

/* ヘッダーロゴ */
.brand, .spbrand {
position: relative;
padding: 0;
margin: 0;
z-index: 10 !important;
}

.brand a {
width: auto;
display: inline-block;
font-size: 1.8em;
font-family: 'IM Fell DW Pica SC', serif;
font-weight: normal;
letter-spacing: 0;
color: #fff !important;
text-decoration: none;
padding: 0px;
}

/* ヘッドコピー */

.headline {
position: relative;
display: block;
color: #fff;
padding: 0px;
margin: 200px 0 0 !important;
width: 100%;
z-index: 10 !important;
}

.headline h1 {
position: relative;
display: block;
font-size: 3.5em;
margin: 0;
line-height: 1.25;
font-family: 'IM Fell DW Pica SC', serif;
font-weight: normal;
letter-spacing: 0;
text-align: right;
}

.headline h2 {
position: relative;
display: block;
font-size: 1.2em;
margin: 0;
line-height: 1.25;
font-weight: normal;
letter-spacing: 1em;
text-align: right;
text-indent: 10em;
}

/* コンテンツブロック */
section {
padding: 5em;
}

/* コンテンツ内部 */
div {margin: 0 !important;}

h1, h2, h3, h4, h5 {font-weight: normal;margin: 0;}

section h2 {
margin-bottom: 1em;
}

h3 {margin-bottom: 1em;}

.bg-gray {background: #464242;color:#fff;}

.sub-title {
font-family: 'IM Fell DW Pica SC', serif;
font-weight: normal;
font-size: 6em;
line-height: 1;
padding: 0;
margin: 0 0 0px;
color: #eee;
}

.bg-gray .sub-title {color: #4e4848;}

p {
font-size: 0.9em;
margin-bottom: 1em;
line-height: 1.5;
}

hr {border:none;}

.title {
font-size: 1.1em !important;
margin: 0;
padding: 5px;
text-align: center;
}

.fixed {
position: fixed;
top: 0px;
left: 0;
z-index: 9999;
}

.img-center {
margin-right: auto !important;
margin-left: auto !important;
}

/*タブ切り替え全体のスタイル*/
.tabs {
padding-bottom: 40px;
background-color: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
width: 100%;
margin: 0 auto;}

/*タブのスタイル*/
.tab_item {
width: calc(100%/3);
height: 40px;
border-bottom: 3px solid #413c32;
background-color: #d9d9d9;
line-height: 40px;
font-size: 0.8em;
text-align: center;
color: #565656;
display: block;
float: left;
text-align: center;
font-weight: bold;
transition: all 0.2s ease;
}
.tab_item:hover {
opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
display: none;
padding: 40px 40px 0;
clear: both;
overflow: hidden;
}

/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#programming:checked ~ #programming_content,
#design:checked ~ #design_content {
display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
background-color: #413c32;
color: #fff;
}

/* フッター */
footer {
position: relative;
padding: 2em 0 !important;
}

/* フッターロゴ */
.brand_f {
position: relative;
display: block;
font-size: 1.4em;
padding: 0;
margin: 0;
font-family: 'IM Fell DW Pica SC', serif;
font-weight: normal;
letter-spacing: 0;
}

footer img {max-width: 160px;}
footer a {text-decoration: none;color: #333;}

.sns {margin: 5em auto 0 !important;}
.sns span {margin: 0 1em;}
.sns span img {width: 20px; height: 20px;}

/* スマホ表示設定 */
@media screen and (max-width: 680px) {
.brand {font-size: 0.8em;padding: 10px;}
.bg-slider {
max-width: 100%;
height: 70vh;
background-position:center center;
background-size: auto 80vh !important;
align-items: center;
justify-content: center;
position: relative;
overflow: hidden !important;
padding: 10px;
}
.headline {margin: 30vh auto 0 !important;}
.headline h1 {
margin: 0;
padding: 0;
font-size: 2em;
text-align: center;
}
.headline h2 {
font-size: 1.2em;
margin-top: 1em;
text-align: center;
text-indent: 0;
}
section {padding: 0 2%;}
.tab_content {padding: 0;}
.sub-title {font-size: 3em;}
.default {margin: 50px 0;}
.tabs {box-shadow: none;}
.tab_item {
width: calc(88%/3);
border: none;
background: #f3efe9;
border-radius: 30px;
height: 30px;
margin: 2%;
line-height: 30px;
font-size: 0.8em;
}
.sub-title {margin: 2em 0 0;}
.sub-title {padding-top: 1em;}
.default {margin: 0 !important;}
.default h2 {margin-bottom: 0.5em;font-size: 1.1em;}
.prof {max-width: 160px;}
}
