@charset "utf-8";
/* CSS Document */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, 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 {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

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; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

body {
  font-size: 14px;
  line-height: 1.0;
  -webkit-text-size-adjust: 100%;
  background-color:#b8eef2;

	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
}
h1{
	letter-spacing: 2px;
	font-size:20px;
}

h3{
	border-style: solid;
	border-top-color:#c0c0c0;
	border-right-color:#000080;
	border-bottom-color:#fccf03;
	border-left-color:#03a5fc;
	border-width:1px 1px 5px 10px;
	margin: 0px 0px 0px 0px;
	padding: 20px 15px 15px 20px;
	padding-left: 13px;
	clear:left;
        font-size:2.1vw;
        rt:0.4vw;
        background-color: #03a5fc;
        color: #ffffff;
}

ruby[data-ruby]
{
    position: relative;
    font-color:#ffffff;
}
ruby[data-ruby]::before
{
    content: attr(data-ruby);
    position: absolute;
    line-height: 100%;
    text-align: center;
    left: -3em;
    right: -3em;
    transform-origin: bottom center;
    /* ルビの文字サイズを親文字に対する比率で指定 */
    transform: scale(0.2);
    /* 100%を越える部分が親文字とルビとのスペースになる。単位は親文字に対する比率 */
    bottom: 105%;
}

#navi2{
	margin: 5px 0px 5px 10px;
}

#main2{
	width: 88vw;
	margin: 0px 0px 0px 0px;
	background-color: #;
	float: left;
	padding-left:10px;
}

#container2{
	background-color: #ffffff;
	border: solid 0px #999;
}
a {
  color: #ffffff;
  text-decoration: underline; }

a:visited {
}

a:hover {
  text-decoration: none;
  opacity: 0.7;
}

a:focus {
  text-decoration: none;
  opacity: 0.7;
}

a:active {
  text-decoration: none;
  opacity: 0.7;
}

/* fontsize */

.text10 {
  font-size: 71.4285714286%; }

.text11 {
  font-size: 78.5714285714%; }

.text12 {
  font-size: 85.7142857143%; }

.text13 {
  font-size: 92.8571428571%; }

.text14 {
  font-size: 100%; }

.text15 {
  font-size: 107.1428571429%; }

.text16 {
  font-size: 114.2857142857%; }

.text17 {
  font-size: 121.4285714286%; }

.text18 {
  font-size: 128.5714285714%; }

.text19 {
  font-size: 135.7142857143%; }

.text20 {
  font-size: 142.8571428571%; }

.text21 {
  font-size: 150%; }

.text22 {
  font-size: 157.1428571429%; }

.text23 {
  font-size: 164.2857142857%; }

.text24 {
  font-size: 171.4285714286%; }

.text25 {
  font-size: 178.5714285714%; }

.text26 {
  font-size: 185.7142857143%; }

ul.inner li,
td.inner{
	font-size:100% !important;
}


.bold{
	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
}

/* image */

img{
	vertical-align:bottom;
	line-height:1.0;
}
.clear{
	clear:both;
}

section,
.clearfix,
.fbox,
#contents,
#column,
.item-wrap{
	display: inline-block;
}
* html section,
* html .clearfix,
* html .fbox,
* html #contents,
* html #column,
* html .item-wrap{
	height: 1%;
}

section,
.clearfix,
.fbox,
#contents,
#column,
.item-wrap{
	display: block;
}

/* float */

.fr{
	float:right;
}

.fl{
	float:left;
}

.img_r{
	float:right;
	margin:0 0 15px 15px;
}
.img_l{
	float:left;
	margin:0 15px 15px 0;
}

.img_l + .img_r{
	margin-left:0;
}

.img_r + .img_l{
	margin-right:0;
}

.img_l .caption,
.img_r .caption{
	text-align:center;
	margin-top:5px;
        font-size: 92.8571428571%;
}


.float_text{
	overflow:hidden;
}




ul.fbox li{
	float:left;
	display:inline;
}

.in-block{
	letter-spacing:-.40em;
}

