/*
 * grid
 * version:v1.0
 * Developer:popodesign
 * URL:https://popo-design.net
 */

/* 全体の設定
–––––––––––––––––––––––––––––––––––––––––––––––––– */
html {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    font-size: calc(100vw * 16 / 414);
}

@media screen and (min-width: 768px){
  html {
    font-size: 62.5%;
  }
}

@font-face {
  font-family: "Roboto";
  font-display: swap;
  src: url("../fonts/Roboto-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Roboto";
  font-display: swap;
  src: url("../fonts/Roboto-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Roboto";
  font-display: swap;
  src: url("../fonts/Roboto-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP";
  font-display: swap;
  src: url("../fonts/NotoSansJP-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP";
  font-display: swap;
  src: url("../fonts/NotoSansJP-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP";
  font-display: swap;
  src: url("../fonts/NotoSansJP-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Noto Serif JP";
  font-display: swap;
  src: url("../fonts/NotoSerifJP-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
}

body {
    color: #333;
    font-family: 'Roboto', YakuHanJP, 'Noto Sans JP', "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
    background:#fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    margin:0;
    padding:0;
}

/* グリッド
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
    padding: 0 3.62vw;
    position: relative;
}

/* 768px以上の表示 */
@media ( min-width : 768px ) {
  .container {
    margin: 0 auto;
    max-width: 1080px;
    padding: 0 40px;
  }  
}


/* 見出し
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
}
h1 { font-size: 2.8rem;}
h2 { font-size: 2.6rem;}
h3 { font-size: 2.4rem;}
h4 { font-size: 2.0rem;}
h5 { font-size: 1.8rem;}
h6 { font-size: 1.6rem;}

/* PC表示 */
@media (min-width: 768px) {
  h1 { font-size: 4.4rem;}
  h2 { font-size: 3.4rem;}
  h3 { font-size: 2.6rem;}
  h4 { font-size: 2.4rem;}
  h5 { font-size: 2.0rem;}
  h6 { font-size: 1.8rem;}
}

p {
  margin-top: 0; }


/* リンク
–––––––––––––––––––––––––––––––––––––––––––––––––– */
a {
  color: #0080ff; }
a:hover {
  color: #0FA0CE; }


/* フォーム
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  padding: 6px 10px;
  background-color: #fff;
  border: 1px solid #D1D1D1;
  box-shadow: none;
  box-sizing: border-box;
  font-size: 16px;}

input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
textarea {
  font-weight: 400;
  min-height: 100px;
  padding-top: 6px;
  padding-bottom: 6px; }
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border: 1px solid #0FA0CE;
  outline: 0; }
label,
legend {
  display: block;
  margin-bottom: .5rem;
  font-weight: 500; }
fieldset {
  padding: 0;
  border-width: 0; }
input[type="checkbox"],
input[type="radio"] {
  display: inline; }
label > .label-body {
  display: inline-block;
  margin-left: .5rem;
  font-weight: normal; }
::placeholder {
    color: #999 !important;
}

/* リスト
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul {
  list-style: circle inside; }
ol {
  list-style: decimal inside; }
ol, ul {
  padding-left: 0;
  margin-top: 0; }
ul ul,
ul ol,
ol ol,
ol ul {
  margin: 1.5rem 0 1.5rem 3rem;
  font-size: 90%; }
li {
  margin-bottom: 1rem; }


/* コード
–––––––––––––––––––––––––––––––––––––––––––––––––– */
code {
  padding: .2rem .5rem;
  margin: 0 .2rem;
  font-size: 90%;
  white-space: nowrap;
  background: #F1F1F1;
  border: 1px solid #E1E1E1;
  border-radius: 4px; }
pre > code {
  display: block;
  padding: 1rem 1.5rem;
  white-space: pre; }


/* テーブル
–––––––––––––––––––––––––––––––––––––––––––––––––– */
table {
	width: 100%;
	padding: 0;
	word-break: break-all;
	word-wrap: break-word;
	border-collapse: collapse;
	border-spacing: 0;
}
th,td {
  padding: 0.75em 1em;
  line-height: 1.5;
  vertical-align: top;
  text-align: left;
}
th{
  border: 1px solid #05a5ab;
  background-color: #05a5ab;
  color: #fff;
  font-weight: 500;    
}
td {
  border: 1px solid #ddd;
}
tbody th{
  background: #f7f7f7;
  border: 1px solid #ddd;
	color: #000;
}

/*テーブル（左端がth、右側がtdの場合にスマホ表示で立て並びに変化）*/
.table-block,
.table-block thead,
.table-block tbody,
.table-block tfoot,
.table-block tr,
.table-block th,
.table-block td{
	display: block;
}
.table-block{
	border-top: 1px solid #ddd;
}
.table-block th,
.table-block td{
	box-sizing: border-box;
}
.table-block td,
.table-block th{
	border-top: 0;
}

/* PC表示 */
@media (min-width: 768px) {
  th,td {
    padding: 1em;
  }
  .table-block{
		display: table;
	}
	.table-block tbody{
		display: table-row-group;
	}
	.table-block tr{
		display: table-row;
	}
	.table-block th,
	.table-block td{
		display: table-cell;
    vertical-align: middle;
	}
	.table-block th{
		width: 30%;
	}
}


/* スペース
–––––––––––––––––––––––––––––––––––––––––––––––––– */
button,
.button {
  margin-bottom: 1rem; }
input,
textarea,
select,
fieldset {
  margin-bottom: 1.5rem; }
pre,
blockquote,
dl,
figure,
table,
p,
ul,
ol,
form {
  margin-bottom: 1rem; }


/* 全幅
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.full-width {
  width: 100%;
  box-sizing: border-box; }
.max-full-width {
  max-width: 100%;
  box-sizing: border-box; }
.pull-right {
  float: right; }
.pull-left {
  float: left; }


/* 罫線
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
  margin-top: 3rem;
  margin-bottom: 3.5rem;
  border-width: 0;
  border-top: 1px solid #E1E1E1; 
}