@charset "utf-8";

*{
    margin: 0;
    padding: 0;
	font-family: 'Athiti', sans-serif;
	font-family: 'BIZ UDMincho', serif;
	box-sizing: border-box;
    /*outline: solid 1px #f00;*/  
}

img{
    height:auto;
    vertical-align: bottom;
}

/*========= 汎用クラス ===============*/

.mt0 { margin-top:0px; }
.mt100 { margin-top:100px; }

.mb10 { margin-bottom:10px; }
.mb20 { margin-bottom:20px; }
.mb30 { margin-bottom:30px; }
.mb40 { margin-bottom:40px; }
.mb50 { margin-bottom:50px; }

.pt10 { padding-top:10px; }
.pt20 { padding-top:20px; }
.pt50 { padding-top:50px; }
.pt100 { padding-top:100px; }

.pb20 { padding-bottom:20px; }

.pl0 { padding-left:0px; }

.font-color { color:#f8b62d; }
.fontSize16 { font-size: 16px; }
.font-family { font-family: 'Athiti', sans-serif; }
.font-family01 { font-family: 'BIZ UDMincho', serif; }

/*--------------------------
	共通の設定/=iPhone 320px(縦)からの設定 /
-------------------------- */

.sp_block{
	display:none;
}


/*========= ボタンのCSS ===============*/

/*ボタン外側*/
.openbtn{
	position:fixed;
	background:#fff;
	cursor: pointer;
    width: 50px;
    height:50px;
	border-radius: 5px;
	z-index: 9999;/*ボタンを最前面に*/
	top:15px;
	right: 15px;
}

/*ボタン内側*/
.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 2px;
    border-radius: 5px;
	background: #f8b62d;
  	width: 45%;
  }


.openbtn span:nth-of-type(1) {
	top:13px;	
}

.openbtn span:nth-of-type(2) {
	top:19px;
}

.openbtn span:nth-of-type(3) {
	top:25px;
}

.openbtn span:nth-of-type(3)::after {
	content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
	position: absolute;
	top:5px;
	left:-1px;
	color: #f8b62d;
	font-size: 0.6rem;
	text-transform: uppercase;
	font-family: 'Athiti', sans-serif;
	letter-spacing:0.1em;
}

/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

.openbtn.active span:nth-of-type(1) {
    top: 14px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 26px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(3)::after {
	content:"Close";/*3つ目の要素のafterにClose表示を指定*/
    transform: translateY(0) rotate(-45deg);
	top:5px;
	left:4px;
}

/*ハンバーガーメニュー ボタン*/


/*========= ナビゲーション CSS ===============*/

#g-nav{
    position:fixed;
	z-index: -1;
	pointer-events: none;
	opacity: 0;
	top:0;
	width:100%;
    height: 100vh;
	background:#fff;
	transition: all 0.3s;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
	opacity: 1;
	z-index:999;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    display: none;
    position: absolute;
    z-index: 999;
	pointer-events: auto;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}

#g-nav.panelactive ul {
    display: block;
}

/*リストのレイアウト設定*/

#g-nav li{
	font-size:22px;
	padding:10px;
	list-style: none;
    text-align: center; 
}

#g-nav li a{
	color: #f8b62d;
	text-decoration: none;
	padding:10px;
	display: block;
	text-transform: uppercase;
	font-family: 'Athiti', sans-serif;
	letter-spacing: 0.1em;
	font-weight: bold;
}

.hito img{
	width:40%;/*150*375/100*/
	position:relative;
	top:450px;
	left:5%;/*20*375/100*/
}

#p-nav, .pc_img{
	display:none;
}

header{
	background-color:#fff;
	position:fixed;
	z-index:999;
	top:0;
}

.sf_img{
	width:100vw;
	margin-bottom:90px;
}

.name{
	width:100vw;
	background-color:#fff;
}

h2{
	width:375px;
	color:#f8b62d;
	margin:15px 4%;
	text-transform: uppercase;
	font-family: 'Athiti', sans-serif;
	letter-spacing:0.1em;
}

