@charset "utf-8";

/* ==================================================
PC
================================================== */

/* ========== トップページ ========== */

/* 非表示 */
#footstep_wrap {
	display: none !important;
}
/* mv */
#top_mv {
	background: #d5fd00;
	min-height: 680px;
}
.box_top_mv {
	width: var(--content-width, 1080px);
	margin:0 auto;
	background: url(/img/sites/digital/top/bg-logo.png) no-repeat right 32px top 29px;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-align: end;
    -ms-flex-align: end;
        align-items: flex-end;
}
.box_top_mv #logo {
	margin:-51px 0 0 14px;
}
.box_top_mv #logo h1 {
	margin:0;
}
.box_top_mv .free_box {
	margin-bottom:17px;
	margin-left: 45px;
	text-align: left;
}
.box_top_mv .free_box p {
	text-align: left;
	font-size:2rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	background: linear-gradient(transparent 0%, #f8f8f8 0%);
    display: inline;
    line-height: 3;
    padding: 13px 15px 13px 17px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
/* メイン */
#mymainback {
	width:100%;
	padding:0;
	background: #f8f8f8;
}

/* アンカー */
.top_anc {
	width: var(--content-width, 1080px);
	margin:50px auto;
}
.top_anc ul {
	margin:0;
	padding:0;
	list-style: none;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	gap:30px;
}
.top_anc ul li {
	width: calc((100% - 60px) / 3);
}
.top_anc ul li a {
	position:relative;
	display: block;
	padding: 24px 43px;
	font-size:2.4rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
	text-decoration: none;
	background: #d5fd00;
	border-bottom:solid 3px #dedede;
}
.top_anc ul li a:after {
	content:"";
	border-style: solid;
	border-right: 12px solid transparent;
	border-left: 12px solid transparent;
	border-top: 17px solid #858578;
	border-bottom: 0;
	position:absolute;
	right:20px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

/* 新着情報 */
.section_information {
	background: #fff;
	width: var(--content-width, 1080px);
	margin:0px auto;
	padding: 27px 40px 50px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.section_information h2 {
	margin: 0px;
	padding: 31px 0 10px;
	border: none;
	border-radius: 0;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	text-align: center;
	background: url(/img/sites/digital/top/bg-new.png) no-repeat center top;
}

.section_information p.no_data {
	margin: 0px;
	padding: 20px 0px;
}

.section_information_list ul {
	margin: 0px;
	padding: 20px 0px;
	list-style: none;
}
.section_information_list ul li {
	width: 100%;
	display: table;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0px;
	padding:18px 0;
	background-image: repeating-linear-gradient(90deg, #b8c4ce, #b8c4ce 5px, transparent 5px, transparent 8px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
}
.section_information_list ul li > span {
	display: table-cell;
	vertical-align: top;
	font-weight: bold;
	position:relative;
	line-height: 2;
}
.section_information_list ul li > span.article_date {
	width: calc(11em + 10px);
	font-size: var(--fontsize-detail-small, 1.6rem);
	padding-top: 0.1rem;
	font-weight: normal;
}

.section_information_list img.icon_new {
	margin-left: 20px;
	position:absolute;
	bottom: -2px;
}
.section_information_list ul li a {
	text-decoration: none;
}
.section_information_list ul li a:hover {
	text-decoration: underline;
}

/* 新着情報（文字拡大時） */
.font_size_changed .section_information_list ul li,
.font_size_changed .section_information_list ul li > span {
	display: block;
}
.font_size_changed .section_information_list ul li > span.article_date {
	width: auto;
	padding-top: 0px;
}

/* 新着情報（一覧 / RSS） */
.section_information_list div.link_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 20px;
	margin-top: 14px;
}
.section_information_list div.link_box span {
	display: inline-block;
	vertical-align: top;
	min-width: 194px;
	max-width: 100%;
}
.section_information_list div.link_box span a {
	display: block;
	border: 1px solid #d5fd00;
	border-radius: 0;
	background: #ffffff url(/img/sites/digital/top/ico-arrow.png) no-repeat right 20px center;
	font-size: 1.4rem;
	line-height: 1.8rem;
	letter-spacing: 0;
	text-decoration: none;
	margin: 0px;
	padding: 10px 28px 10px 15px;
	text-align: center;
	-webkit-transition: all 0.5s ease 0s;
	-o-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
}
.section_information_list div.link_box span a:hover,
.section_information_list div.link_box span a:focus {
	background: #f4fad2;
}

/* サービス */
.sec_service {
	margin:180px 0 0;
	padding-bottom:90px;
	background: #fff;
}
.sec_service #main_body {
	width: var(--content-width, 1080px);
	margin:0 auto;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
	gap:60px 45px;
	-webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.sec_service #main_body .detail_html {
	width:100%;
	position:relative;
	margin: 90px 0 0 0;
}
.sec_service #main_body .detail_html:first-child {
	margin: 0;
}
.sec_service #main_body .detail_html > div {
	display: inline-block;
	text-align: center;
    min-width: 345px;
    bottom: 100%;
    position: absolute;
}
.sec_service #main_body .detail_html h2 {
	position:relative;
	margin:0;
	padding:27px 10px;
	background: none;
	background: #d5fd00;
	font-size:2.4rem;
	letter-spacing: 0.2em;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.sec_service #main_body .detail_html #top_contents01 h2:after {
	content:"";
	width:198px;
	height:151px;
	display: block;
	background: url(/img/sites/digital/top/img-01.png) no-repeat center;
	position:absolute;
	left:calc(100% - 26px);
	bottom:-17px;
}
.sec_service #main_body .detail_html #top_contents02 h2:after {
	content:"";
	width:168px;
	height:145px;
	display: block;
	background: url(/img/sites/digital/top/img-02.png) no-repeat center;
	position:absolute;
	left:calc(100% - 13px);
	bottom:-28px;
}
.sec_service #main_body .detail_html #top_contents03 h2:after {
	content:"";
	width:168px;
	height:125px;
	display: block;
	background: url(/img/sites/digital/top/img-03.png) no-repeat center;
	position:absolute;
	left:calc(100% - 18px);
	bottom:-25px;
}
.sec_service #main_body .detail_free {
	position:relative;
	width:330px;
	margin-bottom:0;
	background: transparent;
	-webkit-transition: all 0.5s ease 0s;
	-o-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
}
.sec_service #main_body .detail_free:hover h3,.sec_service #main_body .detail_free:focus h3,
.sec_service #main_body .detail_free:hover p,.sec_service #main_body .detail_free:focus p{
	text-decoration: underline;
}
.sec_service #main_body .detail_free p {
	margin: 0;
    font-size: 1.6rem;
    padding: 0 10px;
}
.sec_service #main_body .detail_free p:first-child {
	padding: 0;
}
.sec_service #main_body .detail_free h3 {
	margin: 12px 0 20px;
    font-size: 1.8rem;
    border: none;
    padding: 8px 0px 8px 42px;
    background: url(/img/sites/digital/common/ico-h5.png) no-repeat left 10px top 0.5em;
}
.sec_service #main_body .detail_free a {
	text-decoration: none;
}
.sec_service #main_body .detail_free a:before {
	content:"";
	width:100%;
	height:100%;
	display: block;
	position:absolute;
	left:0;
	top:0;
}
.top_free_area_bottom {
	display: none;
}
.top_free_area_bottom:has(div.free_box) {
	display: block;
	background: #fff;
    padding-bottom: 60px;
}
.top_free_area_bottom .free_box {
	width: var(--content-width, 1080px);
    margin: 0 auto;
}
.sec_service #main_body .detail_free h4,
.sec_service #main_body .detail_free h5,
.sec_service #main_body .detail_free h6 {
	background: none!important;
	border:none!important;
	padding: 0 10px;
	margin:0 0 1em;
	font-size:1.6rem;
}

