@charset "UTF-8";
/*------------------------------------*\
    MAIN
\*------------------------------------*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	outline: none;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}
sup {
	vertical-align: super;
	font-size: 0.8rem;
}
sub {
	vertical-align: sub;
	font-size: 0.8rem;
}
/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}


/****************************************

	core

*****************************************/
html
{
	font-size: 62.5%; /* 10px = 1rem */
    font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	scroll-behavior: smooth;
}
body {
	font-size: 1.6rem;
	color: #333;
	line-height: 2;
	background: #fcfcfc;
	-webkit-text-size-adjust: 100%; /* WebKitのバグ回避 */
	overflow-x: hidden;/* 要素がはみ出した場合、水平方向のスクロールバーが表示されないように */
}
a {
	color: #333;
	text-decoration: none;
	transition: 0.5s ease-out;
	-o-transition: 0.5s ease-out;
	-moz-transition: 0.5s ease-out;
	-webkit-transition: 0.5s ease-out;
	word-break: break-all;/* URLがはみ出るのを防ぐ */
}
a:hover {
	color: #eb0404;
}
/*a:hover img {
	opacity: 0.7;
}*/
img {
	max-width:100%;
	vertical-align:bottom;
}
.text-center {
    text-align: center;
}
ul {
	list-style-type: none;
}
address {
	font-style: normal;
}
@media screen and (max-width:1100px){
html {
	font-size: 50%; /* 10px = 1rem */
}
}

/*
 * clearfix
 * --------------------------------------------------
 */

.clearfix:before, .clearfix:after {
	display: block;
	visibility: hidden;
	clear: both;
	height: 0 !important;
	content: "";
	font-size: 0;
}
.clearfix {
	display: inline-block;
}
.clearfix {
	display: block;
}

