@charset "utf-8";
/* CSS Document */
/*--------------------------------------------------------------------------
	reset
---------------------------------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
small,
dl,
dt,
dd,
ol,
ul,
li {
	margin: 0;
	font-size: 100%;
}
ul {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
img {
	vertical-align: top;
}
li {
	list-style-type: none;
	vertical-align: baseline;
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
/*--------------------------------------
	Base
---------------------------------------*/
*,
*::before,
*::after{
	box-sizing: inherit;
	-webkit-box-sizing: inherit;
	-moz-box-sizing: inherit;
}
body {
	color: #333333;
	font-family: "メイリオ","MS PGothic",sans-serif;
	font-size: 14px;
	line-height: 1.8em;
	background: #fcf8ee;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}
img {
	max-width: 100%;
	height:auto;
	vertical-align: middle;
}
a {
	color: #333;
	text-decoration: underline;
}
.fl {
	float: left;
}
.fr {
	float: right;
}
.strong {
	font-weight: bold;
}
.f110 {
	font-size: 110%;
}
.f120 {
	font-size: 120%;
}
.f130 {
	font-size: 130%;
}
.f150 {
	font-size: 150%;
}
.f200 {
	font-size: 200%;
}
.f300 {
	font-size: 300%;
}
/* clear clerfix */
.clear {
	clear: both;
	display: block;
	overflow: hidden;
	visibility: hidden;
	width: 0;
	height: 0;
}

.contents:after,
.clearfix:after {
	content:"";
	display:block;
	clear:both;
}

.contents,
.clearfix {
	zoom: 1;
	/* for IE5.5 - IE7 */
}

/*----------------------------------------------------
	PCサイトcss
----------------------------------------------------*/
@media screen and (min-width: 600px) {
	/*---------------------------
		HEADER - PC
	---------------------------*/
	.inner,
	header nav ul{
		width: 1000px;
		margin: 0 auto;
	}
	header{
		border-top: 6px solid #ffcd1e;
		background: #fff;
	}
	header .site_name{
		text-align: center;
		padding: 30px 0;
	}
	header .site_name a:hover{
                opacity: 0.6;
        }        
	header h1,
	.site_name .logo{
		font-size: 30px;
		font-weight: bold;
		position: relative;
		padding: 0 0 0 70px;
		line-height: 1.3;
		display: inline-block;
		margin: 0 100px 20px;
	}
	header h1::before,
	.site_name .logo::before{
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -25px;
		width: 50px;
		height: 50px;
		background: url("./img/logo.png") no-repeat center center;
		background-size: 74% auto;
	}
	/*---------------------------
		GLOBAL NAV - PC
	---------------------------*/
	header nav{
		position: relative;
	}
	header nav::before{
		content: "";
		background-size: auto 100%;
		width: 100%;
		height: 6px;
		position: absolute;
		top: 0;
		left: 0;
		background: #ffcd1e;
	}
	header.lower nav::after{
		content: "";
		background-size: auto 100%;
		width: 100%;
		height: 6px;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #ffcd1e;
	}
	header nav ul,
	header nav li,
	header nav ul a{
		display: flex;
		display: -webkit-flex;
		display: -moz-flex;
		justify-content: center;
		-webkit-justify-content: center;
		-moz-justify-content: center;
	}
	header nav ul {
		padding: 0;
		align-items: stretch;
		-webkit-align-items: stretch;
		-moz-align-items: stretch;
		flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
	}
	header nav li {
		padding: 0;
		font-size: 14px;
		width: 20%;
		vertical-align: middle;
		align-items: center;
		-webkit-align-items: center;
		-moz-align-items: center;
	}
	header nav li a{
		align-items: center;
		-webkit-align-items: center;
		-moz-align-items: center;
		text-align: center;
		text-decoration: none;
		/* color: #595959; */
        padding: 20px 10px 15px;
		width: 100%;
		height: 100%;
		font-weight: bold;
	}
	/*---------------------------
		MAIN VISUAL - PC
	---------------------------*/
	.main_visual{
		background: #fcf4d9;
		position: relative;
		margin-bottom: 55px;
	}
	.main_visual:after{
		/* content: ""; */
		position: absolute;
		display: block;
		bottom: 0;
		height: 100px;
		width:100%;
	}
	.main_visual .inner{
		position: relative;
		overflow: hidden;
		min-height: 396px;
		padding: 40px 560px 140px 40px;
	}
	.main_visual .inner:before{
		bottom: 0;
		right: 0;
		z-index: 1;
		content: '';
		position: absolute;
		display: block;
		background-size: 100%;
		height: 130px;
		width:104px;
		background-image: url("./img/mv_i.png");
	}
	.main_visual .inner .heading > img{
		position: absolute;
	}


	.main_visual_icon{
		border-radius: 50%;
		border: 10px solid #ffcd1e;
		background: #fff;
	}
	.main_visual_01{
		bottom: -110px;
		right: 80px;
	}
	.main_visual_02{
		bottom: 240px;
		right: 35px;
	}
	.main_visual_03{
		bottom: 0;
		right: 505px;
	}

	.main_visual .inner .heading{
		font-size: 26px;
		color: #fa8700;
		font-weight: bold;
		margin-bottom: 20px;
		line-height: 34px;
	}
	/*---------------------------
		PANKUZU - PC
	---------------------------*/
	#pankuzu {
		font-size: 13px;
		margin: 0 auto;
		padding: 15px 6px 0;
		width: 1000px;
	}
	/*---------------------------
		MAIN CONTENTS - PC
	---------------------------*/
	#contents {
		width: 1000px;
		margin: 30px auto 0;
		padding: 0;
		
	}
	#index,
	#category,
	#page {
		float: left;
		width: 720px;
		margin: 0;
		padding: 0;
	}
	#side {
		float: right;
		width: 240px;
	}
	/*---------------------------
		SIDE - PC
	---------------------------*/
	#side .sidetop{
		background: url("./img/dots.png") no-repeat center top 10px, url("./img/free.gif");
		padding: 30px 15px 10px 15px;
		margin-bottom: 30px;
	}
	#side .sidetop_heading{
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 14px;
		background: #bbe88f;
	}
	#side .sidetop_heading a{
		display: block;
		padding: 8px 10px;
		text-decoration: none;
		font-size: 20px;
		line-height: 1.4;
	}
	#side .sidetop_heading a:hover{
		opacity: 0.5;
	}
	#side .sidetop_image{
		margin-bottom: 14px;
	}
	#side .sidetop_image img{
		width: 100%;
	}
	#side cite{
		font-style: normal;
		text-align: center;
		display: block;
		margin-bottom: 10px;
		line-height: 1.4;
		font-size: 12px;
	}
        #side .txt {
            font-size: 14px;
        }        
	#side .sidetop_button{
                margin: 12px 0 0;
                width: 100%;
	}
	#side .sidetop_button a{
		display: block;
		height: 100%;
		border-radius: 5px;
		background: url(./img/btn_arrow.png) right 10px center no-repeat;
		background-color: #f97c19;
		color: #fff;
		text-align: center;
		font-weight: bold;
		font-size: 16px;
		position: relative;
		text-decoration: none;
		border: 2px solid #f97c19;
		color: #ffffff;
		padding: 8px 20px 8px 10px;
	}
	#side .sidetop_button a:hover{
		opacity: 0.7;
	}            
	#side .sideBox {
		margin: 0 0 25px;
		box-shadow: 0 2px 3px 0 #dddaca;
	}
	#side .sideBox .sttl a {
		display: block;
		padding: 15px 10px;
		text-decoration: none;
		font-size: 16px;
		font-weight: bold;
		text-align: center;
		background: #ffcd1e;
		border-bottom-left-radius: 3px;
		border-bottom-right-radius: 3px;
	}
	#side .sideBox ul {
		margin: 0 0 30px 0;
	}
	#side .sideBox li a {
		display: block;
		border-bottom: 1px solid #dfddda;
		position: relative;
		padding: 10px 40px 10px 20px;
		text-decoration: none;
		background: url(./img/side_cat_arrow.png) right 10px center no-repeat;
		background-color: #fff;
	}
	#side .sideBox li:last-child a{
		border-bottom-width: 0;
	}

	/*---------------------------
		FOOTER - PC
	---------------------------*/
	footer {
		margin: 194px 0 0 0;
		background: #404040;
	}
	footer .inner {
		padding: 30px 0;
		position: relative;
	}
	footer .inner .sttl{
		margin: 20px 0;
	}
	footer .inner .sttl a{
    display: block;
    border-radius: 5px;
    font-size: 16px;
    padding: 10px 20px 10px 40px;
    position: relative;
    font-weight: bold;
    color: #ececec;
 }
	footer .inner .sttl a::before{
		content: "";
		width: 10px;
		height: calc(100% - 20px);
		background: #ffcd1e;
		position: absolute;
		top: 10px;
		left: 10px;
	}
	footer .inner a{
		text-decoration: none;
		color: #fff;
	}
	footer .inner > ul{
		margin-bottom: 30px;
		display: flex;
		display: -webkit-flex;
		display: -moz-flex;
		flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
	}
	footer .inner > ul > li{
		padding-left: 35px;
		font-size: 14px;
		width: 20%;
   		margin-bottom: 15px;
	}
	footer .inner > ul > li::before{
		content: "■";
		color: #fefefe;
		margin-right: 4px;
		margin-left: -18px;
	}
	footer .inner .footer_info{
		margin-top: 30px;
	}
	footer .inner .sitemap_wrap{
		float: left;
		width: 105px;
		background: #ffffff;
	}
	footer .inner .sitemap{
		display: block;
		border: 2px solid #fff;
		font-size: 12px;
		position: relative;
		padding: 5px 0 5px 20px;
		color: #333;
	}
	footer .inner .sitemap::before{
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 5px 0 5px 8px;
		border-color: transparent transparent transparent #fa8700;
		position: absolute;
		top: 50%;
		left: 6px;
		margin-top: -5px;
	}
	footer .inner .agreement{
		width: 870px;
		border: 2px solid #fff;
		padding: 15px;
		float: right;
		font-size: 12px;
		background: #f5f5f5;
	}
	footer p.copy {
		padding: 4px 0;
		font-size: 12px;
		text-align: center;
		color: #ffffff;
	}
	footer p.copy a {
		color: #fff;
		text-decoration: none;
	}
	footer .footer_sitename{
		display: none;
	}
	/*---------------------------
		PAGETOP - PC
	---------------------------*/
	.pagetop{
		position: absolute;
		right: 0;
		top: -130px;
		padding: 46px 0 0 0;
		display: block;
		border: 3px solid #404040;
		background: #404040;
		width: 90px;
		height: 90px;
		text-align: center;
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		border-radius: 50%;
	}
	.pagetop::before{
		content: "";
		position: absolute;
		top: 24px;
		left: 50%;
		width: 20px;
		height: 20px;
		border-top: 3px solid #fff;
		border-left: 3px solid #fff;
		margin-left: -10px;
		transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
	}
	/* メインコンテンツ */
	#index a, #category a, #page a {
		text-decoration: none;
	}
	#index h2, #category h1, #page h1 {
		font-size: 28px;
		font-weight: bold;
		margin: 0 0 35px;
		line-height: 1.4;
		padding: 16px 110px 16px 30px;
		position: relative;
		border: 2px solid #faecaa;
		background: #fff;
		box-shadow: 0 0 0 5px #ffcd1e;
	}
	#index h2::before, #category h1::before, #page h1::before{
                content: "";
                width: 90px;
                height: 149px;
                background: url(./img/h2.png) no-repeat center center;
                background-size: 100% auto;
                position: absolute;
                top: 50%;
                right: 0;
                margin-top: -76px;
	}
	#index h2 *, #category h1 *, #page h1 *{
		position: relative;
		z-index: 20;
	}
	#index h3, #category h2, #page h2 {
                font-size: 26px;
                font-weight: bold;
                margin: 30px 0;
                line-height: 1.4;
                padding: 15px 10px 15px 70px;
                position: relative;
                background: #fff;
                border-top: 5px solid #ffcd1e;
                border-bottom: 5px solid #ffcd1e;
 }
	#index h3 a, #category h2 a, #page h2 a{
		color: #595959;
	}
	#index h3::after, #category h2::after, #page h2::after{
		content: "";
		position: absolute;
		width: 38px;
		height: 36px;
		top: 40%;
		left: 16px;
		margin-top: -18px;
		background: url("./img/h3.png") no-repeat center center;
		background-size: contain;
	}
	#index h4, #category h3, #page h3 {
		font-size: 24px;
		margin: 30px 0;
		border: 2px solid #ffcd1e;
		padding: 15px;
		line-height: 1.4;
		background: url("./img/h4.gif");
		background-color: #fdfbf4;
	}
	#index h5, #category h4, #page h4 {
		font-size: 20px;
		margin: 30px 0;
		padding: 10px 10px 8px 10px;
		background: url("./img/h5.gif") repeat-x left 3px bottom;
		line-height: 1.4;
	}

	#index p, #category p, #page p {
		margin: 0px 0px 15px 0px;
	}
	#index ul, #category ul, #page ul {
		margin: 15px 0;
		list-style: decimal outside none;
	}
	#index ul li, #category ul li, #page ul li {/* list-style: none; */padding-left: 25px;/* background: url(./img/li.png) no-repeat left 3px top 3px; */background-size: 16px auto;margin: 10px 0;}
	#index ol, #category ol, #page ol{
		margin: 15px 0px;
		counter-reset: section;
		padding-left: 0;
	}
	#index ul li,
	#category ul li,
	#page ul li {
		position: relative;
	}
	#index ul li::before,
	#category ul li::before,
	#page ul li::before {
  content: '';
  display: block;
  background-color: #ffcd1e;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  border-radius: 50px;
}
	#index ol li, #category ol li, #page ol li {
		list-style: none;
		position: relative;
		padding-left: 25px;
		margin: 10px 0;
	}
	#index ol li::before, #category ol li::before, #page ol li::before{
		counter-increment: section;
		content: counter(section);
		color: #fff;
		font-weight: bold;
		position: absolute;
		top: 1px;
		left: 0;
		width: 20px;
		height: 20px;
		background: #404040;
		border-radius: 50%;
		text-align: center;
		line-height: 1.5;
		padding-left: 1px;
	}
	#index ol li:nth-of-type(9) ~ li::before{
		content: counter(section) ". ";
	}
	/* おすすめ・ランキング */
	.rank, .ng, .ok, .recommend{
                font-size: 26px;
                font-weight: bold;
                margin: 20px 0;
                line-height: 1.4;
                padding: 23px 25px 23px 140px;
                position: relative;
                background: #fff;
                border: 3px solid #ffcd1e;
 }
       
	.rank::before, .ng::before, .ok::before, .recommend::before{
		content: "";
		position: absolute;
		top: 50%;
	}
	.rank::before{
		left: 20px;
		width: 101px;
		height: 73px;
		margin-top: -39px;
	}
	.rank1::before{
		background: url("./img/1.png") no-repeat center center;
		background-size: 64% auto;
	}
	.rank2::before{
		background: url("./img/2.png") no-repeat center center;
		background-size: 64% auto;
	}
	.rank3::before{
		background: url("./img/3.png") no-repeat center center;
		background-size: 64% auto;
	}
	.rank4::before{
		background: url("./img/4.png") no-repeat center center;
		background-size: 64% auto;
	}
	.ng::before{
		width: 105px;
		height: 74px;
		margin-top: -39px;
		left: 20px;
		background: url("./img/ng.png") no-repeat center center;
		background-size: 60% auto;
	}
	.ok::before{
		width: 105px;
		height: 74px;
		margin-top: -39px;
		left: 20px;
		background: url("./img/ok.png") no-repeat center center;
		background-size: 60% auto;
	}
	.recommend::before{
		width: 80px;
		height: 95px;
		margin-top: -48px;
		left: 24px;
		background: url("./img/reco.png") no-repeat center center;
		background-size: 100% auto;
	}
	/* 強調 */
	#index > p > span, #category > p > span, #page > p > span{
		color: #fa8700;
		font-weight: bold;
		font-size: 18px;
		margin: 0 2px;
	}
	#index td span, #category td span, #page td span {
		color: #fa8700;
		font-weight: bold;
	}
	/* 画像とテキスト */
	.float-wrap{
		margin-bottom: 20px;
	}
	.float-img .flame{
		margin-bottom: 10px;
	}
	.float-img .flame img{
		border: 4px solid #ffcd1e;
	}
	.float-img .caption{
		text-align: center;
		color: #b3b3b2;
		font-size: 12px;
		margin-top: 10px;
	}
	.float-img.fl{
		margin: 5px 20px 0 0;
                width: 226px;
	}
	.float-img.fr{
		margin: 5px 0 0 15px;
                width: 226px;                
	}
	/* テーブル */
	.table-layout{
		width: 100%;
		margin: 20px 0px;
	}
	table {
		width: 100%;
		border:1px solid #d2d2d2;
		border-collapse:collapse;
		border-spacing:0;
		empty-cells:show;
		font-size: 14px;
		margin-bottom: 3rem;
	}
	th {
		background-color: #f5f5f5;
		border: 1px solid #cdcdcd;
		text-align:center;
		padding: 10px;
	}
	td {
		border:1px solid #d2d2d2;
		padding: 10px;
		background: #fff;
	}
	/* 運営会社情報ページのみ */
	.host th {
		min-width: 110px;
	}

	/* リンクボタン */
	.btn-internal,
	.btn-web{
		width: 320px;
		display: block;
		text-decoration: none;
		font-size: 18px;
		color: #fff !important;
		padding: 20px 25px 20px 20px;
		font-weight: bold;
		text-align: center;
		border-radius: 10px;
		position: relative;
		margin: 20px auto;
		box-shadow: 0px 2px 1px rgba(0,0,0,0.13);
	}
	.btn-internal{
		background: linear-gradient(to bottom, #fb9a29,#fa8802); 
	}
        .btn-internal:after,
        .btn-web:after {
            content: "";
            background: url(./img/btn_arrow.png) right center;
            width: 20px;
            height: 20px;
            position: absolute;
            right: 16px;
            top: 50%;
            margin-top: -10px;
        }
	.btn-web{
		box-shadow: 0px 2px 1px rgba(0,0,0,0.13), 0 0 0 1px #d2d2d2 inset, 0 0 0 4px #fff inset;
		background: linear-gradient(to bottom, #86bf35,#72b514); 
	}
	.btn-link{
		position: relative;
		display: inline-block;
		padding-left: 14px;
		float: right;
		font-size: 16px;
		color: #333;
		font-weight: bold;
	}
	.btn-link::before{
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 5px 0 5px 8px;
		border-color: transparent transparent transparent #fa8700;
		margin-top: -5px;
	}
	.btn-tel {
		display: none;
	}
	/* 2カラムボックス */
	.box-wrap{
		margin-bottom: 20px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: stretch;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.box-wrap .box{
		width: 350px;
		position: relative;
		background-color: #fff;
		padding: 32px 20px 20px 20px;
		position: relative;
		border-bottom: 8px solid #ffcd1e;
		margin-top: 30px;
	}
	.box-wrap .box::before {
		content: '';
		position: absolute;
		top: -30px;
		right: 0;
		background: url("./img/top_03.png") no-repeat center top;
		width: 350px;
		height: 63px;
	}
	.box-wrap .box.left_box{
		margin-right: 20px;
	}
	.box-wrap .box a.permalink{
		height: 100%;
		left: 0;
		position: absolute;
		top: 0;
		width: 100%;
	}
	.box-head a{
		display: block;
		font-size: 18px;
		font-weight: bold;
		padding: 16px 45px 16px 0;
		border-bottom: 2px dotted #ffcd1e;
		margin-bottom: 16px;
		text-align: justify;
	}
	/* 3カラムボックス */
	.frame-wrap{
		margin-bottom: 20px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: stretch;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.frame{
		width: 220px;
		margin: 20px 0 0 30px;
		padding: 35px 20px 20px 20px;
		border: 2px solid #bbe88f;
		background: #fff;
		position: relative;
	}
	.frame::before{
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		width: 72px;
		height: 20px;
		background: url("./img/check.png") no-repeat center center;
		background-size: 100% auto;
	}
	.frame:first-child{
		margin-left: 0;
	}
	.frame-head{
		font-size: 18px;
		font-weight: bold;
		padding-bottom: 16px;
		margin-bottom: 16px;
		border-bottom: 1px solid #bbe88f;
	}
	.frame-head p,
	.frame-body p{
		margin: 0 !important;
	}
	.sp{
		display: none;
	}

	
	/* hover */
	a:hover {
		text-decoration: none;
	}
	header nav li a:hover{
		background: #ffcd1e;
	}
	#index a:hover, #category a:hover, #page a:hover {
		text-decoration: underline;
	}
	 #index a.btn-internal:hover,
	 #index a.btn-web:hover,
	 #category a.btn-internal:hover,
	 #category a.btn-web:hover,
	 #page a.btn-internal:hover,
	 #page a.btn-web:hover,
	 #index a.btn-link:hover,
	 #category a.btn-link:hover,
	 #page a.btn-link:hover,
	 #index .column2 .btn-web a:hover,
	 #category .column2 .btn-web a:hover,
	 #page .column2 .btn-web a:hover,
	 #index .column2 .btn-internal a:hover,
	 #category .column2 .btn-internal a:hover,
	 #page .column2 .btn-internal a:hover,
	 #index .column3 .btn-web a:hover,
	 #category .column3 .btn-web a:hover,
	 #page .column3 .btn-web a:hover,
	 #index .column3 .btn-internal a:hover,
	 #category .column3 .btn-internal a:hover,
	 #page .column3 .btn-internal a:hover,
	 #group .btn-internal a:hover,
	 #group .cmn-column3 .btn-web a:hover {
		opacity: 0.7;
		text-decoration: none;
	}

	#index .column2 .btn-web:hover,
	#category .column2 .btn-web:hover,
	#page .column2 .btn-web:hover,
	#index .column2 .btn-internal:hover,
	#category .column2 .btn-internal:hover,
	#page .column2 .btn-internal:hover,
	#index .column3 .btn-web:hover,
	#category .column3 .btn-web:hover,
	#page .column3 .btn-web:hover,
	#index .column3 .btn-internal:hover,
	#category .column3 .btn-internal:hover,
	#page .column3 .btn-internal:hover,
	#group .btn-internal:hover,
	#group .cmn-column3 .btn-web:hover{
	opacity: 0.7;
}

	.box:hover .box-head,
	.box:hover .box-body{
		color: #fa8700;
	}
	.box:hover .box-head a,
	.box:hover .box-body a{
		color: #fa8700;
	}
	footer .inner .sttl a:hover{
		opacity: 0.7;
	}
	footer .inner li:hover a{
		text-decoration: underline;
	}
	.pagetop:hover{
		opacity: 0.7;
	}
	#side .sideBox .sttl a:hover{
		opacity: 0.7;
	}
	#side .sideBox li a:hover{
		opacity: 0.7;
	}
	footer .inner .sitemap:hover{
		opacity: 0.7;
	}
	footer .inner .sitemap:hover::before{
		opacity: 0.7;
	}
}
/*----------------------------------------------------
	SPサイトcss
----------------------------------------------------*/
@media screen and (max-width: 329px){
	.main_visual .heading{
		/* min-height: calc((100vw * 490) / 640); */
		min-height: calc((100vw * 380) / 640);
		padding: 15px 90px 140px 15px;
        }    
}
@media screen and (min-width: 330px) and (max-width: 340px) {
	.main_visual .heading{
            /* min-height: calc((100vw * 420) / 640); */
			min-height: calc((100vw * 380) / 640);
            padding: 15px 40% 140px 15px;
        }    
}
@media screen and (min-width: 341px) and (max-width: 360px) {
	.main_visual .heading{
            /* min-height: calc((100vw * 420) / 640); */
			min-height: calc((100vw * 380) / 640);
            padding: 15px 40% 140px 15px;
        }    
}
@media screen and (min-width: 361px) and (max-width: 459px) {
	.main_visual .heading{
            /* min-height: calc((100vw * 420) / 640); */
			min-height: calc((100vw * 380) / 640);
            /* padding: 15px 40% 160px 15px; */
			padding: 15px 40% 120px 15px;
        }    
}
@media screen and (min-width: 460px) and (max-width: 599px) {
	.main_visual .heading{
        /* min-height: calc((100vw * 420) / 640); */
		min-height: calc((100vw * 380) / 640);
        /* padding: 15px 51% 168px 15px; */
		padding: 15px 51% 145px 15px;
        }    
}
@media screen and (min-width: 400px) and (max-width: 599px) {
    .main_visual .heading:before {
        content: "";
        position: absolute;
        display: block;
        background: url(./img/mv_i_sp.png) no-repeat center;
        background-size: 90% auto;
        bottom: 15px;
        left: 3vw;
        width: 92px;
        height: 110px;
        z-index: 1;
    }
    .main_visual_03 {
        bottom: 10vw;
        right: 52vw;
        width: 23vw;
    }
}

