@charset "utf-8";

/*---------------------------------
リセットCSS
---------------------------------*/
* {
    margin: 0;
    padding: 0;
	text-decoration: none;
	list-style: none;
    box-sizing: border-box;
}
/*---------------------------------
全体設計
---------------------------------*/
body{
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size:24px;
    color:#000;
}
.clear { 
	clear: both;
}
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
/*---------------------------------
中央寄せにする記述
---------------------------------*/
.wrapper{
	margin:0 auto;
	width:100%;
    max-width:920px;
}
div#main_img{/*-メインビジュアル用-*/
	margin:0 auto;
    width:100%;
	max-width:1920px;
}    
/*---------------------------------
ヘッダー
---------------------------------*/
header h1{ /*-K's Portfolio-*/
    width:100%;
	margin:0 auto;
    padding:90px 0 40px;
	font-size: 40px;
	float:left;
}
header h1 a:link{
    color: #000;
}
/*---------------------------------
グローバルナビ
---------------------------------*/
header nav ul li a{
	color: #000;
	font-size: 30px;
}
/*---------------------------------
コンテンツ
---------------------------------*/
h2{/*Gallery*/
    font-size: 40px;
	text-align:center;
	margin-top:80px;
	margin-bottom:45px;
}
.gallery{/*トップページの画像一覧*/
    margin-bottom: 100px;
    cursor: pointer;
    overflow: hidden;
    width: 100%;
}
.gallery img{
    transition: transform .6s ease; /* ゆっくり変化させる */
}
.gallery img:hover{
    transform: scale(1.1); /* 拡大 */
}

