/*-----------------------------
	CSSリセット
------------------------------*/
ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
img {
	border: none;
	vertical-align: bottom;
}
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,sub,sup,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;font-weight:normal;}
body{line-height:1}article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section{display:block}
ul{list-style:none}blockquote,q{quotes:none}blockquote:before,
blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;
font-size:100%;vertical-align:baseline;background:transparent}
del{text-decoration:line-through}abbr[title],dfn[title]
{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;
margin:1em 0;padding:0}input,select{vertical-align:middle}


@media screen and (min-width: 601px) {

/*-----------------------------
	BASE
------------------------------*/
body {
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	color: #444;
	line-height: 1.85;
	letter-spacing: 0.8px;
	word-break: break-word;
	background: url(../images/common/body.jpg) repeat;
}
p {
	margin-bottom: 30px;
}
a {
	color: #f80;
	text-decoration: none;
	transition: 0.5s;
}
a:hover {
	color: #333;
	text-decoration: underline;
}
a:hover img {
	opacity: 0.7;
}
p img {
	display: block;
}
img,
.video-wrap video {
	height: auto;
	max-width: 100%!important;
}
input, select, textarea, button {
	font-family: 'Noto Sans JP', sans-serif;
	color: #444;
}
input:read-only, textarea:read-only {
	background-color: #eee!important;
}
::placeholder {
	color: #aaa!important;
}
blockquote {
	background:url(../images/m2.png),url(../images/m1.png);
	background-repeat:no-repeat,no-repeat;
	background-position:top left,bottom right;
	margin: 40px 0;
	padding: 40px 30px;
	background-color: #eee;
	border-radius: 8px;
}
blockquote p:last-child {
	margin: 0;
}
.s {
	font-size: 70%;
}
.l {
	font-size: 145%;
	line-height: 140%;
}
.b, strong {
	font-weight: bold;
}
.red {
	color: #f00;
}
.pink {
	color: #ff726c;
}
.key-marker  {
	font-weight: bold;
	background: linear-gradient(transparent 70%, #fd0 70%);
}
.bg--light-orange {
	background-color: #FFF5D8;
}
.bg--orange {
	background-color: #FFE0A3;
}
.bg--dark-orange {
	background-color: #FFAA00;
}
.center {
	text-align: center;
}
.table {
	display: table;
	width: 100%;
}
.table-cell {
	display: table-cell;
}
.is-hidden {
	display: none;
}
.margin-top10 {
	margin-top: 10px;
}
.margin-top15 {
	margin-top: 15px;
}
.margin-top20 {
	margin-top: 20px;
}
.margin-top30 {
	margin-top: 30px;
}
.margin-top45 {
	margin-top: 45px;
}
.margin-bottom10 {
	margin-bottom: 10px;
}
.margin-bottom15 {
	margin-bottom: 15px;
}
.margin-bottom30 {
	margin-bottom: 30px;
}
.spacing0 {
	letter-spacing: 0;
}
.clear {
    clear: both;
}
.circle,
.circle img {
	border-radius: 50%;
}
.key-color {
	color: #f80;
}
.sp {
	display: none!important;
}

/*-----------------------------
	Hタグ h
------------------------------*/
h1 {
	margin-bottom: 25px;
	font-size: 26px;
	font-weight: normal;
	letter-spacing: 0.05em;
	line-height: 1.4;
	color: #444;
	letter-spacing: 0;
}
h2, .h2 {
	margin: 55px 0 25px;
	padding: 18px 12px 18px 18px;
	background-color: #ffd79c;
	font-size: 20px;
	font-weight: normal;
	border-radius: 8px;
	color: #836449;
	line-height: 1.5;
}
h3, .h3 {
	margin: 40px 0 20px;
	padding: 0;
	font-size: 21px;
	font-weight: normal;
	color: #836449;
	background: none;
	line-height: 1.5;
}
h4, .h4 {
	font-size: 18px;
	color: #836449;
	font-weight: normal;
	margin-top: 40px;
	margin-bottom: 15px;
}
.heading-box {
	margin-bottom: 25px;
	display: flex;
	align-items: center;
}
.heading-box h1 {
	display: flex;
	margin-bottom: 0;
}
.heading-box .heading-support {
	display: inline-block;
	position: relative;
	margin-left: 10px;
	bottom: -2px;
	color: #836449;
	font-size: 11px;
	letter-spacing: 0.5px;
	padding: 4px 10px;
	background: #E9DEC3;
	border-radius: 20px;
}
.heading__has-icon {
	display: flex;
	align-items: center;
	padding: 0;
	background: none;
}
.heading__has-icon .icon {
	width: 36px;
	font-size: 36px;
	color: #f80;
	padding-right: 6px;
	position: relative;
}
.heading__has-icon .icon,
.heading__has-icon .icon img {
	display: block;
}
h1.heading__has-icon .icon {
	width: 40px;
	font-size: 40px;
	padding-right: 8px;
}
h1.heading__has-icon--l .icon {
	width: 60px;
}
.heading__has-icon--s .icon {
	width: 30px;
}
.heading__has-icon--s {
	font-size: 16px;
	margin-bottom: 20px;
}
.heading__has-icon--material-pseudo::before {
	content: attr(data-material-icon);
	display: block;
	width: 40px;
	padding-right: 8px;
	color: #f80;
	font-family: 'Material Icons Round';
	font-size: 40px;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	line-height: 1;
	letter-spacing: normal;
	position: relative;
	speak: none;
	text-transform: none;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	flex-shrink: 0;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-feature-settings: 'liga';
}
.heading__has-material-icon {
	display: flex;
	align-items: center;
}
.heading__has-material-icon .material-icons-round {
	margin-right: 4px;
	position: relative;
	top: 1px;
}
.border-heading3 {
	color: #f80;
	font-size: 20px;
	margin: 50px 0 20px;
	padding-left: 18px;
	position: relative;
}
.border-heading3:before {
    content: "";
    position: absolute;
    width: 5px;
    height: 100%;
    left: 0;
    top: 0;
    border-radius: 5px;
    background-color: #f80;
}
.border-heading4 {
    font-size: 18px;
    font-weight: bold;
    margin: 20px 0 10px;
}
.heading-eyecatch {
	margin-bottom: 20px;
}

/*-----------------------------
	レイアウト layout
------------------------------*/
#container {
	min-width: 1100px;
}
#header {
	padding-top: 20px;
}
.content-range {
	width: 1100px;
	margin: 0 auto;
	padding: 0 15px;
	box-shadow: none;
	box-sizing: border-box;
}
.content-range--middle {
	width: 830px;
}
#wrap {
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
}
#sidebar {
	width: 320px;
}
#main {
	width: calc(100% - 320px);
	padding-right: 50px;
	box-sizing: border-box;
}
#footer {
	background-color: #555;
	margin-top: 80px;
	padding-top: 50px;
}