/****************************************

	benri

*****************************************/
.bold { font-weight: bold; }
.italic { font-style: italic; }
.color-wh { color: #fff; }
.color-re { color: #eb0404; }

.font-sm { font-size: 1.2rem; }
.font-lg { font-size: 1.8rem; }
.font10 { font-size: 1rem; }
.font11 { font-size: 1.1rem; }
.font12 { font-size: 1.2rem; }
.font13 { font-size: 1.3rem; }
.font14 { font-size: 1.4rem; }
.font15 { font-size: 1.5rem; }
.font16 { font-size: 1.6rem; }
.font17 { font-size: 1.7rem; }
.font18 { font-size: 1.8rem; }
.font19 { font-size: 1.9rem; }
.font20 { font-size: 2rem; }
.centering { text-align: center; }
.righting { text-align: right; }
.underline { text-decoration: underline; }

/****************************************

	margin padding

*****************************************/
.mb1 { margin-bottom: 1rem; }
.mb2 { margin-bottom: 2rem; }
.mb3 { margin-bottom: 3rem; }
.mb4 { margin-bottom: 4rem; }
.mb5 { margin-bottom: 5rem; }
.mb6 { margin-bottom: 6rem; }
.mb7 { margin-bottom: 7rem; }
.mb8 { margin-bottom: 8rem; }
.mb9 { margin-bottom: 9rem; }
.mb10 { margin-bottom: 10rem; }
.mb15 { margin-bottom: 15rem; }
.mt1 { margin-top: 1rem; }
.mt2 { margin-top: 2rem; }
.mt3 { margin-top: 3rem; }
.mt4 { margin-top: 4rem; }
.mt5 { margin-top: 5rem; }
.mt6 { margin-top: 6rem; }
.mt7 { margin-top: 7rem; }
.mt8 { margin-top: 8rem; }
.mt9 { margin-top: 9rem; }
.mt10 { margin-top: 10rem; }
.mt15 { margin-top: 15rem; }


/****************************************

	background

*****************************************/
.bg-gray { background: #f3f3f3; }
.bg-grad-or { background: linear-gradient(to right, #ffb362, #eec830); color: #fff; }
.bg-grad-or a { color: #fff; }
.bg-grad-ye { background: linear-gradient(to right, #ffe26e, #f1ea9a); }




/****************************************

	visible hidden

*****************************************/
.visible-xxxxs ,
.visible-xxxs,
.visible-xxs,
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none;
}
@media (max-width: 449px) {
  .visible-xxxxs {
    display: block !important;
  }
}
@media (min-width: 450px) and (max-width: 699px) {
  .visible-xxxs {
    display: block !important;
  }
}
@media (min-width: 700px) and (max-width: 899px) {
  .visible-xxs {
    display: block !important;
  }
}
@media (min-width: 900px) and (max-width: 1099px) {
  .visible-xs {
    display: block !important;
  }
}
@media (min-width: 1100px) and (max-width: 1199px) {
  .visible-sm {
    display: block !important;
  }
}
@media (min-width: 1200px) and (max-width: 1299px) {
  .visible-md {
    display: block !important;
  }
}
@media (min-width: 1300px) {
  .visible-lg {
    display: block !important;
  }
}


@media (max-width: 449px) {
  .hidden-xxxxs {
    display: none !important;
  }
}
@media (min-width: 450px) and (max-width: 699px) {
  .hidden-xxxs {
    display: none !important;
  }
}
@media (min-width: 700px) and (max-width: 899px) {
  .hidden-xxs {
    display: none !important;
  }
}
@media (min-width: 900px) and (max-width: 1099px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 1100px) and (max-width: 1199px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 1200px) and (max-width: 1299px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1300px) {
  .hidden-lg {
    display: none !important;
  }
}

/****************************************

	container

*****************************************/
.container-xs {
	max-width: 600px;
	margin-right: auto;
	margin-left: auto;
}
.container-sm {
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
}
.container-md {
	max-width: 1100px;
	margin-right: auto;
	margin-left: auto;
}
.container-lg {
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}
.container-full {
	width: 100%;
}
@media screen and (max-width:1300px){
.container-lg {
	margin: 0 5%;
}
.container-full {
	padding-right: 5%;
	padding-left: 5%;
	box-sizing: border-box;
}
}
@media screen and (max-width:1200px){
.container-md {
	margin: 0 5%;
}
}
@media screen and (max-width:1000px){
.container-sm {
	margin: 0 5%;
}
}
@media screen and (max-width:660px){
.container-xs {
	margin: 0 5%;
}
}
/****************************************

	form

*****************************************/
input[type="text"],
input[type="email"],
input[type="url"],
textarea {
}

textarea{
	width:90%;
}

select{
	font-size:14px;
	line-height:1em;
	padding-right:25px;
	border: 1px solid #ccc;
	padding: 12px;
}

.select-wrap{
	position:relative;
}

.select-wrap:before{
    content: "\f078";
	font-family: 'ForkAwesome';
	font-size:12px;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	position: absolute;
	top:50%;
	right:10px;
	margin-top:-6px;
	display: inline-block;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color:#333;
}


input[type="text"],
input[type="email"],
input[type="url"]{
}

button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	
}

input[type="submit"]{
	transition: 0.5s ease-out;
	-o-transition: 0.5s ease-out;
	-moz-transition: 0.5s ease-out;
	-webkit-transition: 0.5s ease-out;
}

@media screen and (max-width:600px){
textarea{
	width:100%;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
}

select{
	font-size:12px;
}

input[type="text"],
input[type="email"],
input[type="url"]{
	box-sizing:border-box;
	-moz-box-sizing:border-box;
}
}

/****************************************

	header

*****************************************/
.clone-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  transition: .3s;
  transform: translateY(-100%);
	background-color: rgba(255,255,255,0.97);
  
}
.is-show {
  transform: translateY(0);
}
header {
	max-width: 1200px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 20px 0;
	position: relative;
	z-index: 200;
}
#header__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#logo {
	width: 330px;
	line-height: 1;
	flex-grow: 2;
}
#logo img {
	width: 258px;
}
#nav-sp {
	display: none;	
}
#nav-pc {
	background: #000;
}
#nav-pc__menu{
	display: flex;
	text-align: center;
	font-size: 1.4rem;
	width: 100%;
	position: relative;
	z-index: 200;
}
#nav-pc__menu > li {
	border-right: 1px solid rgba(255,255,255,0.3);
}
#nav-pc__menu > li:first-child {
	border-left: 1px solid rgba(255,255,255,0.3);
}
#nav-pc__menu li ul li {
  overflow: hidden;
  width: 100%;
  height: 0;
  color: #fff;
  transition: .2s;
  text-align: left;
}
#nav-pc__menu > li:hover > a {  background-color: #2d2d2d; color: #fff; }
#nav-pc__menu > li:hover li:hover > a { background-color: rgba(0,0,0,1); }
#nav-pc__menu > li:hover > ul > li {
  overflow: visible;
  height: 4.8rem;
}
#nav-pc a{
	color: #fff;
}
#nav-pc ul li > a{
	display: block;
	padding: 1rem 2rem;
}
#nav-pc ul li.nav-bl a {
	background-color: #fff;
	padding: 3rem 50px;
}
#nav-pc ul li ul {
	height: 0;	
}
#nav-pc ul li ul li > a{
	display: block;
	padding: 1rem 20px;
	background: rgba(0,0,0,0.8);
	width: 150%;
	box-sizing: border-box;
	color: #fff;
}
.nav-pc__children {
	position: relative;
}
.nav-pc__children > a {
	padding: 1rem 4rem 1rem 2rem!important;
}
.nav-pc__children > a:after {
	font-family: 'ForkAwesome';
	content: '\f107';
	position: absolute;
	right: 15px;
	top: 1rem;
}
.nav-pc__children:hover {
	color: #fff;
}
.header__form {
	display: flex;
	justify-content: space-between;
	position: relative;
	width: 300px;
	box-sizing: border-box;
	border: 1px solid #000;
	border-radius: 4px;
	margin-right: 18px;
	background: #fff;
}
.header__form:before {
	font-family: 'ForkAwesome';
	content: '\f002';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 8px;
	margin: auto;
	height: 30px;
	line-height: 30px;
}
.header__form__box {
	border: none;
	height: 30px;
	margin-left: 30px;
}
.header__form__box:focus {
	outline: none;
}
.header__form__btn {
	width: 65px;
	background: #000;
	color: #fff;
	border: none;
	font-size: 1.4rem;
}
.header__r-box {
	display: flex;
	align-items: center;
}
.header__sns {
	display: flex;
	font-size: 2.6rem;	
}
.header__sns li a {
	margin-right: 14px;
}
.header__sns li:first-child a {
	color: #00acee;	
}
.header__sns li:last-child a {
	color: #3b5998;	
}
.header__switch {
	font-size: 1.4rem;
	display: flex;
	border: 1px solid #000;
	border-radius: 4px;
	width: 160px;
	box-sizing: border-box;
}
.header__switch .active {
	background: #000;
	color: #fff;
}
.header__switch .active:before {
	font-family: 'ForkAwesome';
	content: '\f05d';
	margin-right: 5px;
	font-size: 1.6rem;
}
.header__switch li {
	width: 50%;	
	text-align: center;
	height: 30px;
	line-height: 30px;
}
.header__switch a {
	display: block;
}





