@charset "UTF-8";

body{
	font-size: 1.6rem;
	letter-spacing: 0.05rem;
	padding:0;
	margin:0;
	width: 100vw;
}




header {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height:7.4rem;
  padding: 0;
  box-sizing: border-box;
}

header .logo {
	text-align:left;
	max-width: 100rem;
	margin: 0 auto;
	font-size:3.25rem;
	letter-spacing: 0.35rem;
	font-family: 'Josefin Sans', sans-serif;
}

header .logo a {
position: fixed; /* 要素の位置を固定する */
top: 3.5rem; /* 基準の位置を画面の一番下に指定する */
left: 5rem; /* 基準の位置を画面の一番右に指定する */
z-index: 20;
}


@media screen and (min-width:768px) and ( max-width:1024px) {
    /*　画面サイズが768pxから1024pxまではここを読み込む　*/

header .logo {
	margin-left:4rem;
	padding-top:2rem;
	font-size:2.7rem;
}

}



.kome {
	font-size: 0.85rem;
	margin:0px;
	padding:0px;
}


/* -------------------- */
/* ▼メニューバーの装飾 */
/* -------------------- */
ul.ddmenu {
 position: fixed; /* 要素の位置を固定する */
top: 2rem; /* 基準の位置を画面の一番上に指定する */
left: 0; /* 基準の位置を画面の一番左に指定する */
margin: 0; /* 要素の余白を０にする */
padding-right:4rem;
height:30px; /* 高さを指定する */
width: 100%; /* 幅を指定する */
display: flex;
justify-content: flex-end;
align-items: center;
list-style: none;
z-index:10;
}

label {
    display: block;
    margin: 0 0 4px 0;
    padding : 15px;
    line-height: 1;
    color :#fff;
    background : green;
    cursor :pointer;
}

input {
    display: none;
}


#menu_bar01:checked ~ #links01 li,
#menu_bar02:checked ~ #links02 li {
    height: 54px;
    opacity: 1;
}


/* -------------------------- */
/* ▼メインメニュー項目の装飾 */
/* -------------------------- */
ul.ddmenu li {
   width: 95px;           /* メニュー項目の横幅(125px) */
   display: inline-block;  /* ★1:横並びに配置する */
   list-style-type: none;  /* ★2:リストの先頭記号を消す */
   position: relative;     /* ★3:サブメニュー表示の基準位置にする */
   margin:0;
}
ul.ddmenu a {
   color: #333;              /* メニュー項目の文字色(白色) */
   line-height: 40px;         /* メニュー項目のリンクの高さ(40px) */
   text-align: center;        /* メインメニューの文字列の配置(中央寄せ) */
   text-decoration: none;     /* メニュー項目の装飾(下線を消す) */
   display: block;            /* ★4:項目内全域をリンク可能にする */
}


ul.ddmenu a:hover {
color:#cdc3bf;
}


.ddmenu-main,.ddmenu-main-end {
	font-family: 'Josefin Sans', sans-serif;
}

.ddmenu-main::after {
   content:"";
   display:inline-block;
   width:1.5px;
   height:30px;
   background-color:#fff;
   position:absolute;
   top:5px;
   right:-25px;
}




/* コンテンツエリア */




section{
	max-width: 70rem;
	margin: 4rem auto;
}

.box{
	padding: 3.5rem 4rem 2rem 4rem;
	border-radius:2rem;
}

.box h2{
	font-size: 2.1rem;
	letter-spacing: 0.15rem;
	padding-bottom: 1.5rem;
	margin-bottom:4.5rem;
	border-bottom-width: 3px;
}

.box h3{
	font-family: 'Josefin Sans', sans-serif;
	margin: 2rem 0 -1.2rem;
	font-size: 1.8rem;
	letter-spacing: 0.15rem;
	padding-bottom: 0.5rem;
	border-bottom-width: 2px;
}

.box > *{
	margin: 2.5rem 0;
}

.text{
	line-height: 1.6;
}

.box strong{
	padding: 0 0.5rem;
}

.text a{
	margin: 0 0.5rem;
}

.text a::after{
	margin-left: 0.2rem;
}

#prof {
	text-align: center;
	margin:0 auto;
	height: 68vh;
}


#me {
	margin:10rem 6rem 0 6rem;
}

@media screen and (min-width:768px) and ( max-width:1024px) {
    /*　画面サイズが768pxから1024pxまではここを読み込む　*/

#me {
	margin-top:10rem;
}

#prof {
	margin-bottom:0rem;
	height:80%;
}

}


/* ↓プロフィールアイコンのサイズ */
#me img{
	max-width:100%;
	height:auto;
	margin:0 auto;
}


#prof h1{
	font-size: 3rem;
	letter-spacing: 0.2rem;
	margin-bottom: 1rem;
}

#prof .text{
	margin-bottom: 2rem;
}


#social a{
	margin-bottom:5rem;
}





#social a{
	font-size: 1.2rem;
	margin-right: 1.5rem;
}

/* ↓SNSアイコンのサイズ　数に合わせて調整してください */
#social a i{
	width: 7rem;
	height: 7rem;
	font-size: 3.5rem;
	line-height: 7rem;
	margin-bottom: 1.75rem;
}



/* ↓リスト */
dl,ul {
	padding-left: 2.3rem;
	line-height: 1.6;
}

ul{
	column-gap: 4rem;
}

ul.column2{
	column-count: 2;
}

ul.column3{
	column-count: 3;
}

dt::before,
li::before{
	left: -2rem;
}

li{
	margin-bottom: 1rem;
}

dd {
	font-size: .95em;
	margin-bottom: 1.5rem;
}


.like {
	margin-bottom:1rem;
}


/* ↓イラスト */

#illustlog::before,
#illustlog::after{
	width:  calc( 25% - 2rem );  /* .illustに指定したwidthと同じ幅を指定する */
}

#illustlog .illust{
	width: calc( 25% - 2rem );  /* 横に4つ並べるので25%、から余白分の2remを引く */
	margin-bottom: 2rem;
}

/* ↓オフライン */

.booklist{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
}
	
.book{
	display: flex;
	width: calc(50% - 2rem);
	margin-bottom: 3rem;
}

.book:nth-last-child(2){
	margin-bottom: 0;
}

.book .hyoushi{
	width: 40%; /* 表紙のサイズ */
	margin-right: 1.7rem;
	flex-shrink:0;
}

.book h4{
	font-size: 2rem;
}

.gaiyou{
	display: flex;
	flex-wrap: wrap;
	align-content: space-between;
}

.book p{
	font-size: 1.5rem;
	line-height: 1.5;
	margin: 1rem 0;
}

.book p.product{
	font-size: 1.4rem;
	margin: 0.6rem 0 -0.8rem;
}

.book .order a{
	letter-spacing: 0.15rem;
	line-height: 3.3rem;
}

.order a:nth-child(n + 2){
	margin-left: 0.5rem;
}



/* ↓返信 */

.res{
	line-height: 1.6;
}

.res q::before{
	margin-right: 0.5rem;
}

details > *{
	margin: 2.5rem 0;
}

summary{
	margin: 0;
	height: 3rem;
	line-height: 3rem;
	letter-spacing: 0.1rem;
	border-radius:1.5rem;
}



.fuwa{
    animation-name: fadein;
    animation-duration: 1.5s;
}
@keyframes fadein{
     0% {opacity: 0} /*アニメーション開始時は不透明度0%*/

  100% {opacity: 1} /*アニメーション終了時は不透明度100%*/
}