.in-block li,
.in-block dt,
.in-block dd{
	display:inline-block;
	*display:inline;
	*zoom:1;
	letter-spacing:normal;
	vertical-align:top;
}
#contents{
	position:relative;
	overflow:hidden;
	margin-bottom:30px;
}
@media screen and (min-width: 1020px) {
#contents{
	margin-left:230px;
}
}
@media screen and (max-width: 1019px) {
#contents{
	padding-top:30px;
	margin-bottom:50px;
}

}

.frame{
	position:relative;
	max-width:930px;
	margin:0 auto;
}
.frame2{
	position:relative;
	max-width:970px;
	margin:0 auto;
}

.frame:after,
.frame2:after{content: ""; display: block; clear: both;}
.oldie .frame,
.oldie .frame2{ zoom: 1; }

@media screen and (max-width: 1199px) {

#contents .frame{
	margin:0 3%;
}

}



/* ==========================================================================
   home-p
   ========================================================================== */

/*
===== top =====
*/

#home-top{
	background:url(../image/himejikou.png) center no-repeat;
        background-size:cover;
	position:relative;
	padding:25px 0 1px 0;
        margin-top:0vw;
	margin-bottom:0px;
        width:80vw;
        height:69vw;
}

@media screen and (max-width: 950px) {
#home-top{
        background:url(../image/haku.png) center no-repeat;
        margin-top:0vw;
	margin-bottom:0px;
        width:1vw;
        height:3vw;      
}
#home-top2{
	background:url(../image/himejikou.png) center no-repeat;
        background-size:cover;
	position:relative;
	padding:25px 0 1px 0;
        margin-top:3vw;
	margin-bottom:0px;
        width:80vw;
        height:69vw;
}


}

@media screen and (max-width: 650px) {
#home-top{
        background:url(../image/haku.png) center no-repeat;
        margin-top:0vw;
	margin-bottom:0px;
        width:2vw;
        height:3vw;      
}
#home-top2{
	background:url(../image/himejikou.png) center no-repeat;
        background-size:cover;
	position:relative;
	padding:25px 0 1px 0;
        margin-top:5vw;
	margin-bottom:0px;
        width:80vw;
        height:69vw;
}


}

@media screen and (max-width: 530px) {
#home-top{
        background:url(../image/haku.png) center no-repeat;
        margin-top:0vw;
	margin-bottom:0px;
        width:2vw;
        height:3vw;      
}
#home-top2{
	background:url(../image/himejikou.png) center no-repeat;
        background-size:cover;
	position:relative;
	padding:25px 0 1px 0;
        margin-top:7vw;
	margin-bottom:0px;
        width:80vw;
        height:69vw;
}


}

@media screen and (max-width: 400px) {
#home-top{
        background:url(../image/haku.png) center no-repeat;
        margin-top:0vw;
	margin-bottom:0px;
        width:2vw;
        height:3vw;      
}
#home-top2{
	background:url(../image/himejikou.png) center no-repeat;
        background-size:cover;
	position:relative;
	padding:25px 0 1px 0;
        margin-top:9vw;
	margin-bottom:0px;
        width:80vw;
        height:69vw;
}


}


@media screen and (max-width: 350px) {
#home-top{
        background:url(../image/haku.png) center no-repeat;
        margin-top:0vw;
	margin-bottom:0px;
        width:2vw;
        height:3vw;      
}
#home-top2{
	background:url(../image/himejikou.png) center no-repeat;
        background-size:cover;
	position:relative;
	padding:25px 0 1px 0;
        margin-top:15vw;
	margin-bottom:0px;
        width:80vw;
        height:69vw;
}


}

@media screen and (max-width: 320px) {
#home-top{
        background:url(../image/haku.png) center no-repeat;
        margin-top:0vw;
	margin-bottom:0px;
        width:2vw;
        height:3vw;      
}
#home-top2{
	background:url(../image/himejikou.png) center no-repeat;
        background-size:cover;
	position:relative;
	padding:25px 0 1px 0;
        margin-top:32vw;
	margin-bottom:0px;
        width:80vw;
        height:69vw;
}


}



/* menu */
#home-top .top-menu{
	margin:0px 45px 135px 0;
	text-align:right;
	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
	color:#2a305c;
  font-size: 107.1428571429%;
}