figure{/*下６画像の下を表示しない*/
	overflow:hidden;
	width:100%;
	height:255px;
    margin-left: auto;
    margin-right: auto;
}
.col{
    width:80%;
    padding:0 10px 30px;
    margin-left: auto;
    margin-right: auto;
}
.row::before, .row::after{
    content:"";
    display: table;
}
.row::after{
    clear:both;
}
img{
    width:90%;
    display: block;
    margin: 0 auto;
    max-width:100%;
    vertical-align: middle;
}
section{/*Galleryの画像と文章*/
	margin:30px 0 160px 0;
}
section p{
    padding:5px 50px;
    font-size:20px;
}
/*---------------------------------
TOPへ
---------------------------------*/
.gotop{
    display: none;
}
html{
    scroll-behavior: smooth;/* スムーズにスクロール */
}
.gotop{
    display: block;/*再表示*/
    width: 80px;
    height: 80px;
    border-radius: 50%;/* 円 */
    background: rgba(0,0,0,0.25); 
    opacity: 0.5;/* 重なっても読めるように不透明度を下げる */
    position: fixed;/*スクロール時に固定する*/
    bottom: 180px;/*下方向から*/
    right: 30px;/*右方向から*/
    z-index: 10000; /*最上位レイヤーに指定*/
}
.gotop::before{/* ------上向き三角の指定------ */
    content: "";
    display: block;
    border-top: 2px solid #333;/* ⑥三角の線と回転角度 */
    border-right: 2px solid #333;/* ⑥三角の線と回転角度 */
    width: 25%;/* サイズ */
    height: 25%;
    top: 25%;/* 上から25の位置 */
    left: 0;/* 左右0で真ん中に配置*/
    right: 0;
    margin: auto;/* 三角がずれるので入れる*/
    position: absolute;
    transform: rotate(-45deg);/* -45度の角度で回転させ上向き三角の完成*/
}
/*---------------------------------
フッター
---------------------------------*/
footer {
  padding-top:20px;
  height: 200px;
  width: 100%;
  background-color: #bed4f2;
  position:relative;
}
footer a{
    color: #000;
	font-size: 30px;
}
footer p{
	text-align:center;
	font-size: 14px;
    background-color:#bed4f2;
}
/*---------------------------------
About
---------------------------------*/
.me{
    width:100%;
	float: left;
    padding:50px;
}
.about{
    width:100%;
	float: right;
    padding:70px;
}
.about h3{/*自己紹介*/
	font-size:24px;
	margin-bottom:10px;
}
.about article{/*自己紹介の文章*/
    font-size:20px;
}
.about article p{/*上の文章*/
	margin-bottom:10px;
}
.udemy{
    display: none;
}
/*---------------------------------
Contact
---------------------------------*/
#background{
	width: 100%;
    max-width: 1920px;
    height:100%;
    max-height:1400px;
    margin:0 auto;
	background:url("img/background.png") no-repeat center;
}
form{
    width:100%;
    height:100%;
	padding: 100px;
	margin: 40px auto 0 auto;
	text-align: left;
    font-family: serif;
}
form fieldset{
	margin-bottom:40px;
	border-style: none;
}
form legend{/*基本情報、お問い合わせ本文*/
	font-size:18px;
    font-weight:900;
	margin-bottom:15px;
	color: #000;
	text-align: left;
}
form label{/*お名前など*/
	display: block;
	font-size:16px;
    font-family: serif;
	text-align: left;
	margin-bottom:5px;	
}
form input,textarea{
	padding: 5px;
	margin-bottom:10px;
	border: 1px solid #515151;
	max-width: 900px;
    width:100%;
	font-size:16px;
    font-family: serif;
	border-radius: 5px;
}
form textarea{
	height:100px;
    font-size:14px;
}
.required::after {/* 必須　*/
	content: "必須";
	color: #fff;
	background: #FF9294;
	font-size:16px;
    font-family: serif;
	padding: 1px;
	margin-left:10px;
}
form #personal,#corporation{/* ラジオボタン */
	float: left;
	width: 20px;
	height: 15px;
}
form select{/* プルダウン */
	max-width: 500px;
    width:80%;
	margin-bottom:15px;
	padding:5px;
	font-size:13px;
    font-family: serif;
}
form optgroup {/* プルダウン大項目 */
	color:#515151;
}
form select option {/* プルダウン小項目 */
	margin: 0 0 0 15px;
	color: #515151;
}
.send{/*送信ボタン*/
	max-width:200px;
	height:50px;
	margin:0 auto;
	border-radius: 5px;
    border: 1px solid #515151;
    padding: 10px;
}
.send:hover {
	cursor: pointer;
	opacity: 0.7;
}
/*---------------------------------
送信後画面
---------------------------------*/
.send_message{
    text-align: center;
    padding:100px 0 20px 0;
    font-size:20px;
}
.send_button{
  display: block;
  width: 200px;
  line-height: 60px;
  text-align: center;
  color: #fff;
  background-color: #515151;
  box-shadow: 0px 5px 0px #000;
  border: 1px solid #fff;
  border-radius: 30px;
  transition: .3s;
  margin: 0 auto 100px auto;
}
.send_button:hover {
  box-shadow: unset;
  transform: translateY(4px);
}
/*---------------------------------
レスポンシブ対応
---------------------------------*/
/*Tablet View*/
@media (min-width: 768px){
    header{	
        width:100%;
        position:relative;
    }
    header h1{ /*-K's Portfolio--*/
        padding:90px 0px 90px 80px;
        font-size:42px;
    }
    header nav{
        float:right;
        position:absolute;
        top:200px;
        right:100px;
    }
    header nav ul li{
        margin-left:40px;
        float:left;
    }
    header nav ul li a{
        color: #000;
        font-size: 30px;
    }
    .gallery{/*トップページの画像一覧*/
        max-width:620px;
        width:100%;
        display: block;
        margin:0 auto;
        margin-bottom: 100px;
    }
    .col-md-half{
        width:33%;
        max-width:100%;
        margin-left: auto;
        margin-right: auto;
    }
    .col{/*ヘッダーの文字の重なりを少なくする*/
        float:left;
        padding:0 7px 20px;
    }
    .me{
        width:50%;
        padding:0px;
        margin-bottom:50px;
    }
    .about{
        width:50%;
        padding:0 50px 0 0;
    }
    .about article{/*自己紹介の文章*/
        font-size:16px;
    }
    .udemy{/*左右の余白*/
        display: block;
        width:80%;
        margin: 0 auto 100px auto;
    }
    .udemy caption{/*Udemy受講一覧表*/
        font-size:24px;
    }
    table{
        border:1px solid #aaa;
        font-size:13px;
    }
    th{
        border-bottom:1px solid #aaa;
        border-right:1px solid #aaa;
        padding:5px;
        background-color:#f6c375;
    }
    table{
        border:1px solid #aaa;
        border-collapse:collapse;
    }
    td{
        border-bottom:1px solid #aaa;
        border-right:1px solid #aaa;
        padding:10px;
    }
    table tr:nth-child(2n+1){
        background-color:#fcefcf;
    }
    colgroup col.col1{
        width:400px;
    }
    colgroup col.col2{
        width:75px;
    }
    colgroup col.col3{
        width:445px;
    }
    form select{/* プルダウン */
	    font-size:18px;
        font-family: serif;
    }
    form textarea{
	    font-size:18px;
        font-family: serif;
    }
    footer nav{
        float:right;
        position:absolute;
        top:20px;
        right:300px;
    }
    footer nav ul li{
        float:left;
        margin-left:40px;
    }
    footer nav ul li a{
        color: #000;
        font-size: 30px;
    }
    footer p{
        padding-top:100px;
        text-align: center;
    } 
}
/*Desktop View*/
@media (min-width: 1024px){
    header h1{ /*-K's Portfolio--*/
        padding:90px 0 90px 400px;
        font-size:52px;
    }
    header h1 a{
        text-align: center;
    }
    header h1 a:hover{
        border-bottom:1px solid #1567C3;
    }
    header nav ul li a:hover{
        border-bottom:1px solid #1567C3;
    }
    .gallery{
        max-width:920px;
        margin-left: auto;
        margin-right: auto;
    }
    .udemy{
        width:100%;
    }
    .gotop:hover{
        opacity: 1;/* マウスを乗せたときは不透明度を下げない */
    }
    footer nav ul li a:hover{
        border-bottom:1px solid #1567C3;
    }
}