.full-page #wrap {
	margin-top: 10px;
}
.full-page #main {
	width: 100%;
	padding-right: 0;
	background-color: #fff;
}
.full-page #footer {
	margin-top: 0;
}

/*-----------------------------
	ヘッダー header
------------------------------*/
.header-pr {
	background-color: #FDEFCC;
	padding: 9px 0 10px;
}
.header-pr p {
    font-size: 12px;
    line-height: 1;
    margin: 0;
    text-align: center;
}
.header-content-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 32px;
}
.header__logo {
	width: 210px;
}
.header__logo h1 {
	margin: 0;
	padding: 0;
}
.header__logo img {
	display: block;
}
.header__info {
	float: right;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
}
.header__info .login-list {
	display: flex;
	flex-wrap: wrap;
	align-content: center;
}
.header__info .login-list-btn {
	width: 180px;
	margin-left: 10px;
}
.header__info .login-list-btn a {
	display: block;
	font-size: 15px;
	padding: 5px 0;
	text-align: center;
	background-color: #fff;
	border: solid 1px #f80;
	border-radius: 6px;
}
.header__info .login-list-btn a:hover {
	text-decoration: none;
	color: #f80;
	background-color: #fffdf0;
}
.header__info .login-list-btn__appeal a {
	color: #fff;
	background-color: #f80;
}
.header__info .login-list-btn__appeal a:hover {
	color: #fff;
	background-color: #e60;
}
.header__info .avatar {
	width: 40px;
}
.header__info .avatar img {
	width: 40px;
	height: 40px;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}
.header__info .avatar a {
	position: relative;
	display: block;
}
.header__info .unread-count {
	position: absolute;
	width: 17px;
	height: 17px;
	box-sizing: border-box;
	font-size: 9px;
	line-height: 1;
	display: block;
	border-radius: 50%;
	padding-top: 3px;
	text-align: center;
	color: #fff;
	background-color: #f80;
	top: -6px;
	right: -6px;
}
.header__info .unsupported-mark {
	position: absolute;
	width: 17px;
	height: 17px;
	box-sizing: border-box;
	font-size: 9px;
	line-height: 1;
	display: block;
	border-radius: 50%;
	padding-top: 3px;
	text-align: center;
	color: #fff;
	background-color: #f00;
	top: 11px;
	right: -6px;
}
.header__info .searchform {
	position: relative;
	margin-right: 30px;
}
.header__info .searchform input {
    padding: 12px 20px 12px 45px;
    font-size: 13px;
    background-color: #eee;
    border: none;
    border-radius: 30px;
    width: 310px;
    box-sizing: border-box;
}
.header__info .searchsubmit {
    position: absolute;
    top: 9px;
    left: 15px;
    color: #555;
    margin: 0;
    padding: 0;
    border: none;
}
.header__info .searchsubmit:hover {
	cursor: pointer;
	color: #f80;
}