@media screen and (max-width: 1500px) {
#home-top .top-menu{
	margin-bottom:50px;
}
}
@media screen and (max-width: 1019px) {
#home-top{
	margin-bottom:30px;
}
#home-top .top-menu{
	margin-bottom:30px;
}
}

#home-top .top-menu li{
	display:inline-block;
	margin-right:15px;
}
#home-top .top-menu li:after{
	content:"|";
	display:inline-block;
}
#home-top .top-menu li:last-child{
	margin-right:0;
}
#home-top .top-menu li:last-child:after{
	display:none;
}

#home-top .top-menu a{
	color:#2a305c;
	display:inline-block;
	margin-right:15px;

}
#home-top .top-menu li:last-child a{
	margin-right:0;
}


@media screen and (max-width: 767px) {
#home-top .top-menu{
	margin:0px 5% 30px 0;
  font-size: 75.7142857143%;
}
#home-top .top-menu li{
	margin-right:5px;
}
#home-top .top-menu a{
	margin-right:5px;

}

}
@media screen and (max-width: 480px) {
#home-top .top-menu{
	margin-bottom:20px;
}

#home-top .top-menu li{
	display:block;
	margin:0 0 5px 0;
}
#home-top .top-menu li:after{
	display:none;
}

}


/* middle */

#home-top .middle{
	margin-left:250px;
	min-height:413px;
}

#home-top .middle-inner{
	max-width:793px;
	margin:0 auto;
}

@media screen and (max-width: 1019px) {
#home-top .middle{
	margin:0 4% 30px 4%;
	min-height: inherit;
}
#home-top .middle-inner{
	max-width:inherit;
}

}

@media screen and (max-width: 479px) {

#home-top h2{
	font-family:"游ゴシック",Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
        font-size:54px;
	line-height:2.1;
        margin-left:26%;
	margin-bottom:0px;
	color:transparent; 
	letter-spacing: 10px;

}
#home-top .subcopy{
	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
	color:transparent; 
	font-size:228%;
        margin-left:35%;
	margin-bottom:10px;

}
}
@media screen and (min-width: 479px) {
#home-top h2{
	font-family:"游ゴシック",Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
        font-size:0.1px;
	line-height:2.1;
        margin-left:26%;
	margin-bottom:0px;
	color:transparent; 
	letter-spacing: 10px;

}
#home-top .subcopy{
	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
	color:transparent; 
	font-size:1%;
        margin-left:35%;
	margin-bottom:10px;

}
}




@media screen and (max-width: 780px) {
#home-top h2{
	font-size:75px;
}
#home-top .subcopy{
	font-size:150%;
}
}
@media screen and (max-width: 680px) {
#home-top h2{
	font-size:60px;
}
#home-top .subcopy{
	font-size:145%;
}
}
@media screen and (max-width: 580px) {
#home-top h2{
	font-size:135px;
}
#home-top .subcopy{
	font-size:160%;
}
}
@media screen and (max-width: 480px) {
#home-top h2{
	font-size:188px;
}
#home-top .subcopy{
	font-size:190%;
}
}
@media screen and (min-width: 479px) {
#home-top h2{
	font-size:38px;
}
#home-top .subcopy{
	font-size:9%;
}
}






/* menu */


#home-top .menu-inner{
	max-width:992px;
	padding-left:54px;
	margin:0 auto;
        margin-top: 15px;
}


#home-top .menu-inner:after{content: ""; display: block; clear: both;}
.oldie #home-top .menu-inner{ zoom: 1; }



@media screen and (min-width: 1020px) {
#home-top .menu{
	margin-left:165px;
}
}
@media screen and (max-width: 1260px) {
#home-top .menu{
	margin-right:7px;
}

}


@media screen and (max-width: 1019px) {
#home-top .menu-inner{
	padding-left:55px;
	margin:0 2%;
	max-width:inherit;
}

}

#home-top .menu .gr{
	float:left;
	position:relative;
	margin-right:7px;
	margin-bottom:12vw;
	background:#;
}
#home-top .menu .group:last-child{
	margin-right:0;
}
}

@media screen and (max-width: 1260px) {

#home-top .menu .gr{
	width:165px;
	margin-right:4%;
}
#home-top .menu .gr img{
	max-width:100%;
	height:auto;
}


}