@media screen and (max-width: 599px) {
	body {
		font-size: 16px;
		line-height: 1.5;
background: #fcfaed;
	}
	.pc{
		display: none;
	}
	a{
		display: block;
		text-decoration: none;
	}
	@media screen and (max-width: 399px){
		.main_visual .heading:before {
			 content: "";
			 position: absolute;
			 display: block;
			 background: url(./img/mv_i_sp.png) no-repeat center;
			 bottom: 0;
			 left: 2vw;
			 width: 90px;
			 height: 110px;
			 z-index: 1;
			 background-size: 80%;
		 }
		 .main_visual_03 {
			 bottom: 1vw;
			 right: 52vw;
			 width: 23vw;
		 }
	 }
	/*---------------------------
		HEADER - SP
	---------------------------*/
	.site_name{
		display: flex;
		display: -webkit-flex;
		display: -moz-flex;
		flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		background: #fff;
	}
	.site_name h1,
	.site_name .logo{
		order: 2;
		padding: 10px 10px 10px 48px;
		align-self: center;
		-webkit-align-self: center;
		-moz-align-self: center;
		width: calc(100% - 45px - 10px);
		font-size: 18px;
		position: relative;
		font-weight: bold;
	}
	header.lower .site_name > a{
		order: 2;
		align-self: center;
		-webkit-align-self: center;
		-moz-align-self: center;
		width: calc(100% - 45px - 10px);
	}
	header.lower .site_name .logo{
		width: 100%;
	}
	.site_name h1::before,
	.site_name .logo::before{
		content: "";
		position: absolute;
		top: 50%;
		left: 10px;
		width: 29px;
		height: 29px;
		background: url(./img/logo.png) no-repeat center center;
		background-size: 77% auto;
		margin-top: -15px;
	}
	.site_name > p{
		order: 1;
		width: 100%;
		padding: 2px 10px;
		font-size: 12px;
		background-size: 6px auto;
        text-align: center;
		background: #ffcd1e;                
	}
	.navicon{
		order: 3;
		width: 45px;
		height: 45px;
		border-radius: 7.5px;
		background: url("./img/navicon.png") no-repeat center center, #fff;
		background-size: 27px auto;
		border: 1px solid #f3bd00;
		margin: 10px 10px 10px auto;
	}
	/*---------------------------
		GLOBAL NAV - SP
	---------------------------*/
	header nav{
		background: #fff;
		padding: 10px;
		display: none;
		width: 100%;
		position: absolute;
		left: 0;
		z-index: 100;
	}
	header nav .category_list{
		margin-bottom: 10px;
	}
	header nav .ttl{
		font-size: 15px;
		width: 100%;
		display: block;
	}

	header nav .ttl a{
		font-weight: bold;
		text-align: left;
		padding: 10px 20px;
		background: #ffcd1e;
		text-decoration: none;
	}
	header nav .ttl a{
		position: relative;
	}
	header nav .ttl a::after{
		content: "";
		position: absolute;
		width: 10px;
		height: 10px;
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
		transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		margin-top: -5px;
		right: 10px;
		top: 50%;
	}
	header nav ul li a{
		background: #fff;
		padding: 10px 20px;
		border: 1px solid #d2d2d2;
		text-align: left;
		text-decoration: none;
		position: relative;
	}
	header nav ul li a::after{
    border-top: 3px solid #ffcd1e;
    border-right: 3px solid #ffcd1e;
		content: "";
		position: absolute;
		width: 10px;
		height: 10px;
		transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		margin-top: -5px;
		right: 10px;
		top: 50%;
	}
	header .close{
		color: #333;
		text-align: center;
		padding: 10px 0;
		margin-top: 10px;
		cursor: pointer;
		font-weight: bold;
	}
	header .close span:last-child{
		text-decoration: underline;
		margin-left: 10px;
	}
	header{
		position: relative;
	    background: #f9f8f6;
	}
	header.lower::after{
		content: "";
		background-size: auto 100%;
		width: 100%;
		height: 3px;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #ffcd1e;  
	}
	/*---------------------------
		MAIN VISUAL - SP
	---------------------------*/

	.main_visual{
		margin-bottom: 25px;
	}
	.main_visual .heading{
		background: #fcf4d9;
		background-size: 100% auto;
		color: #fa8700;
		font-weight: bold;
		font-size: 19px;
		position: relative;
		overflow: hidden;
	}
	.main_visual .inner{
		background: #fcfaed;
	}
	.main_visual .inner .heading > img{
		position: absolute;
	}

	.main_visual .heading:after{
		/* content: ""; */
		position: absolute;
		display: block;
		background: url("./img/bg_cloud_sp.png") repeat-x center bottom;
		background-size: 850px auto;
		bottom: 0;
		left: 0;
		height: 55px;
		width:100%;
	}
	.main_visual_icon{
		border-radius: 50%;
		border: 5px solid #ffcd1e;
		background: #fff;
	}
	.main_visual_01{
		/* bottom: -17vw; */
		bottom: -20vw;
		right: -3vw;
		width: 60vw;
	}
	.main_visual_02{
		/* bottom: 41vw; */
		bottom: 35vw;
		right: 1vw;
		width: 23vw;
	}
	.main_visual_cloud{
		bottom: 0;
		left: 0;
	}
	.main_visual .description{
		padding: 10px;
    line-height: 1.7;                
	}

	/*---------------------------
		btn - SP
	---------------------------*/
	.btn-internal,
	.btn-web,
	.btn-tel,
	.btn-link{
		max-width: 320px;
		width: 100%;
	}

	/*---------------------------
		PANKUZU - SP
	---------------------------*/
	#pankuzu{
		padding: 10px;
		font-size: 14px;
	}
	#pankuzu a{
		display: inline;
	}
	/*---------------------------
		MAIN CONTENTS - SP
	---------------------------*/
	#contents{
		padding: 0 10px;
	}
	/*---------------------------
		SIDE - SP
	---------------------------*/
	#side .sidetop{
		background: url("./img/free.gif");
		background-size: 8px auto;
		padding: 24px 14px;
		margin-bottom: 30px;
		position: relative;
	}
	#side .sidetop::before{
		content: "";
		position: absolute;
		top: 6px;
		left: 50%;
		width: 290px;
		height: 12px;
		background: url("./img/dots_sp.png") no-repeat center center;
		background-size: 100% auto;
		margin-left: -145px;
	}
	#side .sidetop_heading{
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 14px;
		background: #bbe88f;
	}
	#side .sidetop_heading a{
		padding: 10px;
		display: block;
		font-size: 20px;
	} 
	#side .sidetop_image{
		margin-bottom: 14px;
	}
	#side .sidetop_image img{
		width: 100%;
	}
	#side cite{
		font-style: normal;
		text-align: center;
		display: block;
		margin-bottom: 10px;
		line-height: 1.4;
		font-size: 14px;
	}
	#side .sidetop > p{
	text-align: justify;
		font-size: 16px;
    line-height: 1.7;                
	}
	#side .sidetop_button{
		margin: 14px auto 0 auto;
		width: 80%;
		max-width: 320px;

	}
	#side .sidetop_button a{
		display: block;
		height: 100%;
		border-radius: 5px;
		background: url(./img/btn_arrow_sp.png) right 10px center no-repeat;
		background-color: #f97c19;
		color: #fff;
		text-align: center;
		font-weight: bold;
		font-size: 16px;
		position: relative;
		text-decoration: none;
		border: 2px solid #f97c19;
		padding: 10px 30px 10px 15px;
		background-size: 20px;
	}

	/*---------------------------
		FOOTER - SP
	---------------------------*/
	footer {
		margin: 0;
		background: #404040;
		padding: 20px 10px 0;
	}
	footer .inner {
		position: relative;
	}
	footer .inner::before{
		content: "コンテンツ一覧";
		width: 100%;
		padding: 10px 0;
		text-align: center;
		background: #fff;
		display: block;
		font-weight: bold;
		margin-bottom: 10px;
	}
	footer .inner .sttl a{
		display: block;
		background: #404040;
		font-size: 18px;
		padding: 10px 30px 10px 10px;
		font-weight: bold;
		position: relative;
		margin: 15px 0;
		color: #ececec;
	}
	footer .inner a{
		text-decoration: none;
		color: #ececec;
	}
	footer .inner > ul > li a{
		padding: 10px 30px 10px 10px;
		position: relative;
		color: #ececec;
	}
	footer .inner .sttl a::after,
	footer .inner > ul > li a::after{
		content: "";
		position: absolute;
		width: 10px;
		height: 10px;
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
		transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		margin-top: -5px;
		right: 10px;
		top: 50%;
	}
	footer .inner .sitemap_wrap{
		display: none;
	}
	footer .footer_sitename{
		position: relative;
		font-size: 18px;
		font-weight: bold;
		padding: 10px 0 10px 40px;
		margin: 20px 0;
	}
	.footer_sitename::before{
		left: 0;
	}
	footer .inner .agreement{
		border: 2px solid #fff;
		padding: 10px;
		font-size: 12px;
		margin: 10px 0;
		background: #f5f5f5;
	}
	footer p.copy {
		padding: 4px 0;
		font-size: 12px;
		text-align: center;
		color: #fff;
	}
	footer p.copy a{
		display: inline;
		text-decoration: none;
		color: #fff;
	}
	/*---------------------------
		PAGETOP - SP
	---------------------------*/
	.pagetop{
		position: fixed;
		right: 10px;
		bottom: 30px;
		padding: 25px 0 0 0;
		display: block;
		border: 2px solid #404040;
		background: #404040;
		width: 56px;
		height: 56px;
		text-align: center;
		color: #fff;
		font-size: 12px;
		font-weight: bold;
		border-radius: 50%;
		z-index: 999;
	}
	.pagetop::before{
		content: "";
		position: absolute;
		top: 14px;
		left: 50%;
		width: 12px;
		height: 12px;
		border-top: 2px solid #fff;
		border-left: 2px solid #fff;
		margin-left: -6px;
		transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
	}
	/* メインコンテンツ */
	#index a, #category a, #page a {
		text-decoration: none;
	}
	#index h2, #category h1, #page h1 {
		font-size: 24px;
		font-weight: bold;
		margin: 0 0 10px;
		line-height: 1.4;
		padding: 10px 60px 10px 20px;
		position: relative;
		background-size: 100% auto;
		background: #fff;
		border: 2px solid #ffecaa;
		box-shadow: 0 0 0 5px #ffcd1e;
	}

	#index h2::before, #category h1::before, #page h1::before{
                content: "";
                width: 55px;
                height: 61px;
                background: url(./img/h2.png) no-repeat center center;
                background-size: 100% auto;
                position: absolute;
                right: 0;
                margin-top: -32px;
                top: 50%;
	}
	#index h2 *, #category h1 *, #page h1 *{
		position: relative;
		z-index: 20;
	}
	#index h3, #category h2, #page h2 {
		font-size: 22px;
		font-weight: bold;
		margin: 20px 0 10px 0;
		line-height: 1.4;
		padding: 15px 15px 15px 45px;
		background-size: 6px auto;
		position: relative;
		background: #fff;
		border-top: 4px solid #ffcd1e;
		border-bottom: 4px solid #ffcd1e;
	}
	#index h3 a, #category h2 a, #page h2 a{
		color: #595959;
	}
	#index h3::after, #category h2::after, #page h2::after{
                content: "";
                position: absolute;
                width: 20px;
                height: 26px;
                top: 7px;
                left: 10px;
                /* margin-top: -11px; */
                background: url(./img/h3.png) no-repeat center center;
                background-size: 100% auto;
	}
	#index h4, #category h3, #page h3 {
		font-size: 20px;
		margin: 20px 0 10px 0;
		border: 2px solid #ffcd1e;
		padding: 10px 15px;
		line-height: 1.4;
		background-size: 8.5px auto;
		background: #fdfbf4;
	}
	#index h5, #category h4, #page h4 {
		font-size: 18px;
                margin: 10px 0 10px 0;
		padding: 10px;
		background: url("./img/h5.gif") repeat-x left 3px bottom;
	    background-size: 20px auto;
		line-height: 1.4;
	}
	#index p, #category p, #page p {
		margin: 0px 0px 15px 0px;
                        line-height: 1.7;
	}
	#index ul, #category ul, #page ul {
		margin: 15px 0;
		list-style: decimal outside none;
	}
	#index ul li, #category ul li, #page ul li {
    list-style: none;
    padding-left: 25px;
    margin: 10px 0;
	position: relative;
 }

 #index ul li::before,
 #category ul li::before,
 #page ul li::before {