.name a{
	text-decoration: none;
}

.comment{
	position:relative;
	bottom:50px;
	left:32%;/*120*375/100*/
	width:64%;/*240*375/100*/
	text-align:right;
	color:#fff;
	text-shadow: 1px 2px 3px #808080;
	font-weight:650;
	letter-spacing:0.1em;
	font-family: 'Athiti', sans-serif;
	font-family: 'BIZ UDMincho', serif;
}

h1{
	color:#f8b62d;
	text-transform: uppercase;
	font-family: 'Athiti', sans-serif;
	font-size:36px;
	letter-spacing:0.1em;
	padding-top:85px;
	margin:-85px 0 50px 4%;
}

.photo{
	text-align: center;
}

.photo img{
	width:80%;/*300*375/100*/
	border-radius:10px;
}

.introduction{
	width:80%;/*300*375/100*/
	margin:10px 8% 50px;/*30/375*100*/
	position:relative
}

.kazari{
	position:absolute;
	top: 250px;
    left: 40%;
	z-index:-50;
}

.hamada{
	font-size:24px;
	border-bottom: 2px solid #f8b62d;
	margin-bottom:30px;
	padding: 10px 0;
}

.birth{
	line-height:1.4;
	color:#989898;
}

.move{
	margin-bottom:30px;
	line-height:1.4;
	text-align: justify;
}

.move-on{
	margin-bottom:80px;
	line-height:1.4;
	text-align: justify;
}

h3{
	margin:10px 0 20px;
	text-transform: uppercase;
	font-family: 'Athiti', sans-serif;
	letter-spacing:0.1em;
}

.link{
	text-align:right;
	margin-bottom:120px;
}

/*続きを見るボタン*/

.readmore{
	position: relative;
	margin: 50px auto 0;
	padding: 0px 0px 75px;
}

.readmore-content{
	position: relative;
	height: 400px;
	transition: all .4s;
	overflow: hidden;
}

.readmore-content::before{
	position: absolute;
	display: block;
	content: "";
	left: 0;
	bottom: 0;
	width: 100%;
	height: 200px;
	transition: all .4s;
	background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, #fff 100%);
	z-index: 1;
}

.readmore-content.is_open:before{
	display: none;
}

.readmore button{
	position: absolute;
  	display: table;
  	left: 50%;
  	bottom: 0px;
  	margin: 0 auto;
  	width: 200px;
  	padding: 10px 0;
  	color: #000;
  	text-align: center;
  	border-radius: 5px;
  	background-color: #ccc;
  	transform: translateX(-50%);
  	cursor: pointer;
  	z-index: 1;
  	transition: all .4s;
	border: none;
}

.readmore button:after{
	content: "";
 	margin: auto;
  	position: absolute;
  	top: 0;
  	bottom: 5px;
  	left: 170px;
	width: 9px;   
  	height: 9px;  
  	border-top: 2px solid #000;  
  	border-right: 2px solid #000;
  	transform: rotate(135deg); 
}

.readmore button:hover{
	background-color: #eee;
}

/*外部リンクボタン*/

a.btn_18 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	position: relative;
	/*width: 120px;*/
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border-radius: 6px;
	color: #f8b62d;
	border: 3px solid #f8b62d;
	box-shadow: 5px 5px #f8b62d;
	transition: 0.3s ease-in-out;
}
a.btn_18:hover {
	box-shadow: none;
	transform: translate(5px, 5px);
	color: #f8b62d;
}


/* スキル画像横並び */

.flex {
  display: flex;/*横並び*/
  margin-bottom:50px;
  padding:0 2em;
}
.flex .image {
  width: 640px; /*画像サイズ指定*/
  margin: 0;
  padding: 0;
  overflow: hidden;
  position: relative;
}
.flex .right {
  margin: 0 0 0 20px;
  padding: 0;
}
.flex .skiltitle {
  margin: 0;
  padding: 0;
  font-weight: bold;
  font-size: 18px;
  text-align:left;
	font-family: 'Athiti', sans-serif;
}
.flex .text {
  margin: 10px 0 0;
  padding: 0;
  text-align:left;
}