@media (max-width: 1300px) {
header {
	width: 90%;
	box-sizing: border-box;
}
}
@media (max-width: 1100px) {
.header__form {
	width: 250px;
}
}
@media (max-width: 900px) {
header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#header-clone {
	display: none;	
}
#logo {
	width: 270px;
}
#logo img {
	vertical-align: top;
}
#nav-pc {
	display: none;	
}
#nav-sp {
	display: block;	
	position: relative;
}
#nav-sp-menu-main > li {
    position: relative;
}
#nav-sp-menu-main > li i{
	position: absolute;
	right: 5px;
	top: 0;
	margin: auto;
	width: 80px;
	height: 50px;
	display: table;
}
#nav-sp-menu-main > li .fa-angle-down::before {
    content: "\f107";
    display: table-cell;
    vertical-align: middle;
	text-align: right;
	padding-right: 10px;
}
#nav-sp-menu > ul {
	margin-bottom: 2.5rem;
}
#nav-sp-menu > ul a{
	display: block;
	padding: 1.5rem 1rem;
	border-bottom: 1px solid #eeeded;
}
#nav-sp-menu > ul li ul li > a{
	background-color: #f6f6f6;
}
#nav-sp-menu > ul li.nav-bl a {
	background-color: #dd4d52;
	color: #fff;
}
header .sub-menu {
	display: none;	
}
.header-btn {
	margin: 20px 0;
	justify-content: center;
}
.nav-pc_children:after {
	display: none;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
    display: inline-block;
    width: 35px;
    height: 22px;
    vertical-align: middle;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 2px;/*線の太さ*/
    width: 35px;/*長さ*/
    border-radius: 3px;
    background: #555;
    display: block;
    content: '';
    cursor: pointer;
}
#nav-open span:before {
    bottom: -8px;
}
#nav-open span:after {
    bottom: -16px;
}
#nav-menu {
    position: absolute;
    top: 23px;
	right: 0;
	left: 0;
	margin: auto;
	font-size: 9px;	
	text-align: center;
}