content: '';
display: block;
background-color: #ffcd1e;
width: 10px;
height: 10px;
position: absolute;
top: 50%;
left: 0;
transform: translate(0, -50%);
border-radius: 50px;
}

	#index ol, #category ol, #page ol{
		margin: 15px 0;
		counter-reset: section;
		padding-left: 0;
	}
	#index ol li, #category ol li, #page ol li {
		list-style: none;
		position: relative;
		padding-left: 25px;
    	margin: 10px 0;
    	line-height: 1.7;
	}
	#index ol li::before, #category ol li::before, #page ol li::before{
		counter-increment: section;
		content: counter(section);
		color: #ffffff;
		font-size: 14px;
		font-weight: bold;
		position: absolute;
		top: 2px;
		left: 0;
		width: 21px;
		height: 21px;
		background: #404040;
		border-radius: 50%;
		text-align: center;
	}
	#index ol li:nth-of-type(9) ~ li::before{
		content: counter(section) ". ";
	}
	/* おすすめ・ランキング */
	.rank, .ng, .ok, .recommend{
		font-size: 20px;
		font-weight: bold;
		margin: 20px 0;
		line-height: 1.4;
		padding: 16px 10px 16px 92px;
		background-size: 100% auto;
		position: relative;
		border: 3px solid #ffcd1e;
		background: #fff;
	}
	.rank::before, .ng::before, .ok::before, .recommend::before{
		content: "";
		position: absolute;
		top: 50%;
	}
	.rank::before{
		left: 10px;
		width: 73px;
		height: 52px;
		margin-top: -28px;
	}
	.rank1::before{
		background: url("./img/1.png") no-repeat center center;
		background-size: 64% auto;
	}
	.rank2::before{
		background: url("./img/2.png") no-repeat center center;
		background-size: 64% auto;
	}
	.rank3::before{
		background: url("./img/3.png") no-repeat center center;
		background-size: 64% auto;
	}
	.rank4::before{
		background: url("./img/4.png") no-repeat center center;
		background-size: 64% auto;
	}
	.ng::before{
		width: 72.5px;
		height: 51.5px;
		margin-top: -26px;
		left: 5px;
		background: url("./img/ng.png") no-repeat center center;
		background-size: 64% auto;
	}
	.ok::before{
		width: 72.5px;
		height: 51.5px;
		margin-top: -26px;
		    left: 5px;
		background: url("./img/ok.png") no-repeat center center;
		background-size: 64% auto;
	}
	.recommend::before{
		width: 55px;
		height: 68px;
		margin-top: -35px;
		left: 15px;
		background: url("./img/reco.png") no-repeat center center;
		background-size: 100% auto;
	}
	/* 強調 */
	#index > p > span, #category > p > span, #page > p > span{
		color: #fa8700;
		font-weight: bold;
		font-size: 18px;
		margin: 0 2px;
	}
	/* 画像とテキスト */
	.float-wrap{
		margin-bottom: 20px;
	}
	.float-img .flame{
		margin-bottom: 10px;
	}
	.float-img .flame img{
		border: 4px solid #ffcd1e;
		width: 100%;
	}
	.float-img .caption{
		text-align: center;
		color: #bebdbb;
		font-size: 14px;
		margin: 10px 0;
	}
	/* テーブル */
	.table-layout{
		margin: 20px 0px;
		width: 100%;
		overflow-x: auto;
		white-space: nowrap;
		padding-bottom: 10px;
	}
	.table-layout::-webkit-scrollbar{
		height: 10px;
	}
	.table-layout::-webkit-scrollbar-track{
		background: #f1f1f1;
		border-radius: 5px;
	}
	.table-layout::-webkit-scrollbar-thumb{
		background: #bcbcbc;
		border-radius: 5px;
	}
	table {
		border:1px solid #d2d2d2;
		border-collapse:collapse;
		border-spacing:0;
		empty-cells:show;
		font-size: 14px;
	}
	th {
		background-color: #f5f5f5;
		border:1px solid #d2d2d2;
		text-align:center;
		padding: 10px;
	}
	td {
		border:1px solid #d2d2d2;
		padding: 10px;
		background: #fff;
	}
	/* 運営会社情報ページ */
	.host th,
	.host td {
		word-break: break-word;
		white-space: normal;
	}
	.host th {
		min-width: 90px;
	}
	/* リンクボタン */
	.btn-internal,
	.btn-web,
	.btn-tel,
	.in_link_btn{
		display: block;
		text-decoration: none;
		font-size: 18px;
		color: #fff;
		padding: 16px 25px 16px 16px;
		font-weight: bold;
		text-align: center;
		border-radius: 5px;
		position: relative;
		margin: 20px auto;
		box-shadow: 0px 2px 1px rgba(0,0,0,0.13);
	}

	.btn-tel {
		color: #333;
	}

	.btn-internal{
		background: linear-gradient(to bottom, #fb9a29,#fa8802); 
	}
	.btn-web{
		box-shadow: 0px 2px 1px rgba(0,0,0,0.13), 0 0 0 1px #d2d2d2 inset, 0 0 0 4px #fff inset;
		background: linear-gradient(to bottom, #86bf35, #72b514);
	}
	.btn-tel{
		box-shadow: 0px 2px 1px rgba(0,0,0,0.13), 0 0 0 1px #d2d2d2 inset, 0 0 0 4px #fff inset;
		background: url("./img/tel_icon.png") no-repeat 15px center #ffcd1e;
		background-size: 20px;
		padding: 16px 52px 16px 50px;
	}
        .btn-internal:after,
        .btn-web:after {
            content: "";
            background: url(./img/btn_arrow_sp.png) right center;
            background-size: 20px;
            width: 20px;
            height: 20px;
            position: absolute;
            right: 16px;
            top: 50%;
            margin-top: -10px;
        }
        .btn-link:after {
            content: "";
            background: url(./img/btn_arrow_orange_sp.png) right center;
            background-size: 20px;
            width: 20px;
            height: 20px;
            position: absolute;
            right: 13px;
            top: 50%;
            margin-top: -10px;
        }  
	.btn-link{
		font-weight: bold;
		border: 5px solid #fa8700;
		padding: 10px 29px 10px 13px;
		display: block;
		text-decoration: none;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
		border-radius: 5px;
		position: relative;
		margin: 0 auto;
		margin-bottom: 10px;
	}
	.btn-link::before{
		background: #ee7500;
	}
	.in_link_btn{
    background: url(./img/btn_arrow_yellow_sp.png) right 14px center no-repeat;
    background-size: 20px;
    padding: 10px 48px 10px 10px;
    border: 2px solid #f2d964;
    color: #333 !important;
    box-shadow: 0 0 0 rgba(0,0,0,0);
    display: none;
 }
	.in_link_btn::before{
		background: #f2d964;
	}
	/* 2カラムボックス */
	.box-wrap .box{
		width: 100%;
		background-size: 100% auto;
		padding: 25px 20px 25px 20px;
		position: relative;
		font-size: 15px;
		background: #fff;
		border-top: 10px solid #ffcd1e;
		border-bottom: 10px solid #ffcd1e;
		margin: 3rem 0 3rem;

	}

	.box-wrap .box::before {
		content: '';
		position: absolute;
		top: -29px;
		background: url("./img/h2.png") no-repeat center top;
		width: 309px;
		height: 63px;
		left: 50%;
		transform: translateX(-50%);
		background-size: 16%;
	}

	.box-wrap .box.left_box{
		margin-right: 20px;
	}
	.box-wrap .box a.permalink{
		height: 100%;
		left: 0;
		position: absolute;
		top: 0;
		width: 100%;
	}
	.box-head a{
	display: block;
	font-size: 18px;
	color: #333 !important;
	font-weight: bold;
	padding: 16px 35px 16px 0;
	background-size: 20px,auto 2px;
	margin-bottom: 16px;
	border-bottom: 2px dotted #ffcd1e;
	}
	.box-wrap .btn-tel {
		display: none;
	}
	/* 3カラムボックス */
	.frame-wrap{
		margin-top: 30px;
	}
	.frame{
		    padding: 30px 18px 25px;
		    border: 2px solid #bbe88f;
		    background: #fff;
		    position: relative;
		    font-size: 15px;
		    margin-bottom: 20px;
	}
	.frame::before{
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		width: 75px;
		height: 19px;
		background: url("./img/check.png") no-repeat center center;
		background-size: 100% auto;
	}
	.frame:first-child{
		margin-left: 0;
	}
	.frame-head{
		color: #333;
		font-size: 18px;
		font-weight: bold;
		padding-bottom: 16px;
		margin-bottom: 16px;
		background-size: auto 1.5px;
		border-bottom: 2px solid #bbe88f;
	}
	.frame-head p,
	.frame-body p{
		margin: 0 !important;
	}
}

/* 2並びボックス 　PC*/
.box-wrap.column2 {
  margin: 40px auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.column2 .basic-column-box {
  width: calc((100% - 20px) / 2);
  position: relative;
  background-color: #ffffff;
  border-top: 5px solid #ffcd1e;
  padding: 10px;
  box-sizing: border-box;
}

#index .column2 .basic-title,
#category .column2 .basic-title,
#page .column2 .basic-title {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4;
  margin: 10px 15px 20px;
  border-bottom: 2px dotted #ffcd1e;
  padding: 0 0 13px;
  position: relative;
}

#index .column2 .basic-title a,
#category .column2 .basic-title a,
#page .column2 .basic-title a {
  text-decoration: none;
  padding-right: 20px;
  display: block;
  position: relative;
}
#index .column2 .basic-title a:hover,
#category .column2 .basic-title a:hover,
#page .column2 .basic-title a:hover {
  opacity: .7;
}
#index .column2 .basic-title::after,
#category .column2 .basic-title::after,
#page .column2 .basic-title::after {
  display: none;
}

