@charset "euc-jp";

/* ==================================================
スタイルリセット
================================================== */

* {
	margin: 0;
	padding: 0;
	line-height: 1;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
}
ul, ol, li {
	list-style: none;
}
a, a:hover {
	color: #333;
	text-decoration: none;
}

#index-contents img,#index-contents a img,
#header-contents img,#header-contents a img,
#footer-contents img,#footer-contents a img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

#index-contents * ,
#header-contents * {
	box-sizing: border-box;
}

#index-contents .pc_none ,
#header-contents .pc_none {
	display: none;
}
#s_i_rakutendev{
	width: 0;
}
/*==================================================
基本設定
================================================== */

body {
	color: #333;
	font-family: 'BIZ UDPGothic', sans-serif;
	font-weight: 100;
	font-size: 18px;
	letter-spacing: 2px;
	background-color: #fff;
	width: 100%;
	min-width: 1300px;
}

#index-contents,
#header-contents{
	position: relative;
	width: 100%;
	margin: 0 auto;
}



/* ==================================================
ここから追加
================================================== */

/*共通
================================================== */
#index-contents .width_900px,
#header-contents .width_900px{
	width: 900px;
	margin: 0 auto;
}


/*header
================================================== */

/*概要など
=================*/

#header-contents .navi{
    background-color: #f6f6f6;
    padding: 6px 0;
}

#header-contents .navi p{
    text-align: right;
	color: #366583;
	font-size: 15px;
}

#header-contents .navi p a{
	color: #366583;
}

/*head
=================*/
#header-contents .head{
	background-color: #366583;
	height: 110px;
}

#header-contents .head .width_900px{
	position: relative;
	display: flex;
	align-items: flex-end;
    flex-direction: row;
	justify-content: space-between;
	height: 110px;
	padding: 10px 0;
}

/*ロゴ==========*/
#header-contents .head .logo{
	object-fit: contain;
	width: 140px;
	transition: 0.2s;
}

#header-contents .head .logo:hover{
	opacity: 0.5;
}


/*検索==========*/
#header-contents .search{
	border: 2px #fff;
	border-style: none none solid none;
	width: 50%;
	margin-bottom: 1%;
}

#header-contents .search form{
	display: flex;
	justify-content: space-between;
	padding: 2%;
}

#search_t,
#search_t::placeholder{
	color: #fff;
	opacity: 1;
	font-size: 18px;
}

#search_t{
	background-color: #366583 !important;
	border: none;
	outline: none;
	width: 92%;
	margin-top: 2%;
}

#button{
	width: 30px;
	transition: 0.2s;
}

#button:hover{
	opacity: 0.5;
}

/*アイコン==========*/
#header-contents .icon{
	display: flex;
	align-items: flex-end;
	margin-bottom: 1%;
	width: 30%;
}

#header-contents .icon li{
	margin-right: 27px;
	transition: 0.2s;
}

#header-contents .icon li:last-child{
	margin-right: 0;
}

#header-contents .icon li:hover{
	opacity: 0.5;
}

#header-contents .icon .mail{
	display: flex;
	flex-direction: column;
    align-items: center;
	color: #fff;
    font-size: 12px;
    letter-spacing: 0px;
}
#header-contents .icon .mail img{
	margin-bottom: 5px;
}

/*ヘッダーカテゴリ
=================*/
#header-contents .head_cate{
	position: relative;
	display: flex;
	align-items: flex-end;
	width: 1300px;
	margin: 15px auto;
}

#header-contents .head_cate li{
	width: calc(100%/7);
	border-right: dashed 0.2px #bebebe;
	transition: 0.2s;
}

#header-contents .head_cate li:last-child{
	border-right: none;
	margin-right: 30px;
}

#header-contents .head_cate li img{
	width: 45px;
	margin-right: 3px;
}

#header-contents .head_cate li a{
	display: flex;
	align-items: center;
	font-size: 15px;
	justify-content: center;
}

#header-contents .head_cate li:hover{
	opacity: 0.5;
}