/*閉じる用の薄黒カバー*/
#nav-close {
    display: none;/*はじめは隠しておく*/
    position: fixed;
    z-index: 99;
    top: 0;/*全体に広がるように*/
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;/*最前面に*/
    width: 90%;/*右側に隙間を作る*/
    max-width: 330px;/*最大幅*/
    height: 100%;
    background: #fff;/*背景色*/
    transition: .3s ease-in-out;/*滑らかに表示*/
    -webkit-transform: translateX(-105%);
    transform: translateX(-105%);/*左に隠しておく*/
}
#nav-sp__menu {
	padding: 2rem 0;	
	font-size: 1.8rem;
	text-align: center;
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
    display: block;/*カバーを表示*/
    opacity: .5;
}

#nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);/*中身を表示*/
}
.header__form__pc,
.header__r-box__pc {
	display: none;	
}
.header__r-box__sp {
	display: block;	
}
#nav-sp .header__sns,
#nav-sp .header__switch,
#nav-sp .header__form {
	margin: 1.5rem auto;	
}
#nav-sp .header__sns {
	justify-content: center;
	height: 25px;
	line-height: 25px;
}
#nav-sp .header__sns li:last-child a {
	margin-right: 0;
}
#nav-sp .header__form {
	width: 80%;
}

}

@media (max-width: 400px) {
#logo {
	width: 200px;
}
}

/****************************************

	footer

*****************************************/
#bnarea {
	padding: 4rem 0;
	background: #fff;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
#bnarea ul {
	display: flex;
	justify-content: center;
	align-items: center;
}
#bnarea li {
	padding: 0 2.3rem;
}
#bnarea a {
	text-align: center;
	display: block;
}
#bnarea img {
	max-width: 150px!important;
}
#pup {
	display: block;
	width: 44px;
	height: 44px;
	text-decoration: none;
	position: fixed;
	right: 20px;
	bottom: 17px;
	color: #fff;
	font-size: 20px;
	text-align: center;
	line-height: 40px;
	z-index: 999;
	border-radius: 100%;
	cursor: pointer;
	background-color: #242424;
}
footer{
	padding: 3rem 0;
}
footer,
footer a{
	color: #666;
}
#footer-nav {
	display: flex;
}
#footer-nav > ul {
	width: 30%;
}
#footer-nav ul:not(:last-child) {
	margin-right: 3.333%;
}
#footer-nav a{
	padding: 2px 0;
	display: block;
	font-weight: 700;
}
#footer-nav ul a {
	display: inline-block;
	padding: 0 2rem;
	font-size: 1.4rem;
	line-height: 1.5;
}
#footer-nav ul ul a {
	font-weight: 400;
}
#footer-nav ul ul a:before {
	content: '─';
	margin-right: 1rem;
}
#footer-copyright {
	font-size: 1.2rem;
	text-align: center;
	padding-top: 5rem;
}
@media (max-width: 1300px) {
#pup {
	display: block;
	width: 100%;
	height: 44px;
	position: static;
	font-size: 30px;
	line-height: 40px;
	border-radius: 0px;
	cursor: pointer;
	background-color: #242424;
	color: #fff;
}
#pup .fa {
	margin-top: 6px;
}
}
@media (max-width: 850px) {
footer{
	padding: 2% 0 5%;
}
#footer-nav {
	padding: 0.5rem 0;
	display: block;
}
#footer-nav ul {
	display: block;
	width: 100%;
}
#footer-nav ul:not(:last-child) {
	margin-right: 0;
}
#footer-nav ul a{
	display: block;
	padding: 1.5rem 0;
}
#footer-nav ul li{
	border-bottom: 1px solid #ccc;
}
#footer-nav ul li ul li:last-child{
	border-bottom: none;
}
#footer-nav ul li ul li:first-child{
	border-top: 1px solid #ccc;
}
#footer-copyright {
	padding-top: 5%;
}
}

@media (max-width: 800px) {
#bnarea ul {
	justify-content: space-between;
	flex-wrap: wrap;
}
#bnarea li {
	padding: 0 1rem;
	box-sizing: border-box;
	width: 50%;
}
}
@media (max-width: 450px) {
#bnarea li {
	width: 100%;
	}