#index .column2 .basic-title a::after,
#category .column2 .basic-title a::after,
#page .column2 .basic-title a::after {
  width: 14px;
  height: 14px;
  border-top: 2px solid #ffcd1e;
  border-right: 2px solid #ffcd1e;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: rotate(45deg);
  transform: translate(0, -50%) rotate(45deg);
  content: '';
  vertical-align: middle;
}

.column2 .image-static {
  width: 90%;
  margin: 0 auto;
}

.column2 .image-text__image {
  width: 100%;
  margin-bottom: 20px;
  text-align: center;
}

.column2 .image-text__image img {
  vertical-align: middle;
  width: 100%;
}

.column2 .image-text__caption {
  display: block;
  padding: 5px 0;
  text-align: center;
  word-wrap: break-word;
  color: #9f9f9f;
}
#index .basic-column-box .catch-copy,
#category .basic-column-box .catch-copy,
#page .basic-column-box .catch-copy {
  margin: 20px auto 10px;
  color: #333;
  font-size: 16px;
}

.column2 .catch-copy {
  font-weight: bold;
  position: relative;
}

.column2 .image-text__textarea {
  line-height: 1.8;
  font-size: 16px;
}
#index .column2 .contents-list,
#category .column2 .contents-list,
#page .column2 .contents-list {
  width: 90%;
  margin: 20px auto;
}
#index .column2 .contents-list li,
#category .column2 .contents-list li,
#page .column2 .contents-list li {
  position: relative;
  padding-left: 20px;
  display: inline-block;
  margin: 0;
  font-size: 14px;
  border-bottom: none;
  line-height: 1;
}
#index .column2 .contents-list li::before,
#category .column2 .contents-list li::before,
#page .column2 .contents-list li::before {
  content: '';
  display: block;
  background-color: #ffcd1e;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  border-radius: 50px;
}