th{
	font-weight:normal;
	text-align:left;
	vertical-align:baseline;
	padding-right:15px;
}

.font_awesome{
	list-style-type: none;
}

.font_awesome li{
	display: flex;
    align-items: center;
    gap: 0 5px;
    padding: .2em;
}

.font_awesome li::before{
	display: inline-block;
    width: 10px;
    height: 5px;
    border-bottom: 2px solid #f8b62d;
    border-left: 2px solid #f8b62d;
    transform: rotate(-45deg) translateY(-1.5px);
    content: '';
}

.font_awesome li a{
	padding-left: 0.2em;
	text-decoration-line: none;
	
}


.right{
	text-align:right;
}


.skill-right{
	width:90%;
	margin-bottom:50px;
}

.logo img{
	width:80px;
}

.float{
	width:72%;/*270/375*100*/
	float:right;
}

.float p{
	text-align:left;
}

h4{
	font-weight:normal;
	width:80%;/*270/375*100*/
	margin-bottom:10px;
	font-family: 'Athiti', sans-serif;
	text-align:left;
}

.flex-work{
	margin:0 auto;
	width:100%;
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.licence{
	width:80%;/*600*1023/100*/
	margin:0 auto;
	margin-bottom:100px;
}

figure {
  display: table;
  margin-bottom:50px;
}

figcaption {
  caption-side: bottom;
  display: table-caption;
}

.work-a{
	margin-bottom:80px;
    padding:0 2em;
}

.work-a img:hover{
	opacity: 0.7;
}

.modal-open{
	width:300px;/*300/375*100*/
	margin-bottom:25px;
}

.modal-open img{
	width:300px;
}

h5{
	font-weight: normal;
    padding: 5px 13px;
    border-left: 5px solid #f8b62d;
    line-height: 1.4em;   
}

.width{
	width:80%;/*300/375*100*/
	margin:0 auto;
}

.width img{
	width:100%;
	margin:0 auto;
	margin-bottom:50px;
}

h6{
	font-size:16px;
	font-weight:normal;
	background: #f8b62d;
  	box-shadow: 0px 0px 0px 5px #f8b62d;
  	border: dashed 1px #E36009;
  	padding: 0.2em 0.5em;
  	color: #454545;
	margin-bottom:50px;
}

h7{
	background: linear-gradient(transparent 70%, #f8b62d 70%);
	margin-bottom:15px;
	letter-spacing:0.2em;
}

.width p{
	line-height:1.5;
	margin:25px 0;
	padding-left:20px;
}

.width ul{
	line-height:1.5;
	padding-left:20px;
	margin:30px 0;
}

.url a{
	color:#f8b62d;
	font-family: 'Athiti', sans-serif;
}

.font{
	font-family: 'Athiti', sans-serif;
}

.contactform{
	margin-bottom:100px;
}

.impression{
	width:82%;/*340/375*100*/
	font-size:14px;
	line-height:1.5;
	margin:0 auto;
	margin-bottom:50px;
}

footer{
	font-size:20px;
	text-align:center;
	font-weight: bold;
}


/*--------------------------
	タブレット / iPad 768px(縦)から1023pxまでの設定 /
-------------------------- */

@media screen and (min-width:768px){

.sp_block{
	display:block;
}	
		
.sf_img,.sf_nav{
	display:none;		
}
	
.pc_img{
	display:block;
	width:100%;
	margin-bottom:150px;
}
	
.pc_img img{
	max-width: 100%;
	height: auto;
}	
	
.flex{
	padding:0 4em;
}
	
.flex-work{
	margin:0 auto;
	width:750px;
}
	
h2{
	width:200px;/*200*1023/100*/
	float:left;
}
	
#p-nav{
	width:450px;/*450*1023/100*/
	display:block;
	float:right;
}
	
.name{
	overflow:hidden;
}
	
.menu-content-pc ul{
	list-style:none;
	display:flex;
	margin:15px 2%;
}
	
.menu_item li a{
	text-decoration:none;
	display:block;
	color:#f8b62d;
	text-transform: uppercase;
	font-family: 'Athiti', sans-serif;
	letter-spacing: 0.1em;
	font-weight: bold;
	padding:15px;
	line-height:1;
	font-size:20px;
}	
	
.photo img{
	width:70%;/*500*1023/100*/
	margin-bottom:30px;
}

.introduction{
	width:80%;/*600*1023/100*/
	margin:0 auto;
}
	
.hamada{
	width: 85%;
    margin: 0 auto;
    font-size: 30px;
    padding: 5px 8px 15px 0px;
    margin-bottom: 50px;
}
	
.birth{
	width:85%;/*500*1023/100*/
	margin:0 auto;
	font-size:18px;
}
	
.comment{
	bottom:140px;
	left:30%;/*350*1023/100*/
	width:60%;/*350*1023/100*/
	font-size:28px;
}
	
.move{
	width:82%;/*500*1023/100*/
	margin:0 auto;
	margin-bottom:30px;
}
	
.move-on{
	width:82%;/*500*1023/100*/
	margin:0 auto;
	margin-bottom:80px;		
}

.kazari{
	left: 60%;		
}
	
.link{
	padding-right:30px;	
}
	
h1{
	padding:85px 50px 0 4%;
	margin:-85px 0 80px 0;
}
	
.work{
	width:70%;/*300/1023*100*/
	float:left;
}
	
.skill{
	width:90%;/*500/1023*100*/
	margin:0 auto;
	margin-bottom:60px;
}
	
.skill-right{
	width:90%;/*300/1023*100*/
	margin:0 auto;
	margin-bottom:60px;
	float:right;
}
	
.macha img{
	width:55%;/*282/1023*100*/
	}
	
h5{
	width:100%;
	text-align:left;
}

.width{
	width:80%;/*450/1023*100*/
}


.cont{
	width:80%;/*500/1023*100*/
	margin:0 auto;
}
	
.impression{
	width:100%;/*440/1023*100*/
}

	
}

/*--------------------------
	PC /1024px以上の設定/
-------------------------- */
@media screen and (min-width:1024px) {

	
#wrapper{
	width:1020px;
	margin:0 auto;
}

.name{
	width:1025px;	
}
	
#p-nav{
	width:600px;	
}
	
