<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type="text/css">

/* 更新履歴(外枠) */
.kframe {
	display: block;
	border: 1px solid lightgray;/* 外枠の線 */
	width: 100%;/* 外枠の幅 */
	max-width: 600px;/* 外枠の最大幅 */
	height: 100px;/* 外枠の高さ */
	margin: 0 auto 3rem;
}

/* フォントの読み込み */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@600&display=swap');

/* 全体設定 */
*{
font-family: 'Dosis', 'Noto Sans JP', sans-serif;
color: #2E1F1E;/* ★全体の文字色 */
font-size: 12px;
font-weight: 400;
letter-spacing: 0.1em;
line-height: 1.8em;
box-sizing: border-box;
padding: 0;
margin: 0;
list-style-type: none;
text-decoration:none;
}

body{
width: 100vw;
height: 100vh;
background-color: #F0F0F0;/* ★全体の背景色 */
position: relative;
overflow-x: hidden;
}

.wrap{
max-width: 1000px;
min-height: 100vh;
position: relative;
padding: 70px;
overflow: hidden;
margin: 0 auto 30px;
}

/* リンク文字 */
a{
transition: 0.2s;
border-bottom: 1px dashed #D6493E;/* ★リンク文字の下線の色 */
}

a:hover{
color: #D6493E;/* ★リンクをホバーした時の文字色 */
}

/* 強調文 */
strong{
font-weight: 700;
display: inline-block;
position: relative;
z-index: 0;
}

strong:before{
background-color: #D6493E;/* ★強調文のマーカー線の色 */
opacity: 0.2;
border-radius: 1px;
content: '';
display: block;
height: 7px;
position: absolute;
bottom: 0;
width: 100%;
z-index: -1;
}

/* ヘッダー＋コンテンツのレイアウト */
.main-flex{
display: flex;
align-items: flex-start;
column-gap: 7%;
}

/* ヘッダーメニュー */
header{
width: 23%;
height: auto;
text-align: center;
padding: 65px 40px;
border-radius: 16px;
background-color: #D6493E;/* ★ヘッダーメニューの背景色 */
}

.nav li{
display: block;
text-align: center;
padding: 12px 0;
transition: 0.2s;
}

.nav li+li{
content: '';
border-top: 1px solid rgba(255,255,255,0.4);
}

.nav li a{
font-size: 13px;
color: #FFF;
border-bottom: none;
letter-spacing: 0.2em;
}

.nav li a:hover{
opacity: 0.5;
}

/* メインコンテンツ */
main{
width: 70%;
margin: 0 auto;
padding: 60px 60px 80px;
background-color: #FFF;/* ★メインコンテンツ部分の背景色 */
border-radius: 16px;
}

/* 見出し */
h1,h2,h3,h4{
font-weight: 700;
}

h1{
font-size: 20px;
text-align: center;
padding-bottom: 30px;
color: #FFF;
letter-spacing: 0.15em;
word-wrap: break-word;
}

h2{
font-size: 16px;
padding-bottom: 5px;
color: #D6493E;/* ★h2見出しの文字色 */
}

h3{
font-size: 14px;
padding-bottom: 5px;
}

h3:before{
content: '';
width: 3px;
height: 12px;
border-radius: 1px;
background-color: #D6493E;/* ★h3見出し左側の縦線の色 */
display: inline-block;
margin-right: 8px;
margin-bottom: -2px;
}

/* セクション（見出し＋本文のセット） */
.section{
width: 100%;
}

.section+.section{
margin-top: 50px;
}

/* 入力フォームと送信ボタン */
form{
display: flex;
align-items: center;
margin-top: 5px;
}

input[type="text"],input[type="radio"],input[type="button"],input[type="reset"],input[type="submit"],select,textarea{
-webkit-appearance: none;
-moz-appearance: none;
-webkit-box-shadow: none;
appearance: none;
box-shadow: none;
background: #F4F4F4;/* ★フォームの背景色 */
border-radius: 4px;
color: #2E1F1E;
border: 1px solid #F4F4F4;
width: 30em;
height:2.0em;
padding: 0 6px;
}

input:focus, textarea:focus{
outline: none;
height:2.0em;
background: #FFF;/* ★フォームフォーカス時の背景色 */
border: 1px solid #C9C9C9;/* ★フォームフォーカス時の枠線の色 */
}

input[type="submit"]{
width: auto;
border: none;
background-color: #D6493E;/* ★送信ボタンの背景色 */
color: #FFF;/* ★送信ボタンの文字色 */
padding: 0 10px;
cursor: pointer;
transition: 0.2s;
}

input[type="submit"]:hover{
background-color: #2E1F1E;/* ★送信ボタンホバー時の背景色 */
color: #FFF;/* ★送信ボタンホバー時の文字色 */
}

/* 名前変換フォーム */
.dream{
margin-bottom: 20px;
flex-wrap: wrap;
gap: 10px;
}

.dream input[type="text"]{
width: 70px;
}

.dream input[type="submit"]{
width: 30px;
}

/* 分岐ページ */
.long+.long{
padding-top: 10px;
}

/* ブログ */
.blog-ttl{
font-size: 18px;
text-align: center;
padding-bottom: 30px;
}

.list{
padding-bottom: 20px;
margin-bottom: 20px;
border-bottom: 1px dashed rgba(0,0,0,0.13);
}

.date{
padding: 1px 8px;
background-color: #F0F0F0;
width: fit-content;
border-radius: 5px;
margin-bottom: 10px;
}

.btn{
text-align: right;
padding-top: 10px;
}

.btn a{
padding: 1px 8px;
border-radius: 5px;
background-color: #D6493E;/* ★追記ボタンの背景色 */
color: #FFF;/* ★追記ボタンの文字色 */
border-bottom: none;
}

.btn a:hover{
background-color: #2E1F1E;/* ★追記ボタンホバー時の背景色 */
color: #FFF;/* ★追記ボタンホバー時の文字色 */
}

.back{
text-align: left;
}

.page{
text-align: center;
}

/* フッター */
footer{
text-align: right;
margin-top: 20px;
font-size: 11px;
opacity: 0.6;
}

/* 640px以下のデバイスでの見え方 */
@media screen and (max-width: 640px) {
.wrap{
padding: 25px;
}

.main-flex{
display: block;
height: auto;
}

header{
width: 100%;
padding: 15px 30px;
}

.nav{
display: flex;
column-gap: 25px;
justify-content: center;
}

h1{
padding-bottom: 0;
}

.nav li+li{
content: '';
border-top: none;
}

main{
width: 100%;
margin-top: 30px;
padding: 40px 30px;
}
}

</style>