.column2 .table-normal {
  width: 90%;
  margin: 20px auto 10px;
  color: #333;
}

.column2 .table-normal table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #cccccc;
  background-color: #fff;
}

.column2 .first-row table th {
  background-color: #f5f5f5;
}

.column2 table th,
.column2 table td,
.table-normal table tbody td {
  border-left: 1px solid #635246;
  text-align: center;
}

.column2 table th,
.column2 table td {
  border: 0;
  border-bottom: 1px solid #cccccc;
  padding: 8px;
  word-break: break-all;
}
#index .column2 .btn-web a,
#category .column2 .btn-web a,
#page .column2 .btn-web a,
#index .column2 .btn-internal a,
#category .column2 .btn-internal a,
#page .column2 .btn-internal a  {
  width: 80%;
  margin: 0 auto 24px;
  color: #fff;
}



@media screen and (max-width: 599px) {
    /*2つ並びボックス　SP*/
  .column2 .basic-column-box {
    width: 100%;
    margin:0 0 20px;
    padding: 3%;
  }
  #index .column2 .basic-title,
  #category .column2 .basic-title,
  #page .column2 .basic-title {
    font-size: 20px;
    margin: 0;
    padding: 10px;
  }
  #index .column2 .basic-title a,
  #category .column2 .basic-title a,
  #page .column2 .basic-title a {
    display: block;
  }
  #index .column2 .basic-title a::after, 
  #category .column2 .basic-title a::after, #page .column2 .basic-title a::after {
    right: 0;
  }

  .column2 .image-text-area {
    display: block;
    padding: 0;
    margin: 20px auto;
  }

  .column2 .image-text__image {
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }

  .column2 .box-wrap .basic-column-box .catch-copy {
    font-size: 18px;
    line-height: 1.5;
    padding: 0;
    margin: 10px auto;
  }
  #index .column2 .btn-web a,
  #category .column2 .btn-web a,
  #page .column2 .btn-web a,
  #index .column2 .btn-internal a,
  #category .column2 .btn-internal a,
  #page .column2 .btn-internal a,
  #index .column2 .btn-tel a,
  #category .column2 .btn-tel a,
  #page .column2 .btn-tel a   {
    width: 80%;
    margin: 0 auto;
  }
}