/*-----------------------------
	ナビ nav global-navi
------------------------------*/
#navi {
}
.global-navi-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.global-navi-list-item {
	text-align: center;
	position: relative;
	width: calc(100% / 7);
	box-sizing: border-box;
	border-left: solid 1px #ddd;
}
.global-navi-list-item:last-child {
	border-right: solid 1px #ddd;
}
.global-navi-list-item--has-child:before {
	position: absolute;
    content: "";
    bottom: 6px;
    right: 10px;
    width: 4px;
    height: 4px;
    border-bottom: 2px solid #aaa;
    border-right: 2px solid #aaa;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.global-navi-list-item__content {
	display: block;
	text-align: center;
    padding: 5px 0;
    color: #333;
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.2px;
    cursor: pointer;
}
.global-navi-list-item__content .icon {
	display: block;
	width: 32px;
	margin: 0 auto 4px;
}
.global-navi-list-item__content:hover {
	background-color: #fffdf0;
	text-decoration: none;
}
.global-sub-navi-list {
	display: none;
	width: 200px;
	padding: 20px 15px 20px 25px;
	box-sizing: border-box;
	background-color: #fffdf0;
	position: absolute;
	top: 100%;
	left: calc(50% - 100px);
	box-shadow: 1px 1px 6px #f80;
	border-radius: 10px;
	z-index: 5;
}
.global-sub-navi-list--wide {
	width: 250px;
}
.global-navi-list-item:hover .global-sub-navi-list {
	display: block;
}
.global-sub-navi-list-item a {
	display: block;
	margin: 0;
	font-size: 14px;
	padding: 5px 5px 5px 22px;
	color: #444;
	text-align: left;
	position: relative;
}
.global-sub-navi-list-item a:before {
	position: absolute;
    top: 1px;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 3px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #f80;
    border-right: 2px solid #f80;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.global-sub-navi-list-item a:hover {
	color: #f80;
}

/*-----------------------------------
	パンくず breadcrumb
------------------------------------*/
#breadcrumb {
	color: #777;
	margin-top: 15px;
	font-size: 12px;
	letter-spacing: 0;
}
#breadcrumb a {
	color: #777;
	letter-spacing: 1px;
	text-decoration: underline;
}
#breadcrumb a:hover {
	opacity: 0.7;
}
.breadcrumb-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.breadcrumb-list > li {
	padding-right: 10px;
}
.breadcrumb-list > li:last-child {
	padding-right: 0;
}
.breadcrumb-list > li:after {
	color: #999;
	content: '>';
}
.breadcrumb-list > li:last-child:after {
	display: none;
}
.breadcrumb-list > li span {
	padding-right: 10px;
}
.breadcrumb-list > li i {
	font-size: 16px;
	position: relative;
	top: 3px;
}