#header-contents .head_cate li:hover img{
	transition: 0.2s;
	animation: yurayura 2.5s linear infinite;
}

@keyframes yurayura {
	0%,100%{
		transform: translateY(0);
	}
	25%{
		transform: translateY(-5px);
	}
	50%{
		transform: translateY(0);
	}
	75%{
		transform: translateY(5px);
	}

}

/*お知らせ
=================*/
#header-contents .news{
	background-color: #fffed7;
	padding: 9px 0;
	margin-top: 15px;
	text-align: center;
}

#header-contents .news a{
	color: #366583;
	text-decoration: underline;
	font-size: 15px;
	text-underline-offset: 25%;
	transition: 0.2s;
}

#header-contents .news a:hover{
	opacity: 0.5;
}


/*看板
=================*/
/*全体のレイアウト*/
#header-contents .kanban{
	display: flex;
	width: 100%;
}

#header-contents .kanban ul{
	width: calc(100%/2);
}

#header-contents .kanban ul:first-child{
	margin-right: 5px;
}

#header-contents .kanban_col_2{
	display: flex;
	flex-wrap: wrap;
}

#header-contents .kanban_col_2 li{
	width: calc(100%/2 - 3px);
	margin: 0 0 5px 0;
}

#header-contents .kanban_col_2 li:first-child{
	margin: 0 5px 5px 0;
}

#header-contents .kanban_col_2 li:last-child{
	width: 100%;
	margin: 0;
}


/*ホバーで切り替え*/
#header-contents .kanban li{
	position: relative;
}

#header-contents .kanban li .kanban_img_1{
	position: relative;
}

#header-contents .kanban li .kanban_img_2{
	position: absolute;
	transition: 0.6s;
	left: 0;
	opacity: 0;
}

#header-contents .kanban li:hover .kanban_img_2{
	opacity: 1;
	z-index: 1;
}




/*サービス
=================*/
#header-contents .service{
	background-color: #f6f6f6;
	padding: 20px 0;
}

#header-contents .service ul{
	display: flex;
}

#header-contents .service ul li{
	border-right: dashed 1px #bebebe;
	transition: 0.2s;
	padding:0 10px;
}

#header-contents .service ul li:last-child{
	border-right: none;
}

/*#header-contents .service ul li:hover{
	opacity: 0.5;
}*/


/*index-contents
================================================== */

/*見出し
=================*/
#index-contents h1{
	position: relative;
	text-align: center;
	font-size: 25px;
	margin: 2% 0;
	font-weight: bold;
}

#index-contents h1 span{
    position: absolute;
    font-size: 15px;
    top: 135%;
    left: 50%;
    transform: translate(-50%, -50%);
	color: #bfbfbf;
	font-weight: normal;
}

/*スライダー
================= */

#index-contents .swiper_1,#index-contents .swiper_2{
    position: relative;
}

#index-contents .slider_block{
    width: 100%;
	margin-bottom: 3%;
}

#index-contents .slider_inner{
	width: 900px;
	height: 100%;
	margin: 0 auto;
	overflow: hidden;
	padding: 0 0 50px 0;
}

/*矢印*/
#index-contents  .swiper-button-next,#index-contents  .swiper-button-prev{
	position: absolute;
    background-image: none;
}

#index-contents .swiper-button-next::after,#index-contents .swiper-button-prev::after{
	font-family: 'Material Icons Outlined';
	content: '\e7cd';
	font-size: 35px;
	color: #323232;
}

#index-contents .swiper-button-next{
	top: 108%;
	right: calc(100% / 2 - 130px);
    transform: rotate(270deg);
}
#index-contents .swiper-button-prev{
	top: 108%;
	left: calc(100% / 2 - 130px);
    transform: rotate(-270deg);
}


/*ドット*/
#index-contents .swiper-horizontal>.swiper-pagination-progressbar, #index-contents .swiper-pagination-progressbar.swiper-pagination-horizontal{
    width: 20% !important;
    left: calc(50% - 10%) !important;
    top: 107% !important;
}