/* 3つ並びボックスPC */
.box-wrap.column3 {
  margin: 40px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.column3 .basic-column-box {
  width: calc((100% - 20px) / 3);
  position: relative;
  background-color: #ffffff;
  border-top: 5px solid #ffcd1e;
  padding: 10px;
  box-sizing: border-box;
}
#index .column3 .basic-title,
#category .column3 .basic-title,
#page .column3 .basic-title {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  padding: 0 30px;
  margin: 0 -10px;
  border-bottom: 1px solid #ffcd1e;
  padding: 10px 20px 20px 20px;
  position: relative;
}
#index .column3 .basic-title a,
#category .column3 .basic-title a,
#page .column3 .basic-title a {
  text-decoration: none;
  padding-right: 20px;
  display: inline-block;
  position: relative;
}
#index .column3 .basic-title a:hover,
#category .column3 .basic-title a:hover,
#page .column3 .basic-title a:hover {
  opacity: .7;
}
#index .column3 .basic-title::after,
#category .column3 .basic-title::after,
#page .column3 .basic-title::after {
  display: none;
}
#index .column3 .basic-title a::after,
#category .column3 .basic-title a::after,
#page .column3 .basic-title a::after {
  width: 8px;
  height: 8px;
  border-top: 2px solid #ffcd1e;
  border-right: 2px solid #ffcd1e;
  position: absolute;
  top: 50%;
  right: -5px;
  -webkit-transform: rotate(45deg);
  transform: translate(0, -50%) rotate(45deg);
  content: '';
  vertical-align: middle;
}