/* ========== 背景色変更 ========== */

/* 共通 */
.color_change #header2_box {
	background-color: transparent!important;
}
/* 黒 */
.color_black .box_top_mv .free_box p {
	background: linear-gradient(transparent 0%, #333 0%);
}
/* 青 */
.color_blue .box_top_mv .free_box p {
	background: linear-gradient(transparent 0%, #0000a6 0%);
}

/* ==================================================
PC ここまで
================================================== */


/* ==================================================
スマートフォン
================================================== */
@media screen and (max-width: 1080px) {

	/* ========== トップページ ========== */
	/* header */
	#header2_box {
		min-height: 50px;
	}
	/* mv */
	#top_mv {
		min-height: auto;
	}
	.box_top_mv {
		width:100%;
		display: block;
		padding: 14px 47px 30px;
		background-size: 64%;
		background-position: center top 69.5%;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	.box_top_mv #logo {
		margin:0;
	}
	.box_top_mv #logo img {
		width:100%;
		height:auto;
	}
	.box_top_mv .free_box {
		margin: 105px -10px 0 0;
	}
	.box_top_mv .free_box p {
		font-size: 3.5vw;
		padding: 7px;
		letter-spacing: 0.02em;
	}
	
	/* メイン */
	#mymainback {
		margin: 0;
	}
	
	/* アンカー */
	.top_anc {
		width:auto;
		margin:18px 20px 20px;
	}
	.top_anc ul {
		gap: 5px;
	}
	.top_anc ul li {
		width: calc((100% - 10px) / 3);
	}
	.top_anc ul li a {
    	font-size: 1.6rem;
		padding: 9px 17px 8px 10px;
		line-height:1.4;
	}
	.top_anc ul li a:after {
		border-right: 7px solid transparent;
		border-left: 7px solid transparent;
		border-top: 9px solid #858578;
		right: 5px;
	}

	/* 新着情報 */
	.section_information {
		padding: 0px;
		width: auto;
		margin: 30px 20px;
		padding-top: 30px;
	}
	.section_information h2 {
		margin: 0px;
		padding: 25px 20px 10px;
		font-size: 1.9rem;
		background-size:110px auto;
	}

	.section_information p.no_data {
		padding: 20px;
	}

	.section_information_list ul {
		padding: 0px 20px 20px;
	}
	.section_information_list ul li {
		    padding: 15px 0;
	}
	.section_information_list ul li > span {
		display: block;
		line-height: 1.6;
	}
	.section_information_list ul li > span.article_title {
		font-size:1.6rem;
	}
	.section_information_list ul li > span.article_date {
		width: auto;
		padding-top: 0px;
	}
	.section_information_list ul li a {
	}

	.section_information_list ul li:has(img.icon_new) {
		position: relative;
	}
	.section_information_list ul li:has(img.icon_new) > span.article_date {
	}
	.section_information_list ul li:has(img.icon_new) img.icon_new {
		margin-left: 8px;
		position: absolute;
		width:22px;
		height:22px;
		bottom: 2px;
	}

	/* 新着情報（一覧 / RSS） */
	.section_information_list div.link_box {
		padding: 0px 20px 10px;
		gap: 10px;
	}
	.section_information_list div.link_box span {
		min-width: auto;
		width: calc(50% - 5px);
	}
	.section_information_list div.link_box span a {
		font-size: 1.1rem;
		text-align: left;
		background-position:right 10px center;
		background-size:6px auto;
		padding: 10px 15px 10px 8px;
	}
	
	/* サービス */
	.sec_service {
		margin: 120px 0 0;
		padding-bottom: 40px;
	}
	.sec_service #main_body {
		width: auto;
		max-width: 670px;
    	padding: 0 20px;
		gap: 30px 10px;
	}
	.sec_service #main_body .detail_html > div {
		min-width: 230px;
		left:-20px;
	}
	.sec_service #main_body .detail_html h2 {
		font-size:1.8rem;
		padding: 17px 10px;
	}
	.sec_service #main_body .detail_html #top_contents01 h2:after {
		width:130px;
		height:99px;
		background-size:100% auto;
		bottom:-8px;
		left: calc(100% - 30px);
	}
	.sec_service #main_body .detail_html #top_contents02 h2:after {
		width:134px;
		height:117px;
		background-size:100% auto;
		bottom:-20px;
		left: calc(100% - 10px);
	}
	.sec_service #main_body .detail_html #top_contents03 h2:after {
		width:134px;
		height:101px;
		background-size:100% auto;
		bottom:-22px;
		left: calc(100% - 30px);
	}
	.sec_service #main_body .detail_free {
		max-width: 330px;
		width: calc(50% - 5px);
	}
	.sec_service #main_body .detail_free h3 {
		font-size:1.6rem;
		background-size:13px auto;
		background-position:left top 0.5em;
		margin:0;
		padding-left:20px;
	}
	.sec_service #main_body .detail_free p {
		font-size:1.2rem;
	}
	.top_free_area_bottom {
		padding:0 20px 40px;
	}
	.top_free_area_bottom .free_box {
		width:auto;
	}
	.sec_service #main_body .detail_free h4,
	.sec_service #main_body .detail_free h5,
	.sec_service #main_body .detail_free h6 {
		font-size:1.2rem;
	}

	/* ========== 背景色変更 ========== */

	/* 共通 */
	.color_change * {

	}
	/* 黒 */
	.color_black * {

	}
	/* 青 */
	.color_blue * {

	}

}
/* ==================================================
スマートフォン ここまで
================================================== */