#bnarea li:not(:last-child) {
	padding-bottom: 2.5rem;
}
}
/****************************************

	breadcrumb

*****************************************/
#breadcrumb  {
	margin: 0 auto 6rem;
	font-size: 1.2rem;
	padding: 1rem 0;
	box-shadow: 0 0px 5px rgba(0,0,0,0.05);
}
#breadcrumb i {
	margin: 0 8px;
}
#breadcrumb span {
	margin-right: 0.5rem;
}
#breadcrumb span:nth-child(n+2) {
	margin-left: 0.5rem;
}
@media screen and (max-width: 1300px) {
#breadcrumb  {
	box-sizing: border-box;
}
}
@media screen and (max-width: 450px) {
#breadcrumb  {
	margin: 0 auto 6rem;
}
}
/****************************************

pagination

*****************************************/
.pagination {
	font-size: 14px;
	line-height: 40px;
	margin: 30px 0;
	display: flex;
	flex-wrap: wrap;
}
.pagination span, .pagination a {
	display: block;
	width: 40px;
	height: 40px;
	text-align: center;
	text-decoration: none;
	color: #333;
	border: 1px solid #ccc;
	background: #fff;
	margin-bottom: 6px;
}
.pagination a:hover {
	color: #fff;
	background: #000;
	border: 1px solid #000;
}
.pagination .current {
	background: #000;
	width: 40px;
	height: 40px;
	text-align: center;
	color: #fff;
	border: 1px solid #000;
}
.page-btn {
	margin-right: 6px;
}
@media screen and (max-width: 1300px) {
}

/****************************************

	paging

*****************************************/
.paging {
	display: flex;
	justify-content: space-between;
	margin: 5rem 0 0;
	padding-top: 1.5rem;
	border-top: 1px dotted #000;
}
@media screen and (max-width: 800px) {
.paging {
	margin: 5% 0;
}
}

/****************************************

	common

*****************************************/
#wrap {
	margin: 0 auto 10rem;	
}
.home #wrap {
	margin: 0 auto;	
}
@media screen and (max-width: 450px) {
#wrap {
	margin: 0 auto 10%;	
}
}
/****************************************

	見出し2 3 4

*****************************************/
.pagettl {
	text-align: center;
}
.pagettl__head {
	font-size: 2.5rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	line-height: 1.5;
	position: relative;
	margin-bottom: 6rem;
	text-align: center;
}

.pagettl__head:after {
	content: '';
	display: block;
	position: absolute;
	top: 140%;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #333;
	height: 3px;
	width: 100px;
	margin: auto;
	padding: 0;
}
.pagettl__catch {
	font-size: 2rem;
	text-align: center;
}
.pagettl__img {
	margin: 5rem 0 6rem;
}

.pagettl2,
.pagettl3 {
	text-align: center;
}
.pagettl2__head,
.pagettl3__head {
	margin-bottom: 30px;
	text-align: center;
}
.pagettl2__head .jp,
.pagettl3__head .jp {
	letter-spacing: 2px;
	position: relative;
}
.pagettl2__head .en,
.pagettl3__head .en {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-bottom: 0.5rem;
}
.pagettl2__catch,
.pagettl3__catch {
	font-size: 2rem;
	text-align: center;
}
.pagettl2 {
	margin-bottom: 50px;
}
.pagettl2__head .jp {
	font-size: 2.8rem;	
	line-height: 4rem;
}
.pagettl2__head .en{
	line-height: 4rem;
	font-size: 1.8rem;
}
.pagettl3 {
	margin-bottom: 30px;
}
.pagettl3__head .jp {
	font-size: 2.4rem;	
	line-height: 4rem;
}
.pagettl3__head .en{
	line-height: 3rem;
	font-size: 1.6rem;
}








.ttl-head2 {
	font-size: 2.4rem;
	border-bottom: 3px solid #000;
	margin: 70px 0 30px;
	padding-left: 50px;
	padding-bottom: 8px;
	background: url(../images/ic_square01.png) left 3px no-repeat;
	background-size: 30px 31px;
	line-height: 1.5;
}
.ttl-head2:first-child {
	margin-top: 0;
}
.ttl-head3{
	font-size: 2.2rem;
	border-left: 5px solid #000;
	margin: 30px 0 20px;
	padding-left: 15px;
	line-height: 1.5;
}
.ttl-head3:first-child {
	margin-top: 0;
}
.ttl-head4{
	font-size: 2rem;
	border-bottom: 1px solid #000;
	margin: 40px 0 20px;
	padding-bottom: 10px;
}
.ttl-head5{
	font-size: 1.8rem;
	margin: 30px 0;
}
.ttl-head5:before{
	content: '■';
	margin-right: 5px;
}