/*-----------------------------
	サイドバー sidebar
------------------------------*/
#sidebar {
	font-size: 14px;
	line-height: 1.45;
	letter-spacing: 0;
}
#sidebar h4 {
	font-size: 16px;
	margin: 0 0 20px;
	text-align: center;
}
#sidebar .item-box-wrap {
	margin-bottom: 40px;
	padding: 30px 20px;
	background-color: #fffded;
	border-radius: 15px;
	box-shadow: 0 0 1px #f80;
}
#sidebar .item-box-wrap__recent {
	background-color: #FDEFCC;
	box-shadow: none;
}
#sidebar .banner {
	margin-bottom: 20px;
}
#sidebar .item-box .banner:last-of-type {
	margin-bottom: 0;
}
#sidebar .banner a {
	display: block;
}
#sidebar .banner img {
	display: block;
	border-radius: 8px;
}
#sidebar .fukidasi {
	font-size: 13px;
}
/* ブログ・トピック一覧 */
#sidebar .article-list {
	margin: 0;
	padding: 0;
}
#sidebar .article-list > li {
	border-bottom: solid 1px #e5e5e5;
}
#sidebar .article-list li:first-child {
	border-top: solid 1px #e5e5e5;
}
#sidebar .item-box-wrap__recent .article-list > li,
#sidebar .item-box-wrap__recent .article-list > li:first-child {
	border-color: #fff;
}
#sidebar .article-list > li a {
	padding: 15px 0;
	position: relative;
}
#sidebar .item-box-wrap__member .article-list > li a {
	align-items: center;
}
#sidebar .article-list > li a:before {
	content: "→";
	position: absolute;
	line-height: 1;
	bottom: 5px;
	right: 5px;
	color: #f80;
	font-size: 18px;
	font-weight: bold;
}
#sidebar .article-list > li a:hover:before {
	right: 2px;
}
#sidebar .article-list > li a:hover {
	background: none;
}
#sidebar .article-list > li a:hover img {
	opacity: 0.8;
}
#sidebar .article-list .img {
	width: 60px;
}
#sidebar .article-list .img img {
	width: 60px;
	height: 60px;
	border-radius: 6px;
}
#sidebar .article-list .img.circle img {
	border-radius: 50%;
}
#sidebar .article-list li .content {
	width: calc(100% - 60px);
	padding-left: 12px;
}
#sidebar .article-list .title {
	margin: 0;
	padding: 0;
	font-size: 14px;
}
#sidebar .ranking .article-list li .img {
	position: relative;
}
#sidebar .ranking .article-list li .img:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: rgba(237, 109, 15, 0.9); 
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	z-index: 3;
	display: inline-block;
	width: 28px;
	height: 26px;
	border-radius: 0 0 0 6px;
}
#sidebar .ranking .article-list li .img:after {
	position: absolute;
	font-size: 14px;
	line-height: 1;
	letter-spacing: -1px;
	color: #fff;
	bottom: 6px;
	left: 11px;
	z-index: 4;
}
#sidebar .ranking .article-list li:nth-child(1) .img:after {
	content: "1";
}
#sidebar .ranking .article-list li:nth-child(2) .img:after {
	content: "2";
}
#sidebar .ranking .article-list li:nth-child(3) .img:after {
	content: "3";
}
#sidebar .ranking .article-list li:nth-child(4) .img:after {
	content: "4";
}
#sidebar .ranking .article-list li:nth-child(5) .img:after {
	content: "5";
}
#sidebar .ranking .article-list li:nth-child(6) .img:after {
	content: "6";
}
#sidebar .ranking .article-list li:nth-child(7) .img:after {
	content: "7";
}
#sidebar .ranking .article-list li:nth-child(8) .img:after {
	content: "8";
}
#sidebar .ranking .article-list li:nth-child(9) .img:after {
	content: "9";
}
#sidebar .ranking .article-list li:nth-child(10) .img:after {
	content: "10";
	left: 8px;
}
#sidebar .more-btn {
	margin-top: 15px;
	text-align: center;
}
#sidebar .more-btn a {
	color: #fff;
	background-color: #f80;
	display: inline-block;
	padding: 10px 32px 8px;
	border-radius: 30px;
	font-size: 13px;
}
#sidebar .more-btn a:hover {
	text-decoration: none;
	opacity: 0.7;
}
/* SNS */
#sidebar .item-box-wrap__sns .btn {
	display: block;
	border-radius: 5px;
	margin: 0 0 5px;
	padding: 16px 0;
	float: none;
	padding-right: 8px;
	text-align: center;
	margin-top: 8px;
	color: #fff;
	font-weight: bold;
	letter-spacing: 1px;
	position: relative;
	font-size: 16px;
	box-shadow: none;
}
#sidebar .btn__twitter {
	background-color: #000;
}
#sidebar .btn__insta {
	background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
}
/*	タブ	*/
.tab-nav {
	margin-bottom: 15px;
	display: flex;
}
.tab-nav a {
	display: inline-block;
	width: 48%;
	margin: 0 1%;
	padding: 5px 0;
	box-sizing: border-box;
	text-align: center;
	float: left;
    position: relative;
    color: #f80;
    border: solid 1px #f80;
    background-color: #fff;
    font-size: 13px;
    border-radius: 30px;
}
.tab-nav a:hover {
	text-decoration: none;
	opacity: 0.7;
}
.tab-nav a.current {
	color: #fff;
    background-color: #f80;
    position: relative;
}
.tab-nav a.current:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
 	margin-left: -10px;
	border: 10px solid transparent;
	border-top: 10px solid #f80;
}
.tab-nav a:last-child {
}
.tab-contents > div {
    display: none;
}
.tab-contents > div:first-child {
    display: block;
}
/*
	ページトップPR
*/
.page-top-pr {
	display: block;
	margin-bottom: 22px;
	padding: 12px 20px;
	line-height: 1;
	color: #444;
	font-size: 13px;
	background-color: #fffded;
	box-shadow: 0 0 3px #ffd557;
	border-radius: 6px;
	position: relative;
	transition: 0.5s;
}
.page-top-pr:hover {
	color: #f80;
	text-decoration: none;
	box-shadow: 0 0 6px #ffd557;
}
.page-top-pr:after {
	position: absolute;
	content: "》";
	font-size: 11px;
	font-weight: bold;
	color: #f80;
	right: 8px;
	top: 14px;
}
.page-top-pr .pr {
	color: #fff;
	background-color: #f80;
	font-size: 11px;
	display: inline-block;
	padding: 2px 5px;
	border-radius: 5px;
	margin-right: 10px;
}

}



