@charset "EUC-JP";

html {
	scroll-behavior: smooth;
}

/* base.css
============================================================================= */
@media screen and (max-width: 640px) {
	body {
		min-width: 100%;
	}
	img {
		max-width: 100%;
		width: auto;
		height: auto;
	}
	.wrapper {
		width: 100%;
		margin: 0;
	}
	header {
		max-width: 100%;
		width: 100%;
		margin: 0 0 2em 0;
	}
	header .db-logo span,
	header dl {
		display: none;
	}
	main {
		width: 100%;
		margin: 0 0 1em 0;
	}
	nav.pagenav {
		display: none;
	}
	.pagetopBtn {
		margin-top: 2em;
		padding: 0 10px;
	}
	footer {
		width: 100%;
		margin: 0;
	}
	footer .footMenu {
		padding-top: 0;
	}
	footer .footMenu .gshLogo {
		float: none;
		width: auto;
	}
	footer .footMenu ul {
		float: none;
		padding-top: 10px;
		text-align: center;
		line-height: 1;
	}
	footer .footMenu ul li {
		float: none;
		display: inline-block;
		margin-right: 4px;
		padding: 0;
		font-size: 68.8%;
		line-height: 1.7;
	}
	footer .footMenu ul li:first-child {
		margin: 0 4px 0 0;
		padding: 0;
	}
	footer .footMenu ul li:after {
		content: " ";
	}
	footer .footMenu ul li:first-child:before {
		content: " ";
	}
}

input:focus::-webkit-input-placeholder { color:transparent; }
input:focus:-moz-placeholder { color:transparent; }
input:focus::-moz-placeholder { color:transparent; }

/* Page Layout
============================================================================= */
header {
	margin-bottom: 0;
}