@media screen and (max-width: 1300px) {
.ttl-head2 {
	margin: 40px 0 20px;
	padding-left: 40px;
	background: url(../images/ic_square01.png) left 2px no-repeat;
	background-size: 25px 26px;
}
}
@media screen and (max-width: 900px) {
.pagettl__img {
	margin: 5rem 0 2rem;
}
}
@media screen and (max-width: 450px) {
.pagettl__head .en{
	font-size: 3rem;
	line-height: 3rem;
}
}
/****************************************

YOUTUBE、動画レスポンシブ対応

*****************************************/
.youtube{
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
}
.youtube iframe,
.youtube object,
.youtube embed,
.youtube video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/****************************************

	frame

*****************************************/
.catch-box {
	border-left: 1px solid #5f496d;
	border-right: 1px solid #5f496d;
	text-align: center;
	margin-bottom: 4rem;
	padding: 0 20px 1rem;
}
.catch-box__img {
	margin-bottom: 4rem;
}
.catch-box__txt {
	font-size: 2rem;
	line-height: 1.8;
}

@media screen and (max-width: 800px) {
.catch-box__img {
	margin-bottom: 3rem;
}
}

/****************************************

	mod-form

*****************************************/
.mod-form {
	margin-bottom: 5%;
}
.mod-form table {
	display: table;	
	width: 100%;
	margin-top: 3rem;
}
.mod-form th,.mod-form td {
	padding: 3rem 0;
	border-bottom: 1px solid #d4d4d4;
	box-sizing: border-box;
	vertical-align: middle;
}
.mod-form th {
	display: table-cell;
	width: 33%;
	text-align: left;
	font-weight: normal;
}
.mod-form td {
	width: 67%;
}
.input-xs {
	width: 80px;
}
.input-sm {
	width: 132px;
}
.input-md {
	width: 167px;
}
.input-lg {
	width: 400px;
}
.mod-form input[type="text"] {
	border-radius: 5px;
	box-sizing: border-box;
}
.mod-form select {
	border-radius: 5px;
    display: block;
    width: 100%;
    height: 50px;
    line-height: 50px;
    font-size: 1.6rem;
    box-sizing: border-box;
    padding-left: 8px;
	}
.mod-form input[type="submit"] {
    display: block;
    background: #eb0404;
    font-weight: bold;
    padding: 20px 0;
	box-sizing: border-box;
    box-shadow: none;
	border: 1px solid #eb0404;
    color: #fff;
    font-size: 18px;
    width: 370px;
    margin: 40px auto 0;
}
.mod-form input[type="submit"]:hover {
    color: #eb0404;
    background: #fff;
}
.mod-form textarea{
	height: 150px;		
}
.hosoku {
	display: block;	
	margin-top: 0.5rem;
}
@media screen and (max-width:576px){
.mod-form th,
.mod-form td {
	display: block;	
	width: 100%;
}
.mod-form th {
	border-bottom: 0;
	padding: 2rem 0 0;
}
.mod-form td {
	padding: 1rem 0 2rem;
}
.mod-form input[type="text"] {
	margin: 0 0 1rem;
}
.input-xs {
	width: 23%;
}
.input-sm {
	width: 48%;
}
.input-md {
	width: 100%;
}
.input-lg {
	width: 100%;
}
.mod-form input[type="submit"] {
    padding: 20px;
    font-size: 14px;
    width: 100%;
    margin: 30px auto 0;
}
}