@media screen and (max-width: 600px) {

/*-----------------------------
	BASE
------------------------------*/
body {
	font-size: 15px;
	font-family: 'Noto Sans JP', sans-serif;
	color: #444;
	line-height: 1.8;
	letter-spacing: 1px;
	word-break: break-word;
	background: url(../images/common/body.jpg) repeat;
}
p {
	margin-bottom: 25px;
}
a {
	color: #f80;
	text-decoration: none;
}
a:hover {
	color: #f80;
}
a:hover img {
	opacity: 0.7;
}
img,
.video-wrap video {
	height: auto;
	max-width: 100%!important;
}
p img {
	display: block;
}
input, select, textarea, button {
	font-family: 'Noto Sans JP', sans-serif;
	color: #444;
}
input:read-only, textarea:read-only {
	background-color: #eee!important;
}
::placeholder {
	color: #aaa!important;
}
blockquote {
	background:url(../images/m2.png),url(../images/m1.png);
	background-repeat:no-repeat,no-repeat;
	background-position:top left,bottom right;
	margin: 40px 0;
	padding: 40px 15px;
	line-height: 1.65;
	background-color: #eee;
	border-radius: 8px;
}
blockquote p:last-of-type {
	margin-bottom: 0;
}
.s, .sp-s {
	font-size: 12px;
}
.ss {
	font-size: 10px;
}
.l {
	font-size: 18px;
	line-height: 1.4;
}
.ll {
	font-size: 21px;
	line-height: 1.4;
}
.b, strong {
	font-weight: bold;
}
.red {
	color: #f00;
}
.pink {
	color: #ff726c;
}
.key-marker  {
	font-weight: bold;
	background: linear-gradient(transparent 70%, #fd0 70%);
}
.bg--light-orange {
	background-color: #FFF5D8;
}
.bg--orange {
	background-color: #FFE0A3;
}
.bg--dark-orange {
	background-color: #FFAA00;
}
.center {
	text-align: center;
}
.table {
	display: table;
	width: 100%;
}
.table-cell {
	display: table-cell;
	vertical-align: middle;
}
.is-hidden {
	display: none;
}
.margin-top10 {
	margin-top: 10px;
}
.margin-top15 {
	margin-top: 15px;
}
.margin-top20 {
	margin-top: 20px;
}
.margin-top30 {
	margin-top: 30px;
}
.margin-top45 {
	margin-top: 45px;
}
.margin-bottom10 {
	margin-bottom: 10px;
}
.margin-bottom15 {
	margin-bottom: 15px;
}
.margin-bottom30 {
	margin-bottom: 30px;
}
.spacing0 {
	letter-spacing: 0;
}
.clear {
	clear: both;
}
.circle,
.circle img {
	border-radius: 50%;
}
.key-color {
	color: #f80;
}
.pc {
	display: none!important;
}

/*-----------------------------
	hタグ
------------------------------*/
h1 {
	margin-bottom: 20px;
	font-size: 21px;
	font-weight: normal;
	letter-spacing: 0.05em;
	line-height: 1.37;
	color: #444;
	font-weight: normal;
	letter-spacing: 0.03em;
}
h2, .h2 {
	background-color: #ffd79c;
	font-size: 18px;
	font-weight: normal;
	margin: 45px 0 20px;
	padding: 15px 10px 15px 15px;
	border-radius: 8px;
	color: #836449;
	line-height: 1.35;
}
h3, .h3 {
	font-size: 19px;
	font-weight: normal;
	line-height: 1.4;
	margin-top: 40px;
	margin-bottom: 1.2em;
	color: #836449;
}
h4, .h4 {
	font-size: 17px;
	color: #836449;
	font-weight: normal;
	margin-bottom: 10px;
}
.heading-box {
	margin-bottom: 20px;
	display: flex;
	align-items: center;
}
.heading-box h1 {
	display: flex;
	margin-bottom: 0;
	letter-spacing: 0;
	font-size: 20px;
}
.heading-box .heading-support {
	display: inline-block;
	position: relative;
	margin-left: 8px;
	color: #836449;
	font-size: 10px;
	letter-spacing: 0.5px;
	padding: 2px 10px;
	background: #E9DEC3;
	border-radius: 20px;
}
.heading__has-icon {
	display: flex;
	align-items: center;
	padding: 0;
	background: none;
}
.heading__has-icon .icon {
	width: 40px;
	font-size: 40px;
	color: #f80;
	padding-right: 8px;
	position: relative;
}
.heading__has-icon .icon,
.heading__has-icon .icon img {
	display: block;
}
.heading__has-icon--s .icon {
	width: 30px;
}
.heading__has-icon--s {
	font-size: 14px;
	margin-bottom: 10px;
}
.heading__has-icon--material-pseudo::before {
	content: attr(data-material-icon);
	display: block;
	width: 40px;
	padding-right: 8px;
	color: #f80;
	font-family: 'Material Icons Round';
	font-size: 40px;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	line-height: 1;
	letter-spacing: normal;
	position: relative;
	speak: none;
	text-transform: none;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	flex-shrink: 0;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-feature-settings: 'liga';
}
.heading__has-material-icon {
	display: flex;
	align-items: center;
}
.heading__has-material-icon .material-icons-round {
	margin-right: 4px;
	position: relative;
}
.border-heading3 {
	color: #f80;
	font-size: 18px;
	margin: 40px 0 15px;
	padding-left: 15px;
	position: relative;
}
.border-heading3:before {
	content: "";
	position: absolute;
	width: 5px;
	height: 100%;
	left: 0;
	top: 0;
	border-radius: 5px;
	background-color: #f80;
}
.border-heading4 {
    font-size: 17px;
    font-weight: bold;
    margin: 20px 0 10px;
}
.heading-eyecatch {
	margin-top: -25px;
	margin-left: -12.5px;
	margin-bottom: 10px;
	width: calc(100% + 25px);	
}

/*-----------------------------
	レイアウト layout
------------------------------*/
#container {
	padding-top: 56px;
}
#header {
	position: fixed;
	z-index: 9999;
	padding: 12px 0;
	width: 100%;
	background-color: #f80;
	top: 0;
	left: 0;
	height: 56px;
	box-sizing: border-box;
}
.content-range {
	padding: 0 12.5px;
}
#sidebar {
	margin-top: 50px;
}
#footer {
	background-color: #555;
}
.full-page #wrap {
	margin-top: 0;
}
.full-page #breadcrumb {
	margin-bottom: 0;
}
.full-page #main {
	width: 100%;
	padding-right: 0;
	background-color: #fff;
}
.full-page #footer {
	margin-top: 0;
}