.column3 .image-static {
  width: 90%;
  margin: 0 auto;
}

.column3 .image-text__image {
  width: 100%;
  margin-bottom: 20px;
  text-align: center;
}

.column3 .image-text__image img {
  vertical-align: middle;
  width: 100%;
}

.column3 .image-text__caption {
  display: block;
  padding: 5px 0;
  text-align: center;
  word-wrap: break-word;
  color: #a0a0a0;
}
#index .basic-column-box .catch-copy,
#category .basic-column-box .catch-copy,
#page .basic-column-box .catch-copy {
  margin: 20px auto 10px;
  color: #333;
  font-size: 16px;
}

.column3 .catch-copy {
  font-weight: bold;
  position: relative;
}

.column3 .image-text__textarea {
  line-height: 1.8;
  font-size: 16px;
}

.column3 .paragraph-frame p {
  font-size: 14px;
}
#index .column3 .contents-list,
#category .column3 .contents-list,
#page .column3 .contents-list {
  width: 90%;
  margin: 20px auto;
}
#index .column3 .contents-list li,
#category .column3 .contents-list li,
#page .column3 .contents-list li {
  position: relative;
  padding-left: 20px;
  display: inline-block;
  font-size: 14px;
  border-bottom: none;
  margin: 0 0 7px;
  line-height: 1.4;
}
#index .column3 .contents-list li::before,
#category .column3 .contents-list li::before,
#page .column3 .contents-list li::before {
  content: '';
  display: block;
  background-color: #ffcd1e;
  width: 10px;
  height: 10px;
  position: absolute;
  /* top: 50%; */
  top: 9px;
  left: 0;
  transform: translate(0, -50%);
  border-radius: 50px;
}

.column3 .table-normal {
  width: 90%;
  margin: 20px auto 10px;
  color: #333;
}

.column3 .table-normal table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #cccccc;
  background-color: #fff;
}

.column3 .first-row table th {
  background-color: #f5f5f5;
}

.column3 table th,
.column3 table td,
.table-normal table tbody td {
  border-left: 1px solid #cccccc;
  text-align: center;
}

.column3 table th,
.column3 table td {
  border: 0;
  border-bottom: 1px solid #cccccc;
  padding: 8px;
  word-break: break-all;
}


#index .column3 .btn-web,
#category .column3 .btn-web,
#page .column3 .btn-web,
#index .column3 .btn-internal,
#category .column3 .btn-internal,
#page .column3 .btn-internal  {
	width: 100%;
	padding: 10px 15px 10px 10px;
}