@media screen and (max-width: 768px) {

#home-top .menu .gr{
	width:135px;
	margin-right:6%;
}
#home-top .menu .gr img{
	max-width:100%;
	height:auto;
}


}

@media screen and (max-width: 468px) {

#home-top .menu .gr{
	width:96px;
        height:auto;
	margin-right:13%;
}
#home-top .menu .gr img{
	max-width:100%;
	height:auto;
}
}


@media screen and (max-width: 350px) {
#home-top .menu .gr{
	width:85px;
	margin-right:4%;
}
#home-top .menu .group:nth-child(5){
	clear:both;
}

#home-top .menu .group:nth-child(5){
	float:right;

}

}

#home-top .menu a{
	display:block;
	text-decoration:none;
        text-shadow: 0 0 1px #000010;
	margin-bottom:10px;
	padding:5px 5px 7px 7px;
        background-repeat: no-repeat;
        background-position: 100% 0;
        background-size: 200% auto;
        background-image: linear-gradient(to right,
        #9ef7f7 0%,
        #79e2ed 50%,
        #e6f7ec 50%,
        #e6f7ec 100%
        );
       transition: background-position ease 0.4s;
       text-align: center;
       text-decoration: none;
}


#home-top .menu .about a:hover,
#home-top .menu .about a:focus,
#home-top .menu .about a:active{
	     background-position: 0 0;
}

@media screen and (min-width: 1120px) {

#home-top .menu .about ul{
     margin-top: 4vw;
     margin-right: 3vw;
 }
#home-top .menu .shinsei ul{
     margin-top: -2vw;
     margin-right: 3vw;
 }
#home-top .menu .kainanboushi ul{
     margin-top: 4vw;
     margin-right: 3vw;
 }
#home-top .menu .kouzi ul{
     margin-top: -2vw;
     margin-right: 3vw;
 }
#home-top .menu .tiiki ul{
   margin-top: -2vw;
   margin-right: 3vw;
 }
}

#home-top .menu .about a{text:#ffffff;}
#home-top .menu .shinsei a{border-color:#ffffff;}
#home-top .menu .kainanboushi a{border-color:#ffffff;}
#home-top .menu .kouzi a{border-color:#ffffff;}
#home-top .menu .tiiki a{border-color:#ffffff;}









#home-top .menu .img img{
	width: 130px;
	height: 100px;
}

#home-top .menu .ja{
	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
  font-size: 128.5714285714%;
	margin-left:5px;
}
#home-top .menu .en{
  font-size: 78.5714285714%;
	font-family: 'Oswald', sans-serif;
	font-style:italic;
	margin-left:5px;
}




@media screen and (max-width: 640px) {

#home-top .menu a{
	padding:3px 3px 5px 5px;
}

#home-top .menu .ja,
#home-top .menu .en{
	margin-left:0;
}

#home-top .menu .ja{
  font-size: 100%;
}
#home-top .menu .en{
  font-size: 60%;
}

#home-top .menu .img img{
	height: 64px;
}

}
@media screen and (max-width: 300px) {

#home-top .menu a{
	padding:3px 3px 5px 5px;
}

#home-top .menu .ja,
#home-top .menu .en{
	margin-left:0;
}

#home-top .menu .ja{
  font-size: 100%;
}
#home-top .menu .en{
  font-size: 60%;
}

#home-top .menu .img img{
	height: 54px;
}

}


/*
===== layout =====
*/


#home-contents:after{content: ""; display: block; clear: both;}
.oldie #home-contents{ zoom: 1; }


#home-main{
	float:left;
	width:830px;
}

#home-sub{
	float:right;
	width:310px;
	margin-right:10px;
}

@media screen and (max-width: 1201px) {
#home-contents img{
	max-width:100%;
	height:auto;
}
}

@media (min-width: 768px) and (max-width: 1201px) {

#home-contents{
	margin:0 3% 50px 3%;
}
#home-main{
	width:71%;
}

#home-sub{
	width:24%;
	margin-right:0px;
}

}

@media screen and (max-width: 767px) {

#home-contents{
	margin:0 3% 30px 3%;
}
#home-main{
	float:none;
	width:auto;
	margin-bottom:40px;
}

#home-sub{
	float:none;
	width:auto;
	margin-right:0px;
}

}