/*-----------------------------
	ヘッダー header
------------------------------*/
.header-pr {
	background-color: #FDEFCC;
}
.header-pr p {
	margin: 0;
	padding: 8px 0;
	font-size: 11px;
	line-height: 1.45;
}
.header__logo {
	width: 140px;
}
.header__logo img {
	display: block;
}

/*-----------------------------
	ナビ nav
------------------------------*/
nav {
	color: #fff;
}
.global-navi {
	box-sizing: border-box;
	overflow: scroll;
	height: 100%;
	position: relative;
}
.global-navi-btn {
	display: block;
	font-size: 14px;
	text-align: center;
	padding: 6px 0;
	width: 100%;
	box-sizing: border-box;
	border-radius: 5px;
	position: relative;
}
.global-navi-btn__mypage {
	color: #fff;
	background-color: #f80;
	border: solid 1px #fff;
	margin-bottom: 10px;
}
.global-navi-btn__mypage:hover {
	color: #fff;
}
.global-navi-btn__logout {
	color: #f80;
	background-color: #fff;
	border: solid 1px #f80;
}
.global-navi-btn__about {
	color: #f80;
	background-color: #fff;
	border: solid 2px #f80;
	text-align: center;
	padding: 10px 0;
	line-height: 1;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
}
.global-navi-btn__about img {
	width: 18px;
	margin-right: 10px;
}
.global-navi .drawer-menu {
	padding: 35px 70px 0 15px;	
}
.global-navi .navi-section-title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 2px 0;
	color: #f80;
	margin-bottom: 5px;
	position: relative;
}
.global-navi .navi-section-title img {
	width: 28px;
	margin-right: 5px;
}
.global-navi .navi-list {
	margin-bottom: 20px;
}
.global-navi .navi-list > li {
}
.global-navi .navi-list a {
	display: flex;
	align-items: center;
	color: #444;
	position: relative;
	padding: 5px 0;
	padding-left: 33px;
	font-size: 14px;
	letter-spacing: 0;
}
.global-navi .navi-list a:after {
	content: "》";
	position: absolute;
	top: 6px;
	right: -5px;
	color: #f80;
	font-size: 13px;
}
.global-navi .navi-list a .icon {
	width: 28px;
	margin-left: -2px;
	margin-right: 10px;
}
.global-navi .login-menu {
	padding: 35px 0 0 15px;
	box-sizing: border-box;
	margin-right: 70px;
}
.header__login {
	position: absolute;
	top: 13px;
	right: 108px;
	color: #fff;
}
.header__login .login-btn {
	color: #fff;
	font-size: 9px;
	border-radius: 4px;
	border: solid 1px #fff;
	padding: 2px 5px;
	line-height: 1.3;
	text-decoration: none;
	letter-spacing: 0;
	display: block;
}
.header__login .avatar {
	width: 30px;
	display: block;
	position: relative;
}
.header__login .avatar img {
	width: 30px;
	height: 30px;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}