/* Main Box
----------------------------------------------------------------------------- */
.mainBox {
	display: table;
	width: 100%;
	height: 220px;
	margin-bottom: 2em;
	background: url(/sp/copy/images/main-bg.jpg) no-repeat left top;
}
.mainBox h1 {
	display: table-cell;
	margin-bottom: 0;
	padding-left: 40px;
	vertical-align: middle;
}
.mainBox h1 span {
	display: block;
	margin-bottom: 0.25em;
	font-size: 1.8rem;
}
.mainBox .loginBox {
	display: table-cell;
	width: 260px;
	background-color: #0066a2;
	vertical-align: middle;
}
.mainBox .loginBox dl {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	margin-bottom: 0;
}
.mainBox .loginBox dt {
	padding-top: 20px;
	color: #ffffff;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
}
.mainBox .loginBox dd {
	text-align: center;
}
.mainBox .loginBox dd .read {
	color: #ffffff;
	font-size: 1.2rem;
}
.mainBox .loginBox dd .loginBtn {
	display: block;
	margin: 20px;
	padding: 10px 15px 10px 30px;
	background: url(/sp/copy/images/icon-btn-login.png) no-repeat 15px center, linear-gradient(to bottom, #ffe015, #ffcb0d);
	border-radius: 8px;
	color: #000000;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}
.mainBox .loginBox dd .loginBtn:hover {
	background: url(/sp/copy/images/icon-btn-login.png) no-repeat 15px center, linear-gradient(to bottom, #ffe651, #ffd531);
	text-decoration: none;
}
.mainBox .loginBox dd .loginBtn strong {
	display: block;
	font-size: 2.4rem;
	line-height: 1;
}
.mainBox .loginBox dd .guideDl {
	display: block;
	padding: 6px 20px;
	background-color: #ffffff;
	border: 1px solid #0066a2;
	color: #000000;
	font-size: 1.4rem;
	line-height: 1;
	text-decoration: none;
	text-align: center;
}
.mainBox .loginBox dd .guideDl span {
	display: inline-block;
	padding: 4px 20px 4px 0;
	background: url(/sp/copy/images/icon-nav-download.png) no-repeat right center;
}
.mainBox .loginBox dd .guideDl:hover span {
	text-decoration: underline;
}

@media screen and (max-width: 640px) {
	.mainBox {
		display: block;
		height: auto;
		margin-bottom: 0;
		padding: 20px 10px 0 10px;
	}
	.mainBox h1 {
		display: block;
		padding-left: 0;
		font-size: 2.0rem;
	}
	.mainBox h1 span {
		margin-bottom: 1em;
		font-size: 1.4rem;
	}
	.mainBox h1 br {
		display: none;
	}
	.mainBox .loginBox {
		display: block;
		width: 260px;
		margin: 1em auto 0 auto;
	}
	.mainBox .loginBox dt {
		padding-top: 10px;
		font-size: 1.6rem;
	}
	.mainBox .loginBox dd .loginBtn {
		margin: 10px 20px;
		padding: 10px 15px 10px 30px;
		font-size: 1.4rem;
	}
	.mainBox .loginBox dd .loginBtn strong {
		font-size: 1.8rem;
	}
}

/* Section
----------------------------------------------------------------------------- */
main section {
	margin: 4em 0;
	padding: 0 20px;
}
main section section {
	padding: 0;
}
section h2.line {
	padding-bottom: 0.25em;
	border-bottom: 6px solid #253f78;
}
section h3.line {
	padding: 4px 0 4px 10px;
	border-left: 4px solid #2f4f8e;
}

@media screen and (max-width: 640px) {
	main section {
		margin: 2em 0;
		padding: 0 10px;
	}
	section h2 {
		font-size: 2.0rem;
		margin-bottom: 1em;
	}
}

/* copyBox
----------------------------------------------------------------------------- */
/* point */
.copyBox .point {
	display: flex;
	justify-content: space-between;
}
.copyBox .point dl {
	width: 300px;
	margin-bottom: 0;
	padding: 0 10px 20px 10px;
	background: url(/sp/copy/images/about-bg.gif) repeat top left;
	border-radius: 8px;
}
.copyBox .point dl dt {
	padding: 10px;
	color: #397d77;
	font-size: 2.4rem;
	text-align: center;
}
.copyBox .point dl dt strong {
	display: inline-block;
	padding: 0 30px 0 50px;
	background-position: left center;
	background-repeat: no-repeat;
}
.copyBox .point dl.easy dt strong {
	background-image:url(/sp/copy/images/about-icon-easy.png);
}
.copyBox .point dl.reduce dt strong {
	background-image:url(/sp/copy/images/about-icon-reduce.png);
}
.copyBox .point dl.security dt strong {
	background-image:url(/sp/copy/images/about-icon-security.png);
}
.copyBox .point dl dd {
	height: calc(100% - 60px);
	padding: 20px 15px;
	background-color: #ffffff;
}
.copyBox .point dl dd h4 {
	text-align: center;
}
.copyBox .point dl dd p:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 640px) {
	.copyBox .point {
		flex-direction: column;
	}
	.copyBox .point dl {
		width: 100%;
		margin-bottom: 1em;
	}
	.copyBox .point dl dt {
		padding: 0 10px;
		font-size: 1.8rem;
	}
	.copyBox .point dl dt strong {
		padding: 10px 30px 10px 50px;
	}
}

/* howtoBox
----------------------------------------------------------------------------- */
/* flow */
.howtoBox .flowImg {
	margin: 2em 0;
	padding: 10px 10px 20px 10px;
	background: url(/sp/copy/images/order-bg.gif) repeat left top;
	border-radius: 8px;
}
.howtoBox .flowImg figure {
	margin-bottom: 0;
}
.howtoBox .flow ol {
	margin-left: 0;
	list-style: none;
}
.howtoBox .flow ol > li {
	display: flex;
	justify-content: space-between;
	margin-bottom: 0;
	padding: 20px 0 20px 50px;
	background-position: 10px 18px;
	background-repeat: no-repeat;
	border-bottom: 1px dotted #CCCCCC;
}
.howtoBox .flow ol > li :last-child {
	margin-bottom: 0;
}
.howtoBox .flow ol > li.no1 {
	background-image: url(/sp/copy/images/order-icon-no1.png);
}
.howtoBox .flow ol > li.no2 {
	background-image: url(/sp/copy/images/order-icon-no2.png);
}
.howtoBox .flow ol > li.no3 {
	background-image: url(/sp/copy/images/order-icon-no3.png);
}
.howtoBox .flow ol > li h4 {
	margin-bottom: 0.5em;
}
.howtoBox .flow ol > li .text {
	width: 430px;
}
.howtoBox .flow ol > li figure {
	margin-bottom: 0;
}
.howtoBox .flow ol > li figure.img1 {
	width: 450px;
}
.howtoBox .flow ol > li figure.img2 {
	width: 220px;
}
.howtoBox .flow ol > li figure.img3 {
	width: 210px;
}

@media screen and (max-width: 640px) {
	.howtoBox .flowImg {
		display: none;
	}
	.howtoBox .flow ol > li {
		display: block;
		margin-bottom: 0;
		padding: 20px 0;
		background: none!important;
		list-style: none;
	}
	.howtoBox .flow ol > li::after {
		content: '';
		clear: both;
		display: table;
	}
	.howtoBox .flow ol > li.no1 h4 {
		padding: 4px 0 4px 36px;
		background: url(/sp/copy/images/order-icon-no1.png) no-repeat left center;
	}
	.howtoBox .flow ol > li.no2 h4 {
		padding: 4px 0 4px 36px;
		background: url(/sp/copy/images/order-icon-no2.png) no-repeat left center;
	}
	.howtoBox .flow ol > li.no3 h4 {
		padding: 4px 0 4px 36px;
		background: url(/sp/copy/images/order-icon-no3.png) no-repeat left center;
	}
	.howtoBox .flow ol > li .text {
		width: 100%;
		margin-bottom: 0.5em;
	}
	.howtoBox .flow ol > li figure + figure {
		float: right;
	}
	.howtoBox .flow ol > li figure.img1 {
		width: 100%;
	}
	.howtoBox .flow ol > li figure.img2,
	.howtoBox .flow ol > li figure.img3 {
		display: inline-block;
		width: 48%;
	}
	.howtoBox .flow ol > li figure figcaption {
		font-size: 1.2rem;
	}
}

/* guideBox
----------------------------------------------------------------------------- */
.guideBox {
	display: flex;
	justify-content: space-between;
	padding: 20px;
	background-color: #feffec;
	border: 2px solid #f0f3a8;
	border-radius: 8px;
}
.guideBox h2 {
	margin-bottom: 0.25em;
	font-size: 1.6rem;
}
.guideBox :last-child {
	margin-bottom: 0;
}
.guideBox .text {
	width: 630px;
}
.guideBox .dlBtn a {
	display: inline-block;
	min-width: 230px;
	padding: 10px 50px;
	background: #f7d228 url(/sp/copy/images/icon-btn-download.png) no-repeat 95% center;
	border-radius: 4px;
	color: #000000;
	line-height: 1.2;
	text-align: center;
	vertical-align: middle;
}
.guideBox .dlBtn a:hover {
	background-color: #f9db53;
}
.guideBox .dlBtn a strong {
	display: inline-block;
}

@media screen and (max-width: 640px) {
	.guideBox {
		display: block;
		padding: 10px;
	}
	.guideBox .text {
		width: auto;
		margin-bottom: 1em;
	}
	.guideBox .dlBtn a {
		display: block;
		padding: 10px 50px 10px 20px;
	}
	.guideBox .dlBtn br {
		display: none;
	}
}

/* serviceBox, priceBox
----------------------------------------------------------------------------- */
/* cmnBoxlist */
.cmnBoxlist {
	display: flex;
	justify-content: space-between;
	width: 730px;
	margin: 2em auto 1em;
}
.cmnBoxlist dl {
	width: 360px;
	margin-bottom: 0;
	padding: 0 10px 20px 10px;
	background: url(/sp/copy/images/frame-bg-blue.gif) repeat top left;
	border-radius: 8px;
}
.cmnBoxlist dl dt {
	padding: 10px;
	color: #2f4f8e;
	font-size: 2.4rem;
	text-align: center;
}
.cmnBoxlist dl dt strong {
	display: inline-block;
	padding: 0 30px 0 50px;
	background-position: left center;
	background-repeat: no-repeat;
}
.cmnBoxlist dl.post dt strong {
	background-image:url(/sp/copy/images/icon-post.png);
}
.cmnBoxlist dl.fax dt strong {
	background-image:url(/sp/copy/images/icon-fax.png);
}
.cmnBoxlist dl dd {
	height: calc(100% - 60px);
	padding: 20px 15px;
	background-color: #ffffff;
	text-align: center;
}
.notice4_wrapper{
	display: flex;
	margin: 0 auto;
    width: 730px;
}
.notice4_wrapper h4{
	font-size:1.2rem;
	margin-bottom: 0;
	color: #666;
	width: 7rem;
	white-space: nowrap;
}
.notice4{
	list-style-type: none;
	margin: 0;
	font-size: 1.2rem;
	color: #666;
	flex:0 1 auto;
}
.notice4 li{
	padding-left: 0;
}

@media screen and (max-width: 640px) {
	.cmnBoxlist {
		display: block;
		width: auto;
		margin: 1.5em auto 0;
	}
	.cmnBoxlist dl {
		width: auto;
		margin-bottom: 1em;
	}
	.cmnBoxlist dl dt {
		padding: 0 10px;
		font-size: 1.8rem;
	}
	.cmnBoxlist dl dt strong {
		padding: 10px 30px 10px 50px;
	}
	.cmnBoxlist dl dd {
		padding: 10px 15px;
	}
	.notice4_wrapper {
    width: 100%;
	}
}

/* serviceBox */
.serviceBox .cmnBoxlist dl dd p {
	display: inline-block;
	margin-bottom: 0;
	text-align: left;
}
.serviceBox .cmnBoxlist dl dd p span {
	display: block;
	font-size: 1.2rem;
}
.serviceBox .cmnBoxlist dl dd p strong {
	font-size: 2.4rem;
}

/* priceBox */
.priceBox .cmnBoxlist dl {
	position: relative;
	width: 340px;
}
.priceBox .cmnBoxlist dl dd p {
	display: block;
}
.priceBox .cmnBoxlist dl dd p:last-child {
	margin-bottom: 0;
}
.priceBox .cmnBoxlist dl dd p span {
	display: block;
	line-height: 1.2;
}
.priceBox .cmnBoxlist dl dd p strong {
	font-size: 2.4rem;
}
.priceBox .cmnBoxlist dl dd p.note {
	font-size: 1.4rem;
}
.priceBox .cmnBoxlist .plus {
	align-self: center;
	font-size: 4.0rem;
	font-weight: bold;
	color: #666666;
	vertical-align: middle;
}

@media screen and (max-width: 640px) {
	.priceBox .cmnBoxlist dl {
		width: 100%;
	}
	.priceBox .cmnBoxlist dl:first-child {
		margin-bottom: 0;
	}
	.priceBox .cmnBoxlist .plus {
		padding-bottom: 10px;
		line-height: 1em;
		text-align: center;
	}
}

/* priceTable --------------------------------------------------------------- */
.priceTable + .priceTable {
	margin-top: 1em;
}
.priceTable table caption {
	margin-bottom: 0;
}
.priceTable table caption > span {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.priceTable table caption strong {
	padding-left: 46px;
	background-repeat: no-repeat;
	color: #2f4f8e;
	line-height: 32px;
}
.priceTable table caption strong.post {
	background-image: url(/sp/copy/images/icon-post.png);
	background-position: 10px center;
	background-size: 24px;
}
.priceTable table caption strong.fax {
	background-image: url(/sp/copy/images/icon-fax.png);
	background-position: 6px center;
	background-size: 30px;
}
.priceTable table caption span span {
	font-weight: normal;
	font-size: 1.2rem;
}
.priceTable table th,
.priceTable table td {
	padding: 10px 16px;
	border: 1px solid #ffffff;
}
.priceTable table th :last-child,
.priceTable table td :last-child {
	margin-bottom: 0;
}
.priceTable table tbody th span {
	display: block;
}
.priceTable table tbody td span {
	display: block;
}
.priceTable table tbody td strong {
	font-size: 1.6rem;
}
.priceTable table th .inline,
.priceTable table td .inline {
	display: inline-block!important;
}
.priceTable table .nowrap {
	white-space: nowrap;
}

/* basic */
.priceTable .basic thead th {
	background-color: #cccccc;
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1.4;
	text-align: center;
}
.priceTable .basic thead th strong {
	display: block;
	font-size: 2.4rem;
	line-height: 1.2;
}
.priceTable .basic thead .company {
	width: 40%;
	background-color: #f4d0d0;
}
.priceTable .basic thead .company strong {
	color: #df4543;
}
.priceTable .basic thead .cureka {
	width: 40%;
	background-color: #c4e5be;
}
.priceTable .basic thead .cureka strong {
	color: #137b00;
}
.priceTable .basic tbody th {
	text-align: left;
}
.priceTable .basic tbody br {
	display: none;
}
.priceTable .basic tbody td {
	font-size: 1.4rem;
	text-align: center;
}
.priceTable .basic tbody td.red {
	background-color: #fbecec;
}
.priceTable .basic tbody td.green {
	background-color: #e5f7e2;
}
.priceTable .basic tbody td.gray {
	background-color: #f6f6f6;
}

/* service */
.priceTable .service th,
.priceTable .service td {
	border-bottom: 2px solid #ffffff;
}
.priceTable .service tbody th {
	background-color: #f0f0f0;
}
.priceTable .service tbody td {
	background-color: #f6f6f6;
	font-size: 1.4rem;
	text-align: left;
}


@media screen and (max-width: 640px) {
    .priceTable table {
        max-width: 100%;
    }

	.priceTable table th,
	.priceTable table td {
		padding: 10px;
	}

	/* basic */
	.priceTable .basic thead th {
		font-size: 1.2rem;
	}
	.priceTable .basic thead th strong {
		font-size: 1.8rem;
	}
	.priceTable .basic tbody th {
		font-size: 1.2rem;
		text-align: center;
	}
	.priceTable .basic tbody br {
		display: block;
	}
	.priceTable .basic tbody td {
		font-size: 1.2rem;
	}
	.priceTable table tbody td strong {
		line-height: 1.4;
	}

	/* service */
	.priceTable .service th {
		border: none;
		border-top: 2px solid #ffffff;
	}
	.priceTable .service td {
		border: none;
		border-bottom: 1px solid #ffffff;
        text-align: left!important;
	}
	.priceTable .service td:empty {
		display: none;
	}
	.priceTable .service table,
	.priceTable .service caption,
	.priceTable .service tbody,
	.priceTable .service tr,
	.priceTable .service th,
	.priceTable .service td {
		display: block;
        max-width: 100%;
		width: 100%!important;
		text-align: left;
	}
}

/* List
----------------------------------------------------------------------------- */
/* noticeList */
.noticeList01,
.noticeList02 {
	margin: 1em 0;
	list-style: none;
}
.noticeList01 li {
	position: relative;
	padding-left: 1.25em;
	color: #666666;
	font-size: 87.5%;
}
.noticeList02 li {
	position: relative;
	padding-left: 1.25em;
	color: #000000;
	font-size: 100%;
}
.noticeList01 li:before,
.noticeList02 li:before {
	content: "\203B";
	position: absolute;
	top: 0;
	left: 0;
	width: 1.5em;
}
.notice2_wrapper {
	margin-top: 1.75em;
}
.notice2_wrapper h4 {
    font-weight: bold;
	font-size: 1.4rem;
}
.notice2 {
	list-style-type: none;
    font-size: 1.4rem;
    margin-top: 1rem;
	margin-left: 0;
}
.notice3 {
    font-size: 1.4rem;
    margin-top: 1rem;
}
.notice2 li, .notice3 li {
    padding-left: 1em;
    color: #666;
    font-size: 1.2rem;
    text-indent: -1em;
    line-height: 1.7;
}
.notice2 li:before {
    content: '*';
    padding-right: 5px;
}

/* About Box
----------------------------------------------------------------------------- */
.aboutBox {
	padding: 0 20px;
}
.aboutBox h2 {
	padding: 6px 0 6px 12px;
	border-left: 6px solid #2f4f8e;
	font-size: 1.8rem;
}
.aboutBox p,
.aboutBox li {
	font-size: 1.4rem;
}

@media screen and (max-width: 640px) {
	.aboutBox {
		padding: 0 10px;
		font-size: 92.9%;
	}
	.aboutBox h2 {
		padding: 4px 0 4px 8px;
	}
}

/* Entry button
----------------------------------------------------------------------------- */
.entryBtn {
	margin: 4em 20px 5em 20px;
}
#about .entryBtn {
	margin-top: 3em;
	margin-right: 0;
	margin-left: 0;
}
.entryBtn h2 {
	position: relative;
	margin-bottom: 1.5em;
	text-align: center;
	font-size: 137.5%;
}
.entryBtn h2:before {
	content: " ";
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 100%;
	height: 4px;
	background-color: #cccccc;
	z-index: 1;
}
.entryBtn h2 span {
	position: relative;
	display:  inline-block;
	margin: 0 auto;
	background-color: #ffffff;
	padding: 0 20px;
	z-index: 2;
}
.entryBtn > div {
	padding: 0 20px;
	overflow: hidden;
	zoom: 1;
}
.entryBtn > div:after {
	content: " ";
	clear: both;
	display: block;
}
.entryBtn > div a {
	display: inline-block;
	width: 440px;
	padding: 10px 20px;
	border-radius: 8px;
	color: #ffffff;
	line-height: 1.4;
	text-align: center;
}
.entryBtn > div a span {
	display: block;
	padding: 0;
	background: url(/ad/yoshin/images/icon-btn-arrow.png) no-repeat right center;
}
.entryBtn > div a strong {
	display: block;
	font-size: 150%;
}
.entryBtn > div a.cureka {
	float: left;
	background: #137b00 url(/ad/yoshin/images/icon-btn-cureka.png) no-repeat 20px center;
}
.entryBtn > div a.corporate {
	float: right;
	background: #df4543 url(/ad/yoshin/images/icon-btn-corporate.png) no-repeat 20px center;
}
.entryBtn > div a:hover {
	color: #ffffff;
	opacity: 0.7;
	text-decoration: none;
}

@media screen and (max-width: 640px) {
	.entryBtn {
		margin: 3em 10px;
	}
	.entryBtn h2 {
		margin-bottom: 1em;
		font-size: 125%;
	}
	.entryBtn > div {
		padding: 0;
	}
	.entryBtn > div a {
		width: 100%;
		font-size: 87.5%;
	}
	.entryBtn > div a + a {
		margin-top: 0.5em;
	}
	.entryBtn > div a span {
		padding: 0 40px;
	}
	.entryBtn > div a strong {
		font-size: 160%;
	}
	.entryBtn > div a.cureka,
	.entryBtn > div a.corporate {
		float: none;
		background-size: 40px;
	}
}