#index-contents .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background-color: #366583 !important;
}



/*おすすめ特集
================= */
#index-contents .slider_block .swiper-wrapper li{
	width: calc(97%/3) !important;
    margin:0 0.5%;
	overflow: hidden;
}

#index-contents .slider_block .swiper-wrapper li img{
	transition: all 0.3s;
}


#index-contents .slider_block .swiper-wrapper li:hover img{
	transform: scale(1.3);
}




/*パララックス
================= */
#index-contents .hot_word{
	width: 100%;
    height: 450px;
    background-image: url(../../images/index_2023/back_1.jpg);
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
    padding: 1% 0;
	margin-bottom: 3%;
}


#index-contents .pic_up{
	width: 100%;
    height: 620px;
    background-image: url(../../images/index_2023/back_2.jpg);
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
    padding: 1% 0;
	margin-bottom: 3%;
}

#index-contents .topic_review{
	width: 100%;
    height: 400px;
    background-image: url(../../images/index_2023/back_3.jpg);
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
    padding: 1% 0;
	margin-bottom: 3%;
}

/*ホットワード
================= */
#index-contents .word_list{
	display: flex;
	flex-wrap: wrap;
	margin: 3% auto 0 auto;
}

#index-contents .word_list li{
    width: calc(94% / 3);
    background-color: #fff;
    height: 65px;
	box-shadow: 7px 7px 10px #9e9e9e99;
	border-radius: 10px;
	margin: 0 3% 3% 0;
	border-left: solid 30px #366583;
	transition: 0.2s;
}

#index-contents .word_list li a{
	display: flex;
	align-items: center;
    justify-content: center;
	width: 100%;
    height: 100%;
	font-weight: bold;
}

#index-contents .word_list li:nth-child(3n){
	margin: 0 0 3% 0;
}

#index-contents .word_list li:hover{
	transform: translateY(5px);
}


/*用途
================= */
#index-contents .application_list{
	display: flex;
	flex-wrap: wrap;
	margin: 5% auto 0 auto;
	padding-bottom: 3%;
	border-bottom:dashed 1px #323232;
}

#index-contents .application_list li{
    width: calc(94% / 3);
    height: 65px;
	margin: 0 3% 3% 0;
	border: solid 1px #366583;

}

#index-contents .application_list li a{
	display: flex;
	align-items: center;
    justify-content: center;
	width: 100%;
    height: 100%;
	font-weight: bold;
	overflow: hidden;
	transition: 0.2s;
	background-color: #fff;
}

#index-contents .application_list li:nth-child(3n){
	margin: 0 0 3% 0;
}


#index-contents .application_list li a:hover{
	color: #fff;
	background-color: #366583;
}



/*カテゴリ
================= */
#index-contents .cate{
	margin: 3% auto 5% auto;
}

#index-contents .cate_list{
	display: flex;
	flex-wrap: wrap;
}

#index-contents .cate_list li a{
	display: block;
	border-radius: 290px;
    background-color: #f6f6f6;
	width: 130px;
	height: 130px;
	padding: 28px;
	margin-bottom: 10px;
	transition: 0.2s;
}

#index-contents .cate_list li a:hover{
    background-color: #bfbfbf;
}

#index-contents .cate_list li a img{
	transition: 0.2s;
}

#index-contents .cate_list li a:hover img{
	opacity: 0.7;
}

#index-contents .cate_list li{
	width: calc(91% / 4);
    margin: 0 3% 3% 0;
	display: flex;
    flex-direction: column;
    align-items: center;
}

#index-contents .cate_list li:nth-child(4n){
	margin: 0 0 3% 0;
}


#index-contents .cate_list.cate_col_3{
	width: 700px;
}

#index-contents .cate_list.cate_col_3 li{
	width: calc(94% / 3);
    margin: 0 3% 3% 0;
	display: flex;
    flex-direction: column;
    align-items: center;
}

#index-contents .cate_list.cate_col_3 li:nth-child(3n){
	margin: 0 0 3% 0;
}