.header__login .unread-count {
	position: absolute;
	font-size: 8px;
	padding-top: 2px;
	text-align: center;
	border: solid 1px #fff;
	top: -6px;
	right: -6px;
	border-radius: 50%;
}
.header__login .unsupported-mark {
	position: absolute;
	width: 16px;
	height: 16px;
	box-sizing: border-box;
	font-size: 8px;
	line-height: 1;
	display: block;
	color: #fff;
	background-color: #f00;	
	padding-top: 2px;
	text-align: center;
	border: solid 1px #fff;
	top: 10px;
	right: -6px;
	border-radius: 50%;
}
.header__search {
	position: absolute;
	right: 60px;
	top: 11px;
}
.header__search .open_button {
	color: #fff;
	font-weight: bold;
	cursor: pointer;
}
.header__search .open_button i {
	font-size: 34px;
	display: block;
}
.header__modal_wrap input {
	display: none;
}
.header__modal_wrap .modal_overlay {
	display: block;
	justify-content: center;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.7);
	opacity: 0;
	transition: opacity 0.5s, transform 0s 0.5s;
	transform: scale(0);
}
.header__modal_wrap .modal_trigger {
	position: absolute;
	width: 100%;
	height: 100%;
}
.header__modal_wrap .modal_content {
	position: relative;
	align-self: center;
	width: 90%;
	max-width: 800px;
	padding: 60px 15px 40px;
	box-sizing: border-box;
	background: #fff;
	line-height: 1.4em;
	transition: 0.5s;
	margin-left: 5%;
	margin-top: 20%;
	border-radius: 10px;
}
.header__modal_wrap .close_button {
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 20px;
	cursor: pointer;
}
.header__modal_wrap input:checked ~ .modal_overlay {
	opacity: 1;
	transform: scale(1);
	transition: opacity 0.5s;
}
.header .searchinput {
	width: 90%;
	border: none;
	color: #555;
	font-size: 14px;
	border-bottom: solid 1px #f80;
	padding: 8px 4px;
	display: block;
	box-sizing: border-box;
	text-align: center;
	margin: 0 auto;
}
.header .searchsubmit {
	margin: 15px auto 0;
	border-radius: 8px;
	background-color: #f80;
	color: #fff;
	width: 200px;
	font-size: 14px;
	padding: 5px 10px 4px;
	letter-spacing: 1px;
	text-align: center;
	display: block;
	border: none;
}
/* ハンバーガーメニュー */
.hamburger-menu {
	position: fixed;
	right: -100%;
	top: 0;
	width: 100%;
	height: 100vh;
	box-sizing: border-box;
	background-color: #FFFBF0;
	transition: all .6s;
	z-index: 200;
	overflow-y: auto;
}
.hamburger {
	position: absolute;
	right: 0;
	top: 0;
	width: 58px;
	height: 56px;
	cursor: pointer;
	z-index: 300;
}
.hamburger__line {
	position: absolute;
	right: 16px;
	top: 5px;
	width: 30px;
	height: 4px;
	background-color: #fff;
	transition: all .6s;
	border-radius: 2px;
}
.hamburger__line--1 {
  top: 16px;
}
.hamburger__line--2 {
  top: 26px;
}
.hamburger__line--3 {
  top: 36px;
}
.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all .6s;
  cursor: pointer;
}
.nav-open .hamburger-menu {
  right: 0;
}
.nav-open .black-bg {
  opacity: .8;
  visibility: visible;
}
.nav-open .hamburger__line--1 {
	background-color: #f80;
  transform: rotate(45deg);
  top: 30px;
}
.nav-open .hamburger__line--2 {
  width: 0;
  left: 50%;
}
.nav-open .hamburger__line--3 {
	background-color: #f80;
  transform: rotate(-45deg);
  top: 30px;
 }