/*
===== main =====
*/

/* headline */
.home-headline{
	border:1px solid #CDD4DD;
	padding:25px;
	background:#F9F9F9;
	margin-bottom:65px;
  font-size: 114.2857142857%;
}
.home-headline li{
	margin-bottom:10px;
}
.home-headline li:last-child{
	margin-bottom:0;
}
.home-headline li a{
	color:#000;
}

@media (min-width: 768px) and (max-width: 1201px) {
.home-headline{
	margin-bottom:45px;
}
}


/* text-group */

.text-gr h2{
	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
  font-size: 171.4285714286%;
	margin:15px 0;
}

.text-gr .img img{
	max-width:100%;
}
.text-gr .caption{
	margin-top:15px;
}


.text-gr.layout-img-r .text,
.text-gr.layout-img-l .text{
	max-width:350px;
}
.text-gr.layout-img-r .text{
	float:left;
}
.text-gr.layout-img-l .text{
	float:right;
}

.text-gr.layout-img-r .img{
	float:right;
}
.text-gr.layout-img-l .img{
	float:left;
}

.text-gr.layout-img-r .img,
.text-gr.layout-img-l .img{
	max-width:350px;
}

.text-gr.layout-img-r .caption{
	text-align:left;
}

@media (min-width: 767px) and (max-width: 1219px) {
.text-gr.layout-img-r .text,
.text-gr.layout-img-l .text,
.text-gr.layout-img-r .img,
.text-gr.layout-img-l .img{
	max-width:48%;
}

}

@media (min-width: 351px) and (max-width: 766px) {
.text-gr.layout-img-r .text,
.text-gr.layout-img-l .text,
.text-gr.layout-img-r .img,
.text-gr.layout-img-l .img{
	max-width:82%;
}

}


@media screen and (max-width: 350px) {
.text-gr.layout-img-r .text,
.text-gr.layout-img-l .text,
.text-gr.layout-img-r .img,
.text-gr.layout-img-l .img{
	width:auto;
	float:none;
	margin-bottom:20px;
	max-width:inherit;
}

.text-gr.layout-img-r .img,
.text-gr.layout-img-l .img{
	text-align:center;
}
.text-gr.layout-img-r .img .caption,
.text-gr.layout-img-l .img .caption{
	text-align:center;
}

}




/* three-column */

.three-column:after{content: ""; display: block; clear: both;}
.oldie .three-column{ zoom: 1; }

.three-column .gr{
	float:left;
	width:32%;
	margin-left:1%;
}

@media screen and (max-width: 767px) {
.three-column .gr{
	float:none;
	width:auto;
	margin:0 0 15px 0;
}


}


/* two-column */

.two-column:after{content: ""; display: block; clear: both;}
.oldie .two-column{ zoom: 1; }

.two-column .group{
	float:left;
	width:48%;
	margin-right:1%;
}
.two-column .group:nth-child(odd){
	clear:both;
}
/*
.two-column .group:nth-child(even){
	float:none;
	width:auto;
	margin-right:0;
}
*/

@media screen and (max-width: 767px) {
.two-column .group{
	float:none;
	width:auto;
	margin:0 0 15px 0;
}

}


/* other */

.table-normal td{
	padding:0 10px 5px 0;
}
.table-normal td img{
	vertical-align:middle;
}

.td-middle td,
.th-middle th{
	vertical-align:middle;
}





.text-group.layout-center {
	max-width: 640px;
	text-align: center;
	margin: 0 auto 50px;
}

.text-gr.layout-center .text{
	margin-top: 15px;
	text-align: left;
}

.text-gr.layout-center table {
	margin: 40px auto;
	text-align: left;
}

.text-gr.layout-center th,td {
}

.text-gr.layout-center th {
	vertical-align: middle;
	padding: 0 80px;
	font-size: 20px;
}

.text-gr.layout-center td p{
	margin-bottom: 4px;
}

.action-buttons {
	text-align: center;
	margin: 20px 0;
}
@media screen and (max-width: 767px) {
	.text-gr.layout-center tr {
		display: block;
	}

	.text-gr.layout-center table th{
		display: block;
		padding: 15px 0;
		margin: 0;
	}	
}