/****************************************

	single archive土台

*****************************************/
main {
	width: 70%;
}
aside {
	width: 25%;
}
aside h2 {
	padding: 1.4rem 15px;
	display: block;
	border-top: 3px solid #000;
}
aside ul > li a {
	border-top: 1px dotted #000;
	padding: 1.4rem 15px 1.4rem 4rem;
	display: block;
	text-indent: -1rem;
	font-size: 1.4rem;
	line-height: 1.6;
}
.blog aside ul > li a,
.category aside ul > li a {
	font-weight: bold;
}
aside > ul {
	border-bottom: 1px dotted #000;
}
aside > ul:not(:last-child) {
	margin-bottom: 4rem;
}
aside ul > li a:before {
	content: '\f0da';
	font-family: 'ForkAwesome';
	display: inline-block;
	color: #000;
	margin-right: 10px;
}
aside ul li > ul {
	padding-bottom: 1rem;
}
aside ul li ul li a {
	background: none;
	padding: 0.5rem 10px 0.5rem 40px;
	display: block;
	font-size: 1.4rem;
	font-weight: normal;
}
.blog aside ul li ul li a,
.category aside ul li ul li a {
	font-weight: normal;
}
aside ul li ul li:first-child a {
	padding: 0 10px 0.5rem 40px;
}
aside ul li ul li a:before {
	content: '';
}
.post-wrap {
	display: flex;
	justify-content: space-between;
	margin-bottom: 5rem;
}

@media screen and (max-width: 800px) {
.post-wrap {
	display: block;
}
main {
	width: 100%;
	margin-bottom: 10%;
}
aside {
	width: 100%;
}
}

/****************************************

	sns

*****************************************/
ul.share_btn {
margin: 36px 0 25px 0;
padding: 0;
}
 
.share_btn li {
float: left;
width: 49%;
margin: 0 4px 0 0;
list-style: none !important;
background: none !important;
padding-left: 0 !important;
}
 
.share_btn a {
display: block;
color: #fff !important;
text-decoration: none;
font-weight: bold;
text-align: center;
height: 5.5rem;
line-height: 5.5rem;
padding: 0;
font-size: 2rem;
-webkit-transition-duration: 500ms;
-moz-transition-duration: 500ms;
-o-transition-duration: 500ms;
transition-duration: 500ms;
-webkit-transition-timing-function: ease;
-moz-transition-timing-function: ease;
-o-transition-timing-function: ease;
transition-timing-function: ease;
-webkit-transition-property: all;
-moz-transition-property: all;
-o-transition-property: all;
transition-property: all;
}
 
.share_btn a:hover {
color: #fff;
position: relative;
top: -3px;
}
 
span.social_icon {
margin-right: 3px;
font-size: 16px;
}
 
.share_btn li:last-child {
margin-right: 0;
}
 
.share_btn:after {
content: ".";
display: block;
clear: both;
height: 0;
visibility: hidden;
}
 
a.facebook_btn {
background: #3B5998;
}
 
.facebook_btn:hover {
background: #5979be;
}
 
a.twitter_btn {
background: #33CCFF;
}
 
.twitter_btn:hover {
background: #88e1ff;
}
 
a.hatebu_btn {
background: #aaa;
}
 
.hatebu_btn:hover {
background: #d4d4d4;
}
 
span.hatebu_icon {
font-family: Verdana;
margin-right: 3px;
font-size: 16px;
}
 
a.hatebu_btn span {
position: relative;
top: -1px;
}
 
ul.share_btn_bottom {
margin: 20px 0 30px 0;
}

@media screen and (max-width: 450px) {
.share_btn a {
	font-size: 1.6rem;
}
}
/****************************************

	archive

*****************************************/
.archive-list {
	padding: 2rem 0;
}
.archive-list:not(:last-child) {
	border-bottom: 1px dotted #000;
}

/****************************************

	single archive

*****************************************/
.post__date {
	color: #6e6e6e;
	font-size: 1.4rem;
}
.post_cat,
.post_cat {
	float: left;
}
.post_cat li,
.post_cat li {
	display: inline;
}
.post_cat li:not(:last-child) {
	margin-right: 5px;
}
.post_cat a,
.post_cat a {
	font-size: 1.2rem;
	display: inline-block;
	padding: 3px 2rem;
	min-height: 15px;
	line-height: 15px;
	background: #000;
	color: #fff!important;
	text-decoration: none!important;
}
.post-area h1 {
	font-size: 2.7rem;
	margin-bottom: 1.5rem;
	line-height: 1.5;
}
.post-contents h1,
.post-contents h2,
.post-contents h3,
.post-contents h4 {
	clear: both;
}
.post-contents h1 {
	font-size: 2.5rem;
	margin-bottom: 3.5rem;
	padding-bottom: 10px;
	border-bottom: 3px solid #000;
	line-height: 1.5;
}
.post-contents h2 {
	font-size: 2.2rem;
	margin: 3rem 0 3rem;
	padding: 8px 15px;
    border-left: 6px solid #eb0404;
	background-color: #000;
    color: #fff;
	line-height: 1.5;
}
.post-contents h3 {
	font-size: 2rem;
	margin: 40px 0 20px;
	border-bottom: 3px solid #000;
	padding-bottom: 10px;
	line-height: 1.5;
}
.post-contents h4 {
	font-size: 1.8rem;
	border-bottom: 1px solid #000;
	margin: 20px 0 10px;
	padding-bottom: 5px;
}
.post-contents h4:before {
	content: '─';
	margin-right: 1rem;
}
.post-contents h5 {
	font-size: 1.6rem;
	margin: 20px 0 1rem;
	padding: 5px 2rem 7px;
	background: #efefef;
	display: inline-block;
	border-radius: 3px;
	line-height: 1.5;
}
.post-contents h6 {
	font-size: 1.5rem;
	border-bottom: 1px dotted #000;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
}
.post-contents p {
	margin-top: 3rem;
	margin-bottom: 3rem;
}