/*-----------------------------------
	パンくず breadcrumb
------------------------------------*/
#breadcrumb {
	color: #777;
	background-color: #eee;
	padding-top: 5px;
	padding-bottom: 5px;
	margin-bottom: 25px;
	font-size: 10px;
	letter-spacing: 0;
}
#breadcrumb a {
	color: #777;
	text-decoration: underline;
}
#breadcrumb a:hover {
	opacity: 0.7;
}
.breadcrumb-list {
	display: flex;
	align-items: center;
	white-space: nowrap;
	overflow: hidden;
}
.breadcrumb-list > li {
	padding-right: 10px;
}
.breadcrumb-list > li:last-child {
	padding-right: 0;
}
.breadcrumb-list > li:after {
	color: #999;
	content: '>';
}
.breadcrumb-list > li:last-child:after {
	display: none;
}
.breadcrumb-list > li span {
	padding-right: 10px;
}
.breadcrumb-list > li i {
	font-size: 13px;
	position: relative;
	top: 2px;
}
.page-top-pr {
	display: block;
	margin-bottom: 22px;
	padding: 10px;
	line-height: 1;
	letter-spacing: 0;
	color: #444;
	font-size: 12px;
	background-color: #fffded;
	box-shadow: 0 0 3px #ffd557;
	border-radius: 6px;
	position: relative;
	transition: 0.5s;
}
.page-top-pr:hover {
	color: #f80;
	text-decoration: none;
	box-shadow: 0 0 6px #ffd557;
}
.page-top-pr:after {
	position: absolute;
	content: "》";
	font-size: 10px;
	font-weight: bold;
	color: #f80;
	right: 5px;
	top: 12px;
}
.page-top-pr .pr {
	color: #fff;
	background-color: #f80;
	font-size: 10px;
	display: inline-block;
	padding: 2px 5px;
	letter-spacing: -1px;
	border-radius: 5px;
	margin-right: 5px;
}

}



div.common-search-wrapper {
	margin-bottom: 20px;
}

.common-search-wrapper .searchinputwrapper {
	position: relative;
	width: 50%;
	margin: 0 auto;
}
.common-search-wrapper .searchform input {
    padding: 12px 20px 12px 45px;
    font-size: 13px;
    background-color: #eee;
    border: none;
    border-radius: 30px;
    width: 100%;
    box-sizing: border-box;
}
.common-search-wrapper .searchsubmit {
    position: absolute;
    top: 9px;
    left: 15px;
    color: #555;
    margin: 0;
    padding: 0;
    border: none;
}
.common-search-wrapper .searchsubmit:hover {
	cursor: pointer;
	color: #f80;
}


.fixed-footer-post {
    position: fixed;
    right: 20px;
    bottom: 10px;
    z-index: 9999;
    text-align: center;
    display: block;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.1s ease;
}
.fixed-footer-post.is-visible {
    opacity: 1;
    pointer-events: auto;
}
.fixed-footer-post-btn {
    position: relative;
    display: block;
    width: 150px;
    height: 150px;
    background-color: #f80;
    border: solid 5px #FFD79C;
    box-sizing: border-box;
    border-radius: 50%;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease;
}
.fixed-footer-post-btn:hover {
    background-color: #e60;
}
.fixed-footer-post-btn span {
    position: absolute;
    top: 45px;
    left: 16px;
    width: 110px;
    text-align: center;
    font-size: 18px;
    color: #fff;
    font-weight: bold;
    display: block;
    line-height: 1.3;
}
@media screen and (max-width: 600px) {
	.fixed-footer-post {
		right: 8px;
		bottom: 8px;
	}
	.fixed-footer-post-btn {
		width: 100px;
		height: 100px;
		border-width: 3px;
	}
	.fixed-footer-post-btn span {
		top: 27px;
		left: 3px;
		width: 90px;
		font-size: 14px;
		letter-spacing: 0;
		line-height: 1.4;
	}
}