.menu_item{
	padding-left:40px;	
}

.profile-width{
	overflow:hidden;
	margin-bottom:80px;
}
	
.hamada{
    font-size: 30px;
    padding-bottom: 25px;
    margin-bottom: 30px;
}
	
.birth{
	padding-top: 0;	
}
	
.photo img{
	width:400px;
	float:left;
	   position: relative;
    left: 70px;
}
	
.introduction{
	width:500px;
	float:right;
}
	
.kazari{
	top:100px;
	left: 60%;		
}

.comment{
	display:none;	
}
	
h3{
	padding:20px 20px 10px;	
}
	
.flex {
	margin:0 auto;
	width:900px;
}
	
.flex-work{
	margin:0 auto;
	width:900px;
}
	
.hidden-skill{
	overflow:hidden;
	width:1000px;
	margin:0 auto;
}
	
.skill{
	width:480px;
	float:left;
}
	
.skill.right{
	padding-left:30px;
	text-align:left;
}	
	
.width ul {
    padding-left: 25px;
}

.oya{
	width:900px;
	margin:0 auto;
	overflow:hidden;
	padding:10px 10px 0;
    right: 220px;
}
	
.title{
	width:350px;
	float:left;
}

.word{
	width:400px;
	float:right;
	line-height:0.5;
	padding-top:30px;
}
	
.word p{
	text-align:left;
	padding-left:25px;
}
	
.cont .impression{
	width: 700px;
}
	
}
