@charset "UTF-8";

/*------------------------------
    PC
------------------------------*/
@media screen and (min-width: 641px) {

	.spOnly {
		display: none !important;
	}

	#wrapper {
		width: 100%;
		min-width: 1000px;
		margin: 0 auto;
		background-color: #c6f0ff;
	}

	.fvArea,
	.block00 .block_contents {
		background: url(../img/background_img_01.png) repeat;
	}

	.fvArea h2 {
		width: 100%;
		height: 66px;
		background-color: #0079b7;
		color: #FFFFFF;
		font-size: 3rem;
		font-weight: bold;
		text-align: center;
		line-height: 66px;
	}

	.fvArea .inner_box {
		display: flex;
	}

	.fvArea .inner_box h3 {
		margin: 20px 0;
		color: #0068b7;
		font-size: 5rem;
		font-weight: bold;
		text-align: center;
		line-height: 4.2rem;
	}

	.fvArea .inner_box p {
		margin: 20px 0;
		color: #3f3f3f;
		font-weight: bold;
		text-align: center;
		line-height: 4.2rem;
	}

	.fvArea .inner_box p.sub_title {
		font-size: 2.8rem;
		background: url("../img/fv_img_02.png") no-repeat;
		background-position: center;
	}

	.fvArea .inner_box p.sub_txt {
		font-size: 2.2rem;
		background: none;
	}

	.fvArea .inner_box p.sub_txt span {
		margin: 0 5px;
		padding: 10px;
		background-color: #0068b7;
		color: #FFFFFF;
	}

	.fvArea .inner_box > p img {
		position: relative;
		bottom: -20px;
	}

	.fvArea .inner_box,
	.block00 .block_contents,
	.block01 .block_contents {
		width: 920px;
		margin: 0 auto;
	}

	.block01 {
		margin-bottom: 50px;
		padding-bottom: 20px;
		background-color: #FFFFFF;
	}

	.block01 .block_title {
		position: relative;
		display: inline-block;
		width: 100%;
		height: 130px;
		margin-bottom: 50px;
		background-color: #94bbd2;
	}

	.block01 .block_title:before {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		margin-left: -20px;
		border: 20px solid transparent;
		border-top: 20px solid #94bbd2;
	}

	.block01 .block_title h2 {
		padding-top: 22px;
		color: #FFFFFF;
		font-size: 4.5rem;
		font-weight: bold;
		text-align: center;
		line-height: 43px;
	}

	.block01 .block_title span {
		font-size: 3rem;
		font-weight: normal;
	}

	.block01 .block_inner .inner_txt {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 20px;
	}

	.block01 .block_inner .inner_txt a {
		display: block;
		width: 270px;
		margin: 0 27.5px;
		background: #037edc;
		background: -moz-linear-gradient(left, #037edc 0%, #0067b6 100%);
		background: -webkit-linear-gradient(left, #037edc 0%,#0067b6 100%);
		background: linear-gradient(to right, #037edc 0%,#0067b6 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#037edc', endColorstr='#0067b6',GradientType=1 );
		border-radius: 20px;
		box-shadow: 3px 3px 10px 0px rgba(255,255,255,0.75) inset,-3px -3px 7px 0px rgba(0,0,8,0.8) inset;
		text-decoration: none;
	}

	.block01 .block_inner .inner_txt a:hover {
		opacity: 0.8;
	}

	.block01 .block_inner .inner_txt a.center {
		margin: 0;
	}

	.block01 .block_inner .inner_txt p {
		padding-top: 10px;
		text-align: center;
	}

	.block01 .block_inner .inner_txt p.click_txt {
		color: #FFFFFF;
		font-size: 2.5rem;
		font-weight: bold;
	}

	.block01 .block_inner .inner_txt p span {
		color: #fffd54;
	}

	.block01 .block_inner .inner_txt a.box_01 {
		margin-bottom: 30px;
		height: 107px;
	}

	.block01 .block_inner .inner_txt a.box_02 {
		height: 130px;
		line-height: 3rem;
	}

	.block01 .block_inner .inner_txt a.box_02 .single_txt {
		margin-top: 3rem;
	}

	.block00 .block_title {
		position: relative;
		display: inline-block;
		width: 100%;
		height: 72px;
		margin-bottom: 20px;
		background-color: #194882;
	}

	.block00 .block_title:before {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		margin-left: -20px;
		border: 20px solid transparent;
		border-top: 20px solid #194882;
	}

	.block00 .block_title p {
		position: relative;
		color: #FFFFFF;
		font-size: 2.5rem;
		text-align: center;
		line-height: 72px;
	}

	.block00 .block_title p span {
		margin-right: 15px;
		padding: 5px;
		color: #fffd54;
		font-size: 2rem;
		background-color: #ff0000;
	}


	.block00 .block_contents {
		position: relative;
		color: #3f3f3f;
	}

	.block00 .block_contents h2 {
		padding: 30px 0 10px 0;
		font-size:2.7rem;
		font-weight: bold;
		text-align: center;
	}

	.block00 .block_contents h2::before {
		z-index: 10;
		content: '';
		display: inline-block;
		width: 29px;
		height: 37px;
		background-image: url(../img/block00_img_03.png);
		background-size: contain;
		vertical-align: middle;
		position: absolute;
		top: 40px;
		left: 150px;
	}

	.block00 .block_contents h2::after {
		z-index: 10;
		content: '';
		display: inline-block;
		width: 29px;
		height: 37px;
		background-image: url(../img/block00_img_04.png);
		background-size: contain;
		vertical-align: middle;
		position: absolute;
		top: 40px;
		right: 150px;
	}

	.block00 .block_contents h2 span {
		color: #ff0000;
		font-size: 3.2rem;
	}

	.block00 .block_contents > p {

	}

	.block00 .block_contents .inner_box {
		display: flex;
		position: relative;
		width: 825px;
		margin: 0 auto 30px auto;
	}

	.block00 .block_contents .inner_box .inner_txt {
		width: 670px;
		box-sizing: border-box;
		border: 1px solid #000000;
		border-radius: 20px;
		padding: 30px;
		background-color: #FFFFFF;
	}

	.block00 .block_contents .inner_box .inner_txt::before {
		z-index: 10;
		content: '';
		display: inline-block;
		width: 41px;
		height: 37px;
		background-image: url(../img/block00_img_02.png);
		background-size: contain;
		vertical-align: middle;
		position: absolute;
		top: 100px;
		left: 667px;
	}

	.block00 .block_contents .inner_box .inner_txt::after {
		z-index: 10;
		content: '';
		display: inline-block;
		width: 202px;
		height: 206px;
		background-image: url(../img/block00_img_01.png);
		background-size: contain;
		vertical-align: middle;
		position: absolute;
		right: -20px;
		bottom: 0;
	}

	.block00 .block_contents .inner_box .inner_txt p {
		font-size: 1.7rem;
		font-weight: bold;
		line-height: 3.5rem;
	}

	.block00 .block_contents .link_box a {
		display: block;
		width: 670px;
		height: 60px;
		margin: 0 auto;
		background: #d81301;
		border-radius: 15px;
		box-shadow: 3px 3px 10px 0px rgba(255,255,255,0.75) inset,-3px -3px 7px 0px rgba(179,10,0,1) inset;
		color: #FFFFFF;
		font-size: 2.5rem;
		text-align: center;
		text-decoration: none;
		line-height: 60px;
	}

	.block00 .block_contents .link_box a:hover {
		opacity: 0.8;
	}

	.block00.block .block_contents {
		margin-bottom: 50px;
		padding: 20px 0 50px 0;
	}

	.block03 .block_contents h2::before,
	.block04 .block_contents h2::before {
		top: 40px;
		left: 30px;
	}

	.block03 .block_contents h2::after,
	.block04 .block_contents h2::after {
		top: 40px;
		right: 30px;
	}

	.block07.block {
		padding-bottom: 60px;
	}
}

/*------------------------------
    SP
------------------------------*/
@media screen and (max-width: 640px) {
	img {
		width: 100%;
		height: auto;
	}

	.pcOnly {
		display: none !important;
	}

	#wrapper {
		padding-bottom: 5vw;
		background-color: #c6f0ff;
		color: #3e3e3e;
	}

	.fvArea {
		background: url(../img/background_img_01.png) repeat;
	}

	.fvArea h2 {
		width: 100%;
		height:15vw;
		margin-bottom: 5%;
		background-color: #0079b7;
		color: #FFFFFF;
		font-size: 4.3vw;
		font-weight: bold;
		text-align: center;
		line-height: 15vw;
	}

	.fvArea h2 + p {
		margin: 0 3% 3% 3%;
	}

	.fvArea .inner_box {
		display: flex;
		margin: 0 3%;
	}

	.fvArea .inner_box .txt_box {
		width: 70%;
	}

	.fvArea .inner_box h3 {
		margin-bottom: 3%;
		color: #0068b7;
		font-size: 5.7vw;
		font-weight: bold;
		text-align: center;

	}

	.fvArea .inner_box p {
		color: #3f3f3f;
		font-weight: bold;
		text-align: center;
		line-height: 4.2vw;
	}

	.fvArea .inner_box p.sub_title {
		font-size: 4vw;
		background: url("../img/fv_img_02.png") no-repeat;
		background-position: center;
	}

	.fvArea .inner_box p.sub_txt {
		font-size: 2.7vw;
		background: none;
	}

	.fvArea .inner_box p.sub_txt span {
		padding: 2%;
		background-color: #0068b7;
		color: #FFFFFF;
	}

	.fvArea .inner_box > p {
		width: 30%;
	}

	.fvArea .inner_box > p img {
		position: relative;
		bottom: 0;
	}

	.block01 {
		margin-bottom: 20px;
		background-color: #FFFFFF;
	}

	.block01 .block_title {
		position: relative;
		display: inline-block;
		width: 100%;
		margin-bottom: 7%;
		background-color: #94bbd2;
	}

	.block01 .block_title:before {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		margin-left: -20px;
		border: 20px solid transparent;
		border-top: 20px solid #94bbd2;
	}

	.block01 .block_title h2 {
		padding: 2% 0;
		color: #FFFFFF;
		font-size: 6vw;
		font-weight: bold;
		text-align: center;
	}

	.block01 .block_title span {
		margin-top: -2%;
		font-size: 4.3vw;
		font-weight: normal;
	}

	.block01 .block_inner .inner_txt {
		display: flex;
		flex-wrap: wrap;
	}

	.block01 .block_inner .inner_txt a {
		display: block;
		width: 45vw;
		margin: 0 auto 3% auto;
		background: #037edc;
		background: -moz-linear-gradient(left, #037edc 0%, #0067b6 100%);
		background: -webkit-linear-gradient(left, #037edc 0%,#0067b6 100%);
		background: linear-gradient(to right, #037edc 0%,#0067b6 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#037edc', endColorstr='#0067b6',GradientType=1 );
		border-radius: 3vw;
		box-shadow: 3px 3px 10px 0px rgba(255,255,255,0.75) inset,-3px -3px 7px 0px rgba(0,0,0,0.8) inset;
		text-decoration: none;
	}

	.block01 .block_inner .inner_txt p {
		text-align: center;
	}

	.block01 .block_inner .inner_txt p.click_txt {
		padding-top: 10%;
		color: #FFFFFF;
		font-size: 3.4vw;
		font-weight: bold;
	}

	.block01 .block_inner .inner_txt p.click_box {
		width: 5%;
		margin: -5% auto 0 auto;
	}

	.block01 .block_inner .inner_txt p span {
		color: #fffd54;
	}

	.block00 {
		position: relative;
		margin: 0 3%;
		background-color: #FFFFFF;
	}

	.block00 .block_title {
		position: relative;
		display: inline-block;
		width: 100%;
		background-color: #194882;
	}

	.block00 .block_title.lines_1 {
		height: 18vw;
	}

	.block00 .block_title.lines_2 {
		height: 24vw;
	}

	.block00 .block_title:before {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		margin-left: -20px;
		border: 20px solid transparent;
		border-top: 20px solid #194882;
	}

	.block00 .block_title p {
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform : translate(-50%,-50%);
		transform : translate(-50%,-50%);
		width: 100%;
		color: #FFFFFF;
		font-size: 4.5vw;
		text-align: center;
	}

	.block00 .block_title p span {
		padding: 1%;
		color: #fffd54;
		font-size: 4vw;
		background-color: #ff0000;
	}

	.block00 .block_contents {
		padding-top: 3%;
	}

	.block00:nth-child(odd) .block_contents {

		/* box-sizing: border-box;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform : translate(-50%,-50%);
		transform : translate(-50%,-50%);
		width: 100%; */
	}

	.block00 .block_contents h2 {
		position: relative;
		margin-bottom: 3%;
		font-size: 5vw;
		font-weight: bold;
		text-align: center;
		line-height: 7vw;
	}

	.block00 .block_contents h2::before {
		z-index: 10;
		content: '';
		display: inline-block;
		width: 7vw;
		height: 15vw;
		background-image: url(../img/sp/block00_img_03.png);
		background-size: contain;
		vertical-align: middle;
		position: absolute;
		bottom: 0;
		left: 1.7%;
	}

	.block00 .block_contents h2::after {
		z-index: 10;
		content: '';
		display: inline-block;
		width: 7vw;
		height: 15vw;
		background-image: url(../img/sp/block00_img_04.png);
		background-size: contain;
		vertical-align: middle;
		position: absolute;
		bottom: 0;
		right: 1.7%;
	}

	.block00 .block_contents h2 span {
		color: #ff0000;
		font-size: 6.5vw;
	}

	.block00 .block_contents .inner_box {
		padding: 7% 3% 3% 3%;

	}

	.block00 .block_contents .inner_box > p {
		width: 37%;
		margin: 2vw auto 0 auto;
	}

	.block00 .block_contents .inner_box .inner_txt {
		position: relative;
		box-sizing: border-box;
		border: 1px solid #000000;
		border-radius: 5vw;
		padding: 5vw;
		background-color: #FFFFFF;
	}

	.block00 .block_contents .inner_box .inner_txt::before {
		z-index: 10;
		content: '';
		display: inline-block;
		width: 53px;
		height: 31px;
		background-image: url(../img/sp/block00_img_02.png);
		background-size: contain;
		vertical-align: middle;
		position: absolute;
		bottom: -7vw;
		left: 23vw;
	}

	.block00 .block_contents .inner_box .inner_txt p {
		font-size: 4.3vw;
		line-height: 8.7vw;
	}

	.block00 .block_contents .link_box a {
		display: block;
		width: 90%;
		height: 60px;
		margin: 0 auto;
		background: #d81301;
		border-radius: 15px;
		box-shadow: 3px 3px 10px 0px rgba(255,255,255,0.75) inset,-3px -3px 7px 0px rgba(179,10,0,1) inset;
		color: #FFFFFF;
		font-size: 4.3vw;
		text-align: center;
		text-decoration: none;
		line-height: 60px;
	}

	.block00.block {
		margin-bottom: 5vw;
		padding-bottom: 10vw;
	}

	.block02 .block_contents .inner_box .inner_txt::before {
		content: none;
	}

	.scroll_box{
		box-sizing: border-box;

	}

}

.block00 .block_contents .inner_box .inner_txt p span.red_maker {
	background: url(../img/background_img_02.png) repeat;
}

span.red_maker.pr_1e {
	padding-right: 1em;
}
span.red_maker.pr_2e {
	padding-right: 2em;
}
span.red_maker.pr_3e {
	padding-right: 3em;
}
span.red_maker.pr_4e {
	padding-right: 4em;
}
span.red_maker.pr_5e {
	padding-right: 5em;
}
span.red_maker.pr_6e {
	padding-right: 6em;
}
span.red_maker.pr_13e {
	padding-right: 13em;
}
span.red_maker.pr_14e {
	padding-right: 14em;
}
span.red_maker.pr_15e {
	padding-right: 15em;
}
span.red_maker.pr_16e {
	padding-right: 16em;
}
span.red_maker.pr_17e {
	padding-right: 17em;
}
span.red_maker.pr_18e {
	padding-right: 18em;
}

/*------------------------------
TITLE PC
------------------------------*/
@media screen and (min-width:641px){
    .headinfo{
        padding: 5px 0 5px 5px;
		width: 920px;
		margin: auto;
    }
}

/*------------------------------
TITLE SP
------------------------------*/
@media screen and (max-width:640px){
    .headinfo{
        padding: 5px 0 5px 5px;
    }
    .headinfo .shinoken_logo{
        height: 10.5vw;
        width: auto;
        z-index: 1;
    }
}

/*------------------------------
footer PC
------------------------------*/
@media screen and (min-width:641px) {
	#fotter {
		/* margin-top: 100px; */
		background: #002D72;
		color: #FFFFFF;
		font-size: 1.8rem;
		text-align: center;
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
}

/*------------------------------
footer SP
------------------------------*/
@media screen and (max-width:640px) {
	#fotter {
		/* margin-top: 10vw; */
		background: #002D72;
		color: #FFFFFF;
		font-size: 2.5vw;
		text-align: center;
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
}