.post-contents a {
	color: #eb0404;
	text-decoration: underline;
}
.post-contents a:hover {
	text-decoration: underline;
}
.post-contents a[target="_blank"]  {
}
.post-contents a[target="_blank"]:after  {
    content: "\f08e";
	font-family: 'ForkAwesome';
	padding-left:5px;
	display: inline-block;
}
#post-73 .post-contents a[target="_blank"]:after  {
    content: "";
}
.single-post .post-contents img {
	padding: 2px;
	border: 1px solid #ccc;
	margin-bottom: 1rem;
}
.post-contents ul{ margin: 0 0 10px 30px;}

.post-contents ul li{
	margin-bottom:5px;
}
.single-post .post-contents ul li{
    list-style-type: disc;
}
.post-contents ol {
	padding-left: 5%;
}
.post-contents blockquote {
	clear:both;
	padding:10px 0 10px 15px;
	margin:10px 0 25px 30px;
	border-left:5px solid #ccc;
}
 
.post-contents blockquote p {padding:5px 0;}

.post-contents table {
	width: 100%;
	margin: 20px 0;
}
.post-contents th {
	background: rgba(0,0,0,0.05);
	width: 120px;
	vertical-align: middle;
}
.post-contents th,
.post-contents td{
	box-sizing: border-box;
	padding: 10px;
	border: 1px #ccc solid;
	line-height: 1.5;
}
.post-contents dt{font-weight:bold;}

.post-contents dd{padding-bottom:10px;}

.post-contents img{max-width:100%;height:auto;}

.aligncenter {
display: block;
margin:5px auto;
text-align: center;
}

.widget_sp_image img.aligncenter {
display: inline;
}

.alignright, .alignleft{
margin: 10px 10px 15px 15px;
display:inline;
}

.alignleft{margin:10px 15px 15px 10px;}

.alignright{float:right;}
.alignleft{float:left;}

p.wp-caption-text { margin-top: 0; font-size: 1.4rem; }
.wp-caption, .alignnone{
	max-width: 100%;
}
#gallery-1 img{
border:1px solid #eaeaea !important;
padding:5px;
background:#fff;
}

#gallery-1 img:hover{background:#fffaef;}
.tagcloud {
	line-height: 1.7;	
}


@media screen and (max-width: 1300px) {
.post-contents h1 {
	font-size: 2.2rem;
}
.post-contents h3 {
	font-size: 2rem;
	margin: 40px 0 30px;
}
}
@media screen and (max-width: 600px) {
.post-contents table.on {
	border: none;
}
.post-contents table.on th,
.post-contents table.on td{
	display: block;
	width: 100%!important;
	border: none;
	padding: 0;
	text-align: left!important;
	background: transparent;
}
.post-contents table.on tr:nth-child(even) th,
.post-contents table.on tr:nth-child(even) td {
	background: transparent;
}
.post-contents table.on td:last-child{
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px dotted #000;
}
.t-scroll {
	width: 100%;
	overflow-y: hidden;
	overflow-x: auto;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	margin-bottom: 7rem;
}
.t-scroll::-webkit-scrollbar {
height: 8px; /* スクロールバーの高さ */
}
.t-scroll::-webkit-scrollbar-thumb {
background: #aaa; /* スクロールバーの色 */
}
.t-scroll::-webkit-scrollbar-track {
background: #ccc; /* スクロールバーの背景色 */
}



img.alignright, img.alignleft{
	margin: 15px auto;
	display:block;
}
.alignright,.alignleft{float:none;}

}