#index .column3 .btn-web a,
#category .column3 .btn-web a,
#page .column3 .btn-web a,
#index .column3 .btn-internal a,
#category .column3 .btn-internal a,
#page .column3 .btn-internal a  {
  width: 80%;
  margin: 0 auto 24px;
  width: 90%;
  margin: 0 auto 15px;
  font-size: 16px;
  /* padding: 10px 39px 10px 10px; */
  color: #fff;
}

@media screen and (max-width: 599px) {
    /*3つ並びボックス　SP*/
  .column3 .basic-column-box {
    width: 100%;
    margin:0 0 20px;
    padding: 3%;
  }
  #index .column3 .basic-title,
  #category .column3 .basic-title,
  #page .column3 .basic-title {
    font-size: 20px;
    margin: 0;
    padding: 10px;
  }
  #index .column3 .basic-title a,
  #category .column3 .basic-title a,
  #page .column3 .basic-title a {
    display: block;
  }
  #index .column3 .basic-title a::after,
  #category .column3 .basic-title a::after, #page .column3 .basic-title a::after {
    right: 0;
  }

  .column3 .image-text-area {
    display: block;
    padding: 0;
    margin: 20px auto;
  }

  .column3 .image-text__image {
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }

  .column3 .box-wrap .basic-column-box .catch-copy {
    font-size: 18px;
    line-height: 1.5;
    padding: 0;
    margin: 10px auto;
  }
  #index .column3 .btn-web,
  #category .column3 .btn-web,
  #page .column3 .btn-web,
  #index .column3 .btn-internal,
  #category .column3 .btn-internal,
  #page .column3 .btn-internal,
  #index .column3 .btn-tel,
  #category .column3 .btn-tel,
  #page .column3 .btn-tel   {
    max-width: 320px;
	width: 95%;
	padding: 20px 25px 20px 20px;
  }

  #index .column3 .btn-web a,
  #category .column3 .btn-web a,
  #page .column3 .btn-web a,
  #index .column3 .btn-internal a,
  #category .column3 .btn-internal a,
  #page .column3 .btn-internal a,
  #index .column3 .btn-tel a,
  #category .column3 .btn-tel a,
  #page .column3 .btn-tel a   {
    width: 80%;
    margin: 0 auto;
  }
}


/* 3選（大）-3カラム PC*/
#group {
  margin: 80px 0 40px;
  background: #ffffff;
}

#group .mainttl {
  margin: 0 0 20px;
  padding: 20px 10px;
  color: #fff;
  font-size: 28px;
  text-align: center;
  font-weight: bold;
  background: #fa8700;
}

#group .mainttl span {
  display: block;
  font-size: 18px;
  font-weight: bold;
}
#group .cmn-column3 {
  margin: 20px 5px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#group .cmn-column3 .cmn-parts-box {
  padding: 10px;
  background: #fffae7;
  border: 1px solid orangered;
  width: calc((100% - 20px) / 3);
  box-sizing: border-box;
}

#group .cmn01-catch-copy,
#group .cmn-parts-box > p:first-child {
  margin: 0;
  color: #333333;
  position: relative;
  font-weight: bold;
  font-size: 20px;
  padding: 10px 0;
  letter-spacing: normal;
}

#group .cmn01-catch-copy span {
  font-size: 18px;
}

#group .cmn01-catch-copy::before {
  content: '';
  display: inline-block;
  height: 58px;
  position: absolute;
  top: 0;
  left: -10px;
  margin: 10px 0;
}

#group .cmn-parts-box .ttl {
  margin: 0 0 20px;
  font-size: 16px;
  text-align: center;
  font-weight: bold;
}

#group .cmn01-image {
  margin: 0 0 10px;
  text-align: center;
}

#group .cmn01-image img {
  width: 100%;
}

#group .image-text__caption {
  display: block;
  padding: 5px 0;
  text-align: center;
  word-wrap: break-word;
  color: #bbb9b3;
}

#group .table-normal {
  width: 100%;
}

#group .box-wrap .table-normal {
  margin: 10px auto;
}

#group .table-normal {
  width: 100%;
  margin: 20px 0 10px;
  color: #333;
}

#group .table-normal table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #cccccc;
  background-color: #fff;
}

#group table tr {
  height: 100%;
}

#group .first-row table th {
  background-color: #f5f5f5;
  font-weight: bold;
}

#group table th,
#group table td,
#group .table-normal table tbody td {
  border-left: 1px solid #cccccc;
  text-align: center;
}

#group table th,
#group table td {
  border: 0;
  border-bottom: 1px solid #cccccc;
  padding: 8px;
  word-break: break-all;
}

#group .tag-list-area {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

#group .tag-list-area .tag-list-area__li {
  font-weight: bold;
  border-radius: 5px;
  text-align: center;
  margin: 0 2% 10px 0;
  padding: 6px 2px;
  font-size: 13px;
  line-height: 1.4;
  width: 48%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: static;
  border-bottom: none;
  box-sizing: border-box;
  background: #404040;
  color: #fff;
}

#group .tag-list-area .tag-list-area__li::before,
#group .tag-list-area .tag-list-area__li::after {
  display: none;
}

#group .tag-list-area .tag-list-area__li.tag-off {
  background: #fafafa;
  color: #aaaaaa;
  border: 1px solid #d8d8d8;
}

#group p {
  letter-spacing: 0.12em;
  margin-bottom: 20px;
}

#group p.lead {
	padding: 0 80px;
	font-size: 16px;
  }

#group p span,
#group .cmn-parts-box .ttl span {
  color: #fa8700;
  font-weight: bold;
}

#group .annot_area p {
  padding: 20px 80px 30px;
  display: block;
  font-size: 12px;
  line-height: 1.4;
}




#group .btn-web a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 20px;
}
#group .btn-internal {
	width: 80%;
	max-width: 320px;
}
#group .btn-internal a {
  padding: 0 20px;
}

#group .cmn-parts-box .btn-internal,
#group .cmn-parts-box .btn-web {
 width: 100%;
 padding: 10px 15px 10px 10px;
}

#group .btn-internal a,
#group .cmn-column3 .btn-web a {
  width: 90%;
  margin: 0 auto;
  font-size: 16px;
  /* padding: 10px 39px 10px 10px; */
  color: #fff;
}


@media screen and (max-width: 599px) {
  /*3選（大）-3カラム　SP*/
  #group {
    padding-bottom: 30px;
  }

  #group .mainttl {
    padding: 10px;
    font-size: 20px;
  }

  #group .mainttl span {
    font-size: 14px;
  }

  #group .cmn-column3 {
    margin: 3%;
  }

  #group .cmn-column3 .cmn-parts-box {
    width: 100%;
    margin: 0 0 20px;
    padding: 3%;
    max-width: 100%;
  }

  #group .cmn01-catch-copy::before {
    top: 0;
    left: -11px;
  }

  #group .annot_area {
    display: none;
  }

  /* #group .btn-tel {
    display: block;
  } */

  #group:nth-child(3) .cmn-column3 + .btn-internal a .box-wrap .table-normal {
    margin: 10px auto;
    width: 90%;
  }

  #group .box-wrap .table-normal {
    margin: 20px auto;
    width: 90%;
  }

  #group .basic-column-box .contents-list {
    width: 90%;
    margin: 20px auto;
  }

  #group .cmn-parts-box .btn-internal,
  #group .cmn-parts-box .btn-web,
  #group .cmn-parts-box .btn-tel {
    margin: 20px auto;
    display: block;
  }

  #group .cmn-parts-box .btn-tel {
	display: none;
  }

  #group .cmn-parts-box .btn-internal a,
  #group .cmn-parts-box .btn-web a,
  #group .cmn-parts-box .btn-tel a {
    display: block;
    box-sizing: border-box;
    width: 82%;
    height: auto;
    position: relative;
    font-size: 15px;
    text-align: center;
    line-height: 1.3;
    text-decoration: none;
    /* padding: 16px 20px 16px 20px; */
    margin: 0 auto;
  }
#group .cmn-parts-box .btn-internal,
#group .cmn-parts-box .btn-web {
 max-width: 320px;
 width: 95%;
 padding: 20px 25px 20px 20px;
}

#group p.lead {
	padding: 0 15px;
  }
}