/*ピックアップ
================= */
#index-contents .pic_up .swiper-wrapper li{
	width: calc(96%/4) !important;
    margin:0 0.5%;
	font-size: 15px;
	font-weight: bold;
	text-shadow: 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 11px #fff;
}

#index-contents .pic_up .swiper-wrapper li a{
	position: relative;
    display: block;
    width: 100%;
	margin-bottom: 7px;
	text-shadow: none;
}


#index-contents .pic_up .swiper-wrapper li img{
	transition: all 0.3s;
}

#index-contents .pic_up .swiper-wrapper li p{
	position:absolute;
	top: 0;
	left: 0;
	opacity: 0;
	width: 100%;
    height: 100%;
	background: rgba(0,0,0,0.5);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 3%;
	color: #fff;
	font-size: 15px;
	transition: 0.6s;
	text-align: left;
	line-height: 22px;
	font-weight: normal;
}

#index-contents .pic_up .swiper-wrapper li p span{
	font-size: 18px;
	color: #323232;
	padding: 3%;
	width: fit-content;
	background-color: #fff;
	font-weight: bold;
}

#index-contents .pic_up .swiper-wrapper li p::after{
	font-family: 'Material Icons Outlined';
	content: '\e7cd';
	font-size: 35px;
	position: absolute;
    top: 90%;
    right: 2%;
	transform: rotate(270deg);
}


#index-contents .pic_up .swiper-wrapper li:hover p{
	opacity: 1;
	z-index: 1;
}


/*ランキング
================= */
/*全体のレイアウト*/
#index-contents .ranking_block{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3%;
}

#index-contents .ranking_block ul{
	width: calc(98%/2);
}

#index-contents .ranking_1{
	margin-right: 2%;
}

#index-contents .ranking_2{
	display: flex;
	flex-wrap: wrap;
}

#index-contents .ranking_2 li{
	width: calc(97% / 2);
	margin:0 3% 3% 0;
}

#index-contents .ranking_2 li:nth-child(2){
	margin:0 0 3% 0;
}

#index-contents .ranking_2 li:nth-child(3){
	margin:0 3% 0 0;
}

#index-contents .ranking_2 li:nth-child(4){
	margin:0 0 0 0;
}


#index-contents .ranking_block li{
	transition: 0.3s;
}

#index-contents .ranking_block li:hover{
	transform: translateY(-5px);
	opacity: 0.7;
}


/*アイコンなど*/

#index-contents .ranking_block li img{
	border-radius: 6% 0 0% 0;
}

#index-contents .ranking_block ul li{
	position: relative;
}

#index-contents .rank_icon{
	position: absolute;
    left: -7px;
    top: -7px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

#index-contents .ranking_1 .rank_icon{
    width: 90px;
    height: 90px;
    border-radius: 100%;
	font-size: 18px;
}

#index-contents .ranking_2 .rank_icon{
    width: 70px;
    height: 70px;
    border-radius: 100%;
	font-size: 15px;
}

#index-contents .rank_icon.no_1{
	color: #323232;
    background-color: #ffe348;
}
#index-contents .rank_icon.no_2{
	color: #323232;
    background-color: #dddddd;
}
#index-contents .rank_icon.no_3{
	color: #323232;
    background-color: #c1a87c;
}
#index-contents .rank_icon.no_4_5{
	color: #fff;
    background-color: #323232;
}

#index-contents .rank_icon::before{
	content: '';
	display: block;
	background-size: contain;
	background-image: url(../../images/index_2023/crown_1.png);
}

#index-contents .rank_icon.no_4_5::before{
	content: '';
	display: block;
	background-size: contain;
	background-image: url(../../images/index_2023/crown.png);
}

#index-contents .ranking_1 .rank_icon::before{
	width: 23px;
	height: 16px;
	margin-bottom: 10px;
}

#index-contents .ranking_2 .rank_icon::before{
	width: 20px;
	height:14px;
	margin-bottom: 5px;
}


