@charset "UTF-8";
/* CSS Document */


@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@700;900&display=swap');



html {
 margin-top: 0px !important;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, pre,
abbr, address, cite, code,
del, dfn, img, ins, kbd, q, samp,
small, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック","メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.6em;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
	color: #333;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 1px;
}

em {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック","メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #333;
	font-size: 15px;
	font-style: italic;	
}

body {
    line-height:1;
	-webkit-text-size-adjust: 100%;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
nav ul {
    list-style:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	text-decoration: none;
	color: #333;
}
/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
   /* border-collapse:collapse;*/
    border-spacing:0;
}
/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
    vertical-align:middle;
}

li {
	list-style: none;	
}

img {
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

/*end reset*/

/* ----------------------------------------------------
    text
---------------------------------------------------- */

.serif {
	font-family: 'Noto Serif JP', "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝","ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.sans-serif {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック","メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.lato {
	font-family: 'Lato', sans-serif;
}

.tc {text-align: center !important;}
.tr {text-align: right !important;}
.tl {text-align: left !important;}

.bold {font-weight:bold;}
 
.font10{font-size:10px !important;}
.font11{font-size:11px !important;}
.font12{font-size:12px !important;}
.font13{font-size:13px !important;}
.font14{font-size:14px !important;}
.font15{font-size:15px !important;}
.font16{font-size:16px !important;}
.font17{font-size:17px !important;}
.font18{font-size:18px !important;}
.font19{font-size:19px !important;}
.font20{font-size:20px !important;}
.font21{font-size:21px !important;}
.font22{font-size:22px !important;}
.font23{font-size:23px !important;}
.font24{font-size:24px !important;}
.font25{font-size:25px !important;}
.font26{font-size:26px !important;}
.font27{font-size:27px !important;}
.font28{font-size:28px !important;}
.font29{font-size:29px !important;}
.font30{font-size:30px !important;}
.font32{font-size:32px !important;}
.font34{font-size:34px !important;}
.font36{font-size:36px !important;}
.font40{font-size:40px !important;}
 
/* ----------------------------------------------------
    float
---------------------------------------------------- */
.fr {float: right !important;}
.fl {float: left !important;}
 
.clear {clear: both;}
 
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
 
.clearfix {
  min-height: 1px;
}
 
* html .clearfix {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}
 

/* ----------------------------------------------------
    margin
---------------------------------------------------- */
 
.mt00 { margin-top:  0px !important; }
.mt05 { margin-top:  5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }
.mt60 { margin-top: 60px !important; }
.mt80 { margin-top: 80px !important; }
 
.mr00 { margin-right:  0px !important; }
.mr05 { margin-right:  5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr50 { margin-right: 50px !important; }
.mr60 { margin-right: 60px !important; }
.mr65 { margin-right: 65px !important; }
 
.mb00 { margin-bottom:  0px !important; }
.mb05 { margin-bottom:  5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb55 { margin-bottom: 55px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb76 { margin-bottom: 76px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb100 { margin-bottom: 100px !important; }
 
.ml00 { margin-left:  0px !important; }
.ml05 { margin-left:  5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
 
/* ----------------------------------------------------
    padding
---------------------------------------------------- */
 
.pt00 { padding-top:  0px !important; }
.pt05 { padding-top:  5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt80 { padding-top: 80px !important; }
 
.pr00 { padding-right:  0px !important; }
.pr05 { padding-right:  5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.pr35 { padding-right: 35px !important; }
.pr40 { padding-right: 40px !important; }
 
.pb00 { padding-bottom:  0px !important; }
.pb05 { padding-bottom:  5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }
 
.pl00 { padding-left:  0px !important; }
.pl05 { padding-left:  5px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.pl35 { padding-left: 35px !important; }
.pl40 { padding-left: 40px !important; }






/* ----------------------------------------------------

    common

---------------------------------------------------- */


/* IE10以前でのみ有効 */
html {
height: 100%\9;
overflow: hidden\9;
}
body {
height: 100%\9;
overflow: scroll\9;
}
/* IE10以降でのみ有効 */
@media all and (-ms-high-contrast: none) {
	html {
		height: 100%;
		overflow: hidden;
	}
	body {
		height: 100%;
		overflow-y: scroll;
		overflow-x: hidden;
	}
}

.sec_in1000 {
	max-width: 1000px;
	width: 90%;
	margin: auto;

}

.sec_in1200 {
	max-width: 1200px;
	width: 90%;
	margin: auto;

}

.sec_in1400 {
	max-width: 1400px;
	width: 90%;
	margin: auto;

}

.overflow-h {overflow: hidden;}

.object-fit-img {
  object-fit: contain;
  font-family: 'object-fit: contain;';
}

body {
	overflow-x: hidden;
	transition: .3s;
	position: relative;
}

#page_top{
	position: fixed;
	right: 10px;
	bottom: -200px;
	z-index: 8000;
	transition: .3s;
}
#page_top a{
	position: relative;
	transition: .3s;
	width: 50px;
	height: 50px;
	background: #b20022;
	box-sizing: border-box;
	text-align: center;
	padding-top: 7px;
	display: block;
	border-radius: 4px;
}

#page_top a img {
	transition: .3s;
}

#page_top a:hover img {
	
}

#page_top.pt_up {
	bottom: 20px;
	transition: .3s;
}


/* ----------------------------------------------------

    header

---------------------------------------------------- */



header {position: relative;}

.header_in {
	position: absolute;
	left: 0;
	right: 0;
	top: 40px;
	overflow: hidden;
	width: 95%;
	margin: auto;
	box-sizing: border-box;
	z-index: 10;
}

.header_left {
	float: left;
	width: 160px;
}

.header_main {
	height: 780px;
	background-image: url("images/header/main_bg.png");
	background-repeat: no-repeat;
	background-size: 1920px;
	background-position: center;
	position: relative;
}

.header_main h2 {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 1124px;
	width: 70%;
	transform: scale(0);
}


.anime00.load {
	animation: show 0.7s ease-out;
	transform: scale(1);
	transform-origin: bottom;
}

@keyframes show{
  0% {
    transform: scale(0);
	
  }
	
  70% {
    transform: scale(1.2);
  }
	
  85% {
    transform: scale(0.8);
  }
 
  100% {
    transform: scale(1);
  }
}

.page_head {
	box-sizing: border-box;
	padding: 120px 0 90px;
	background: #f5f5f5;
}

.page_head h1 {
	text-align: center;
	font-size: 30px;
	letter-spacing: 3px;
	line-height: 1.3;
	color: #fff;
	display: block;
	box-sizing: border-box;
	padding: 12px 30px;
	background: #af1b3c;
	font-weight: 500;
	border-radius: 5px;
	max-width: 500px;
	width: 100%;
	margin: auto;
}



/* ----------------------------------------------------

    top

---------------------------------------------------- */



.top01 {
	padding: 100px 0;
	background-image: url("images/top/bg02.png");
	background-repeat: repeat;
	background-size: 39px;
	background-position: left top;
}

.top01 .sec_in {
	background-image: url("images/top/bg02-1.png"), url("images/top/bg02-2.png");
	background-repeat: no-repeat, no-repeat;
	background-size: 273px, 376px;
	background-position: 5% center, right center;
	width: 94%;
	margin: auto;
}

.top01_in p {
	font-size: 19px;
	font-weight: 500;
	letter-spacing: 3px;
	line-height: 1.7;
	text-align: center;
	margin-bottom: 40px;
}

.top01_in h2 {
	text-align: center;
	transform: scale(0);
	max-width: 920px;
	width: 100%;
	margin: 0 auto 60px;
}

.top01_in h2.show {
	animation: show 0.7s ease-out;
	transform: scale(1);
	transform-origin: bottom;
}

.btn01 a {
	display: block;
	max-width: 600px;
	width: 100%;
	margin: auto;
	background: #af1b3c;
	box-sizing: border-box;
	padding: 35px;
	border-radius: 50px;
	color: #fff;
	text-align: center;
	font-size: 18px;
	letter-spacing: 3px;
	font-weight: 500;
	line-height: 1.2;
	transition: .3s;
}

.btn01 a:hover {
	background: #005b9d;
}



.btn01 a img {
	float: right;
}

.btn02 a i {
	float: left;
	font-size: 22px;
	color: #fff;
}

.top01 .sec_in1200 {
	position: relative;
}

.top01 .sec_in1200 h4 {
	position: absolute;
	display: block;
	z-index: 10;
	top: 30px;
	right: 5%;
}


.top02 {
	padding: 40px 0 100px;
	background-image: url("images/top/bg03.png");
	background-repeat: no-repeat;
	background-size: 1920px;
	background-position: center top;
}

.top02 .sec_in {
	background-image: url("images/top/bg03-1.png"), url("images/top/bg03-2.png");
	background-repeat: no-repeat, no-repeat;
	background-size: 306px, 304px;
	background-position: left center, right center;
	width: 94%;
	margin: auto;
}

.top02_in h2 {
	text-align: center;
	transform: scale(0);
	max-width: 918px;
	width: 100%;
	margin: auto;
}

.top02_in h2.show {
	animation: show 0.7s ease-out;
	transform: scale(1);
	transform-origin: bottom;
}

.top02_in p {
	font-size: 19px;
	font-weight: 500;
	letter-spacing: 3px;
	line-height: 1.7;
	text-align: center;
	margin-bottom: 30px;
}

.top02 .sec_in1200 {
	position: relative;
}

.top02 .sec_in1200 h4 {
	position: absolute;
	display: block;
	z-index: 10;
	top: 100px;
	right: 7%;
}

.top03 {
	padding: 80px 0;
}

.top03 h2 {
	text-align: center;
	margin-bottom: 30px;
}

.top03_in {
	overflow: hidden;
	max-width: 670px;
	width: 100%;
	margin: auto;
}

.top03_in h3 {
	transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: scale(0);
	transform-origin: center;
    opacity: 0;
}

.top03_in h3.show {
	transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: scale(1);
    opacity: 1;
}

.top03_in h3:nth-of-type(2) {transition-delay: .1s;}
.top03_in h3:nth-of-type(3) {transition-delay: .2s;}
.top03_in h3:nth-of-type(4) {transition-delay: .3s;}
.top03_in h3:nth-of-type(5) {transition-delay: .4s;}
.top03_in h3:nth-of-type(6) {transition-delay: .5s;}

.top03_in h3 a {
	display: block;
	float: left;
	max-width: 80px;
	width: 12%;
	margin: 0 2.33%;
	transition: .3s;
}

.top03_in h3 a:hover {
	transform: scale(0.9);
}


.anime04 {
	display: block;
	margin: 0;
	animation: fluffy1 3s ease infinite;
}

.anime05 {
	display: block;

	margin: 0;
	animation: fluffy1 2.5s ease infinite;
}

@keyframes fluffy1 {
	0% { transform:translateY(0) }
	5% { transform:translateY(0) }
	10% { transform:translateY(0) }
	20% { transform:translateY(-14px) }
	25% { transform:translateY(0) }
	30% { transform:translateY(-14px) }
	50% { transform:translateY(0) }
	100% { transform:translateY(0) }
}

.remodal {
	border-radius: 10px;
	padding: 55px !important;
}


.remodal h3 {
	display: block;
	text-align: left;
	box-sizing: border-box;
	padding: 10px 15px;
	line-height: 1.1;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 3px;
	margin-bottom: 10px;
	background: #111;
}

.remodal dl {
	display: table;
	width: 100%;
	padding-bottom: 10px;
}

.remodal dt {
	display: table-cell;
	width: 220px;
	box-sizing: border-box;
	padding: 8px 10px;
	text-align: center;
	color: #fff;
	font-size: 15px;
	background: #af1b3c;
	line-height: 1;
	vertical-align: middle;
	border-radius: 5px;
}

.remodal2 dt {
	width: 100px;
	font-size: 16px;
	font-weight: 500;
}

.remodal .entry {
	background: #005b9d;
}

.remodal .taishou {
	background: #ec9500;
}

.remodal dd {
	display: table-cell;
	box-sizing: border-box;
	padding-left: 14px;
	font-size: 15px;
	vertical-align: middle;
	text-align: left;
}

.remodal2 dd {
	font-size: 14px;
}

.remodal p {
	text-align: left;
	font-size: 16px;
	letter-spacing: 1px;
	line-height: 1.6;
	font-weight: 500;
}

.remodal p strong {
	padding-bottom: 4px;
	display: inline-block;
}

.remodal .text2 {
	font-size: 14px;
	line-height: 1.4;
	font-weight: 400;
}

.red {
	color: #af1b3c;
	font-weight: 600;
}

.remodal p a {
	text-decoration: underline;
	color: #2A58BE;
	font-weight: 600;
	padding: 0 3px;
}

.remodal p a:hover {
	color: #af1b3c;
}

.remodal h3 {
	display: block;
	box-sizing: border-box;
	padding: 8px 10px;
	text-align: center;
	color: #fff;
	background: #af1b3c;
	border-radius: 5px;
	margin-bottom: 10px;
	margin-top: 25px;
	font-size: 18px;
}



.remodal ol {
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
}
.remodal ol li {
 	position: relative;
	line-height: 1.5em;
	font-size: 15px;
	margin-bottom: 10px;
	text-align: left;
	border-bottom: solid 1px #af1b3c;
	padding: 5px 0 5px 35px;
	font-weight: 500;
}

.remodal ol li:before{
  /* 以下数字をつける */
  position: absolute;
  counter-increment: number;
  content: counter(number);
  /*以下数字のデザイン変える*/
  display:inline-block;
  vertical-align: middle;
  background: #af1b3c;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  font-size: 15px;
  left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
  width: 25px;
	padding: 5px 0;
  text-align: center;
  /*以下 上下中央寄せのため*/
  /*top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);*/
}

.modal_in {
	margin-top: 30px;
	box-sizing: border-box;
	border: solid 1px #ccc;
	padding: 20px;
}

.modal_in h4 {
	font-size: 18px;
	line-height: 1.3;
	margin-bottom: 10px;
	text-align: left;
	font-weight: 500;
}

.modal_in li {
	font-size: 13px;
	line-height: 1.4;
	list-style: disc;
	text-align: left;
	margin-bottom: 6px;
	margin-left: 1em;
}




/* ----------------------------------------------------

    footer

---------------------------------------------------- */


footer {
	background: #005b9d;
	padding: 50px 0;
}

.footer_in {
	overflow: hidden;
	width: 90%;
	margin: auto;
}

.footer_left {
	float: left;
	max-width: 620px;
	width: 58%;
}

.footer_left h3 {
	margin-bottom: 25px;
}

.footer_left p {
	font-size: 15px;
	line-height: 1.6;
	color: #fff;
}

.footer_left p a {
	font-size: 15px;
	color: #fff;
}

.footer_right {
	float: right;
	max-width: 310px;
	width: 42%;
}


.copy {
	font-size: 11px;
	letter-spacing: 2px;
	color: #fff;
	text-align: right;
	padding-top: 120px;
}




/* ----------------------------------------------------

    notsubject

---------------------------------------------------- */

.notsubject01 {
	padding: 100px 0;
}

.notsubject01_in {
	max-width: 600px;
	width: 100%;
	margin: 0 auto 60px;
	padding: 40px;
	box-sizing: border-box;
	border: solid 1px #ccc;
}

.notsubject01_in li {
	list-style: disc;
	margin-left: 1em;
	line-height: 1.3;
	margin-bottom: 8px;
	font-size: 14px;
}





.fjoy_bnr {
	max-width: 740px;
	width: 100%;
	margin: 0 auto 50px;
}

.fjoy_bnr a {
	display: block;
	transition: .3s;
}

.fjoy_bnr a:hover {
	transform: scale(0.95);
}


/* ----------------------------------------------------

    メディアクエリ

---------------------------------------------------- */



.max1366 {display: none !important;}
.min1367 {display: block !important;}
.max1279 {display: none !important;}
.min1280 {display: block !important;}
.max1199 {display: none !important;}
.min1200 {display: block !important;}
.max991 {display: none !important;}
.min992 {display: block !important;}
.max850 {display: none !important;}
.min851 {display: block !important;}
.max767 {display: none !important;}
.min768 {display: block !important;}
.max567 {display: none !important;}
.min568 {display: block !important;}
.max414 {display: none !important;}
.min415 {display: block !important;}



@media screen and ( min-width:1921px ){
	.header_main {background-size: cover;}
}


@media screen and ( max-width:1680px ){
	

}

@media screen and ( max-width:1536px ){
	.header_main {height: 700px; background-size: 1760px;}
	.top01 .sec_in {background-position: -4% center, 111% center; width: 100%;}
}

@media screen and ( max-width:1366px ){
	.max1366 {display: block !important;}
	.min1367 {display: none !important;}
	
	.header_main {height: 620px; background-size: 1550px;}
	.header_in {top: 20px; width: 97%;}
	.header_left {width: 120px;}
	
	.top01 {padding: 70px 0;}
	.top01_in {width: 62%; margin: auto;}
	.top01 .sec_in {background-size: 220px, 300px; background-position: -1% center, 108% center;}
	.top01_in p {font-size: 17px; letter-spacing: 2px; margin-bottom: 20px;}
	.top01 .sec_in1200 h4 {top: 0; right: 11%;}
	.btn01 a {max-width: 520px; padding: 25px 35px; font-size: 17px;}
	.top01_in h2 {margin-bottom: 50px;}
	.top02_in h2 {max-width: 700px; width: 90%; margin: auto;}
	.top02_in p {font-size: 17px; letter-spacing: 1px; line-height: 1.5;}
	.top02 .sec_in {background-size: 240px, 240px;}
	.top02 .sec_in1200 h4 {width: 150px; top: 50px; right: 10%;}
	.top02 {padding: 40px 0 70px; background-size: 1500px;}
}

@media screen and ( max-width:1279px ){
	.max1279 {display: block !important;}
	.min1280 {display: none !important;}
	
}

@media screen and ( max-width:1199px ){
	.max1199 {display: block !important;}
	.min1200 {display: none !important;}
	
	.header_main {height: 550px; background-size: 1380px;}
	
	.top01 .sec_in {background-size: 190px, 280px; background-position: -4% center, 112% center;}
	.top01 .sec_in1200 h4 {top: 10px; right: 5%; width: 140px;}
	.top02 .sec_in1200 h4 {right: 5%;}
}

@media screen and ( max-width:991px ){
	.max991 {display: block !important;}
	.min992 {display: none !important;}
	
	.header_main {height: 480px; background-size: 1190px;}
	
	.top01_in p {font-size: 15px; letter-spacing: 1px;}
	.top01 .sec_in1200 h4 {top: 10px; right: 5%; width: 120px;}
	.top02 .sec_in1200 h4 {width: 140px; top: 50px; right: 0;}
	.top02 .sec_in {background-size: 180px, 170px;}
	
	footer {padding-bottom: 100px;}	
	.footer_left {float: none;max-width: 620px;width: 90%;margin: 0 auto 30px;padding-top: 20px;text-align: center;}
	.footer_left p {font-size: 12px;}
	.footer_right {float: none;max-width: 310px;width: 90%;margin: auto;}
	.footer_right h3 {text-align: center;}
	.copy {text-align: center; padding-top: 20px;}
	
}

@media screen and ( max-width:850px ){
	.top02 .sec_in1200 h4 {width: 130px; top: 50px; right: -20px;}
}

@media screen and ( max-width:767px ){
	.max767 {display: block !important;}
	.min768 {display: none !important;}
	
	.header_main {height: 380px; background-size: 950px;}
	
	.top01 .sec_in {background-image: none;}
	.top01_in {width: 90%;}
	.top01 .sec_in1200 h4 {top: 60px; right: -4%; width: 100px;}
	.btn01 a {max-width: 440px; width: 90%;}
	.top01_in p {margin-bottom: 40px;}
	.top02 {background-size: 1350px;}
	.top02 .sec_in {background-image: none;}
	.top02_in p {font-size: 16px;}
	.top02 .sec_in1200 h4 {width: 110px; top: 30px; right: -40px;}
	
	.remodal {padding: 50px 35px !important;}
	.remodal p strong {font-size: 1.3em !important;}
	.remodal .text2 {font-size: 13px;}
	.remodal ol li {font-size: 14px; line-height: 1.3;}
	.remodal h3 {font-size: 17px;}
}

@media screen and ( max-width:650px ){
	.top01 .sec_in1200 h4 {top: 46px;}
	.top01_in p {font-size: 14px;}
}


@media screen and ( max-width:567px ){	
	.max567 {display: block !important;}
	.min568 {display: none !important;}
	
	.header_main h2 {width: 90%;}
	
	.remodal dl {margin-bottom: 10px;}
	.remodal dt {width: 100%; display: block; margin-bottom: 10px;}
	.remodal dd {width: 100%; display: block; padding-left: 0;}
	.remodal p strong {font-size: 1.2em !important;}
	
	.top01_in p br {display: none;}
	.top01 .sec_in1200 h4 {top: 60px; right: -3%; width: 80px;}
	.top01_in p {margin-bottom: 50px;}
	.top02 .sec_in1200 h4 {width: 110px; top: 10px; right: -35px;}
	
	.footer_left {float: none;max-width: 270px;}
	.footer_nav li {float: none;margin-right: 0;}
	
	
}

@media screen and ( max-width:480px ){
	.top02 .sec_in1200 h4 {width: 90px; top: 0; right: -30px;}
	.top03 {padding: 50px 0;}
	.page_head h1 {font-size: 24px; letter-spacing: 1px;}
	.page_head h2 img {width: 240px;}
	.page_head {padding: 90px 0 50px;}
	.notsubject01 {padding: 40px 0 60px;}
	.notsubject01 p {text-align: left !important;}
	.notsubject01_in {padding: 20px; margin: 0 auto 40px;}
}

@media screen and ( max-width:414px ){
	.max414 {display: block !important;}
	.min415 {display: none !important;}
	
	.header_main {background-image: url(images/header/main_bg_sp.png); padding-bottom: calc(1300 / 1000 * 100%); height: 0; background-size: cover;}
	.header_left {width: 120px; float: none; margin: auto; padding-top: 30px;}
	.header_main h2 {bottom: 20%;}
	
	.top01_in {width: 100%;}
	.top01 .sec_in1200 h4 {top: 70px;}
	.top01_in p {margin-bottom: 20px;}
	.top01 {padding: 60px 0;}
	.top01_in h2 {margin-bottom: 30px;}
	.btn01 a {padding: 17px 30px; font-size: 15px;}
	.btn01 a img {width: 15px;}
	.top01 {background-size: 29px;}
	.top02 {background-size: 1300px; padding: 40px 0 50px;}
	.top02_in p {font-size: 14px;}
	.top02 .sec_in {width: 100%;}
	.top02 .sec_in1200 h4 {width: 90px; top: -10px; right: 10px;}
	.top02_in h2 {margin-bottom: 10px; width: 100%;}
	.top03 {padding: 50px 0 30px;}
	.top03_in {max-width: 240px;}
	.top03_in h3 a {width: 23.3%; margin: 0 5% 20px; max-width: 60px;}
	
	.remodal {padding: 50px 25px 30px !important;}
	.modal_in li {font-size: 12px;}
	.modal_in {padding: 15px;}
	
	.footer_left h3 img {width: 100px;}
	footer {padding: 35px 0 80px;}
	
	
}

@media screen and ( max-width:375px ){
	.sec_in1400 {width: 94%;}
	.guest_box h4 {font-size: 12px; padding: 8px 3px;}
	
}

@media screen and ( max-width:325px ){
	.top01 .sec_in1200 h4 {top: 87px; width: 60px;}
	.top02 .sec_in1200 h4 {width: 80px; top: -15px; right: 10px;}
}