/*トピック・レビュー
================= */
#index-contents .topic_review_block{
	display: flex;
	justify-content: space-between;
}


/*TOPアンカー
================================================== */

#index-contents .pagetop {
    position: fixed;
    background-color: #366583;
    bottom: 2%;
    right: 2%;
    z-index: 99;
    text-align: center;
    border-radius: 50%;
    width: 90px;
    height: 90px;
    font-size: 14px;
    font-weight: 900;
    transition: 0.2s;
    line-height: 110%;
    transition: 0.2s;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
	padding: 16px;
	border: solid 1px #fff;
	overflow: hidden;
}

#index-contents .pagetop img{
	width: 86px;
    position: absolute;
    top: 39px;
    transition: 0.2s;
}


#index-contents .pagetop:hover img{
	animation: fukifuki 1s linear infinite;
}

@keyframes fukifuki {
	0%,100%{
		transform: translateY(0);
	}
	25%{
		transform: translateY(-5px);
	}
	50%{
		transform: translateY(0);
	}
	75%{
		transform: translateY(5px);
	}

}

#index-contents .pagetop:hover::after{
	border-width: 15px 1px;
	top: 46px;
}


#index-contents .pagetop:hover{
    transform: translate(0px, -10px);
}

/*フッター
================================================== */


#footer-contents .detail {
	width: 900px;
	margin: 0 auto;
	display: flex;
}


#footer-contents .footer_b img{
	width: 320px;
}


#footer-contents .footer_a{
	width:225px;
	margin-right: 2%;
}

#footer-contents .footer_b,
#footer-contents .footer_c{
	width: calc(100% /2);
}

#footer-contents .footer_b{
	margin-right: 2%;
}

#footer-contents .link_img li{
    margin-bottom: 5%;
}

#footer-contents .link_img li a{
	transition: 0.2s;
}


#footer-contents .link_img li:first-child{
    margin: 0 auto 5% auto;
    background-color: #f6f6f6;
    padding: 4% 20% 6% 20%;
}

#footer-contents .link_img li a:hover{
    opacity: 0.7;
}

#cal_wrap p input[type=button] {
	cursor: pointer;
}



/*テキスト
================================================== */
#footer-contents{
	letter-spacing: 1px;
}

#footer-contents a{
	text-decoration: underline;
	color: #013399;
}

#footer-contents h2{
	background-color: #323232;
    padding: 2%;
    color: #fff;
    font-size: 17px;
    font-weight: normal;
	margin-bottom: 2%;
}

#footer-contents h3 {
    border-bottom: 1px dotted #4b3327;
    margin-bottom: 2%;
    font-size: 15px;
    font-weight: normal;
	line-height: 26px;
}


#footer-contents p{
    font-size: 14px;
	line-height: 19px;
}

#footer-contents p span{
    font-size: 12px;
	letter-spacing: 0.5px;
}


/*footer
================================================== */
#footer-contents .foot_navi{
	background-color: #366583;
	height: 100px;
	padding: 10px 0;
	color: #fff;
	margin-top: 10%;
}

#footer-contents .width_900px{
	display: flex;
	width: 900px;
	margin: 0 auto;
	align-items: center;
    justify-content: flex-start;
}

#footer-contents .foot_navi .logo{
	width: 140px;
	transition: 0.2s;
	margin-right: 5%;
}

#footer-contents .foot_navi .logo:hover{
	opacity: 0.7;
}


#footer-contents .foot_navi p a{
	color: #fff;
	text-decoration: none;
	font-size: 18px;
}

#footer-contents .foot_navi p a:hover{
	text-decoration: underline;
}

#footer-contents .link_img_btn a{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-color: #366583;
	color: #fff;
	text-decoration: none;
	width: 100%;
	height: 60px;
	border-radius: 5px;
	font-size: 15px;
}

#footer-contents .link_img_btn a img{
	width: 45px;
	margin:0 7%;
}

/* ニュース 追加分 */
#header-contents .news {
    margin-top: 0;
}
#header-contents .news:nth-of-type(0) {
    margin-top: 15px;
}
