@charset "UTF-8";

/* ---------------------------------- @font-face ---------------------------------- */

/*  Noto Serif Japanese  */

@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 100;
    src: url("../fonts/NotoSerifCJKjp-ExtraLight.woff2") format("woff2"),url("../fonts/NotoSerifCJKjp-ExtraLight.woff") format("woff"), url("../fonts/NotoSerifCJKjp-ExtraLight.otf") format("truetype");
}

@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 200;
    src: url("../fonts/NotoSerifCJKjp-Light.woff2") format("woff2"),url("../fonts/NotoSerifCJKjp-Light.woff") format("woff"), url("../fonts/NotoSerifCJKjp-Light.otf") format("truetype");
}

@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/NotoSerifCJKjp-Regular.woff2") format("woff2"),url("../fonts/NotoSerifCJKjp-Regular.woff") format("woff"), url("../fonts/NotoSerifCJKjp-Regular.otf") format("truetype");
}

@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/NotoSerifCJKjp-Medium.woff2") format("woff2"),url("../fonts/NotoSerifCJKjp-Medium.woff") format("woff"), url("../fonts/NotoSerifCJKjp-Medium.otf") format("truetype");
}

@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 600;
    src: url("../fonts/NotoSerifCJKjp-SemiBold.woff2") format("woff2"),url("../fonts/NotoSerifCJKjp-SemiBold.woff") format("woff"), url("../fonts/NotoSerifCJKjp-SemiBold.otf") format("truetype");
}

@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/NotoSerifCJKjp-Bold.woff2") format("woff2"),url("../fonts/NotoSerifCJKjp-Bold.woff") format("woff"), url("../fonts/NotoSerifCJKjp-Bold.otf") format("truetype");
}

@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 900;
    src: url("../fonts/NotoSerifCJKjp-Black.woff2") format("woff2"),url("../fonts/NotoSerifCJKjp-Black.woff") format("woff"), url("../fonts/NotoSerifCJKjp-Black.otf") format("truetype");
}

/*  Noto Sans Japanese  */

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 100;
    src: url("../fonts/NotoSansJP-Thin.woff2") format("woff2"),url("../fonts/NotoSansJP-Thin.woff") format("woff"), url("../fonts/NotoSansJP-Thin.otf") format("truetype");
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 200;
    src: url("../fonts/NotoSansJP-Light.woff2") format("woff2"),url("../fonts/NotoSansJP-Light.woff") format("woff"), url("../fonts/NotoSansJP-Light.otf") format("truetype");
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/NotoSansJP-DemiLight.woff2") format("woff2"),url("../fonts/NotoSansJP-DemiLight.woff") format("woff"), url("../fonts/NotoSansJP-DemiLight.otf") format("truetype");
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/NotoSansJP-Regular.woff2") format("woff2"),url("../fonts/NotoSansJP-Regular.woff") format("woff"), url("../fonts/NotoSansJP-Regular.otf") format("truetype");
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/NotoSansJP-Medium.woff2") format("woff2"),url("../fonts/NotoSansJP-Medium.woff") format("woff"), url("../fonts/NotoSansJP-Medium.otf") format("truetype");
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/NotoSansJP-Bold.woff2") format("woff2"),url("../fonts/NotoSansJP-Bold.woff") format("woff"), url("../fonts/NotoSansJP-Bold.otf") format("truetype");
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 900;
    src: url("../fonts/NotoSansJP-Black.woff2") format("woff2"),url("../fonts/NotoSansJP-Black.woff") format("woff"), url("../fonts/NotoSansJP-Black.otf") format("truetype");
}


/* ページ共通設定 */

*,
*:after,
*:before{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;	
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

*:after,
*:before{
  background-position: left top;
  background-size:100% auto;
  background-repeat: no-repeat;
}

::-webkit-input-placeholder {
    color: #999999;
    opacity: 1;
}

/* Firefox 19 以降 */
::-moz-placeholder {
    color: #999999;
    opacity: 1;
}
/* IE 10 以降 */
:-ms-input-placeholder {
    color: #999999;
}

:focus::-webkit-input-placeholder {
  opacity: 1;
  color: transparent;
}
:focus:-moz-placeholder {
  opacity: 1;
  color: transparent;
}

:focus::-moz-placeholder {
  opacity: 1;
  color: transparent;
}

:focus:-ms-placeholder {
  opacity: 1;
  color: transparent;
}

a{
  color: inherit;
  text-decoration: none;
}

.normal a:hover{
  text-decoration: underline;
}

a.tel{ cursor: default; text-decoration: none !important; }

img{
  vertical-align:  bottom;
  max-width: 100%;
  height: auto;
}

input[type="text"],textarea{
  border: 1px solid #e5e5e5;
  padding: 0 1.28em;
  height: 2.66em;
  line-height: 1;
  color: #666666;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  width: 100%;
}


textarea{
  height: 270px;
  padding: 1em 1.28em;
  line-height: 1.4;
}

.sp input[type="text"],
.sp textarea,
.sp select{
  font-size: 16px;
}

.font_proxima_Reg{ font-family:'Proxima N W01 Reg',YuGothic, '游ゴシック',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
.font_proxima_Bold_It{ font-family:'Proxima N W01 Bold It',YuGothic, '游ゴシック',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
.font_proxima_Bold{ font-family:'Proxima N W01 Bold',YuGothic, '游ゴシック',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
.font_proxima_Reg_It{ font-family:'Proxima N W01 Reg It',YuGothic, '游ゴシック',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
.font_proxima_Light{ font-family:'Proxima N W01 Light',YuGothic, '游ゴシック',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
.font_proxima_Light_It{ font-family:'Proxima N W01 Light It',YuGothic, '游ゴシック',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

.font_didot_Bold{ font-family:'Didot LT W01 Bold',"游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
.font_didot_Italic{ font-family:'Didot LT W01 Italic',"游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
.font_didot_Roman{ font-family:'Didot LT W01 Roman',"游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
.font_didot_Headline{ font-family:'Didot LT W01 Headline',"游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }

.font_sans{
  font-family: 'Noto Sans Japanese',YuGothic, '游ゴシック',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.font_serif{
  font-family: 'Noto Serif Japanese',"游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

/*  
-------------------------------------------- html、body --------------------------------------------
*/

body{
  font-family: 'Noto Sans Japanese',YuGothic, '游ゴシック',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 200;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #000000;
  /*min-width: 320px;*/
	min-width: 375px;
}
/* pad */
@media screen and (min-width: 701px ) and (max-width: 1000px) {
}

/* sp */
@media screen and (max-width: 700px) {
}

/*  
-------------------------------------------- #loading --------------------------------------------
*/

.loading_logo{
  font-size: 100px;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: 1.7em;
  height: 0.64em;
  margin: -0.32em 0 0 -0.85em;
  background-image: url(../img/template/logo_gray@2x.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top left;
}

.iphone .loading_logo{
  margin-top: -60px;
}

.loading_bg{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300%;
  z-index: 1;
}

/* sp */
@media screen and (max-width: 769px) {
  .loading_logo{
    width: 1.28em;
    height: 0.485em;
    margin: -0.2425em 0 0 -0.64em;
  }
}


/*
------------------------------ #first_load ------------------------------
*/

#first_load{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 200%;
  z-index: 99998;
  background: #ffffff;
}


/*
------------------------------ #loading_block ------------------------------
*/


#loading_block_wrap{
  font-size: 100px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  /*height: 100%;*/
  height: 100vh;
  z-index: 99999;
  display: none;
}

.loading #loading_block_wrap,
.backstop #loading_block_wrap{
  display: block;
}

#loading_block{
  height: 100vh;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  -moz-transition: height 0.5s ease 0s; 
  -webkit-transition: height 0.5s ease 0s; 
  -o-transition: height 0.5s ease 0s; 
  -ms-transition: height 0.5s ease 0s; 
  transition: height 0.5s ease 0s;  
}

#loading_block_wrap.active2 #loading_block{
  overflow: hidden;
  height: 0;
}

#loading_block_wrap.active2 #loading_block_in{
  bottom: auto;
  top: 0;
}

#loading_block_in{
  height: 100vh;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  -moz-transition: height 0.5s ease 0s; 
  -webkit-transition: height 0.5s ease 0s; 
  -o-transition: height 0.5s ease 0s; 
  -ms-transition: height 0.5s ease 0s; 
  transition: height 0.5s ease 0s; 
}

.ajax_load #loading_block_in{
  height: 0;
  width: 100%;
  overflow:  hidden;
}

#loading_block_wrap.active1 #loading_block_in{
  height: 100vh;
}

#loading_block_content{
  position: absolute;
  height: 100vh;
  width: 100%;
  left: 0;
  bottom: 0;
}

#loading_block .loading_bg{
  background: #070e24;
}

/*
.ajax_load #loading_block_wrap .loading_bg{
  background: #141414;
}*/


/*
-------------------------------------------- #all_wrap --------------------------------------------
*/

#all_wrap{
  overflow: hidden;
}

@media screen and (max-width: 769px) {

  #all_wrap_in{
    -moz-transition: left 0.4s ease 0s;
    -o-transition: left 0.4s ease 0s;
    -ms-transition: left 0.4s ease 0s;
    -webkit-transition: left 0.4s ease 0s;
    transition: left 0.4s ease 0s;
  }

  .nav_active #all_wrap_in{
    left: 265px;
  }
  
}

/*
-------------------------------------------- #main --------------------------------------------
*/

#main{
}

@media screen and (max-width: 769px) {
}

/*
-------------------------------------------- .main_content_wrap --------------------------------------------
*/

.main_content_wrap{
  position: relative;
  padding: 70px 20px;
}

#main > .main_content_wrap:last-child{
  padding-bottom: 150px;
}

@media screen and (max-width: 900px) {
  .main_content_wrap{
    padding: 70px 25px 75px 25px;
  }
}

@media screen and (max-width: 700px) {
  .main_content_wrap{
    padding: 70px 25px 0 25px;
  }
  
  #main > .main_content_wrap:last-child{
    padding-bottom: 100px;
  }
  .main_content_wrap.bg_gray01,
  .main_content_wrap.bg_gray02{
    margin-top: 70px;
    padding-bottom: 70px;
  }
}


.main_content_wrap .main_content{
  position: relative;
  z-index: 2;
  max-width: 1240px;
  margin: 50px auto;
}

.main_content_wrap .main_content:first-child{
  margin-top: 0;
}

.main_content_wrap .main_content:last-child{
  margin-bottom: 0;
}

.main_content_wrap.wide_type{
  padding-left: 0;
  padding-right: 0;
}

.main_content_wrap.wide_type .main_content{
  max-width: none;
}

/* .main_content内の子供 */

.main_content_wrap .main_content_child01,
.main_content_wrap .main_content_child02,
.main_content_wrap .main_content_child03,
.main_content_wrap .main_content_child04,
.main_content_wrap .main_content_child05,
.main_content_wrap .main_content_child06{
  margin: 30px 0;
}

.main_content_wrap .main_content_child01:first-child,
.main_content_wrap .main_content_child02:first-child,
.main_content_wrap .main_content_child03:first-child,
.main_content_wrap .main_content_child04:first-child,
.main_content_wrap .main_content_child05:first-child,
.main_content_wrap .main_content_child06:first-child{
  margin-top: 0;
}

.main_content_wrap .main_content_child01:last-child,
.main_content_wrap .main_content_child02:last-child,
.main_content_wrap .main_content_child03:last-child,
.main_content_wrap .main_content_child04:last-child,
.main_content_wrap .main_content_child05:last-child,
.main_content_wrap .main_content_child06:last-child{
  margin-bottom: 0;
}

/* pc */
@media all and (min-width: 1001px) {
}

/* pad以下 */
@media screen and (max-width: 1000px) {
}

/* pad */
@media screen and (min-width: 701px ) and (max-width: 1000px) {
}

/* sp */
@media screen and (max-width: 700px) {
  
  .main_content_wrap .main_content_child01,
  .main_content_wrap .main_content_child02,
  .main_content_wrap .main_content_child03,
  .main_content_wrap .main_content_child04,
  .main_content_wrap .main_content_child05,
  .main_content_wrap .main_content_child06{
    margin: 20px 0;
  }
  
}

/*  
-------------------------------------------- #header --------------------------------------------
*/

#header{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  font-size: 14px;
  font-family:'Proxima N W01 Reg',YuGothic, '游ゴシック',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  height: 120px;
  z-index: 20000;
}

#header_in{
  position: relative;
  color: #666666;
  background-color: #070e24;
  height: 100%;
  padding-top: 25px;
  padding-bottom: 25px;
  width: 100%;
}

#header_content{
  position: relative;
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
  height: 100%;
  max-width: none;
}

#header_logo{
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: 1.28em;
  height: 0.485em;
  margin: -0.2425em 0 0 -0.64em;
  font-size: 100px;
}

#header_logo a{
  height: 100%;
  line-height: 0;
}

#header_logo .top_logo{ display: none; }

#header_nav{
  display: flex;
  display: -webkit-flex;
  width: 100%;
  margin: 0 auto;
  justify-content: center;
  -webkit-justify-content: center;
}

#header_nav .header_nav_list{
  display: flex;
  display: -webkit-flex;
  line-height: 1;
}

#header_nav .header_nav_list:first-child{
  padding: 0 190px 0 0;
  justify-content: flex-end;
  -webkit-justify-content: flex-end;
}

#header_nav .header_nav_list:last-child{
  padding: 0 0 0 190px;
  justify-content: flex-start;
  -webkit-justify-content: flex-start;
}


#header_nav .header_nav_list a{
  margin-top: -0.2em;
  position: relative;
  display: inline-block;
  text-decoration: none !important;
  padding-bottom: 0.4em;
}

#header_nav .header_nav_list a:after{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  height: 1px;
  width: 0;
  -moz-transition: width 0.4s ease 0s,left 0.4s ease 0s;
  -webkit-transition: width 0.4s ease 0s,left 0.4s ease 0s;
  -o-transition: width 0.4s ease 0s,left 0.4s ease 0s;
  -ms-transition: width 0.4s ease 0s,left 0.4s ease 0s;
  transition: width 0.4s ease 0s,left 0.4s ease 0s;
  background-color: #666666;
}

.normal #header_nav .header_nav_list a:hover:after,
#header_nav .header_nav_list a.active:after{
  left: 0;
  width: 100%;
}

#header_nav .header_nav_list:first-child li{
  margin-right: 4.5em;
}

#header_nav .header_nav_list:first-child li:last-child{
  margin-right: 0;
}

#header_nav .header_nav_list:last-child li{
  margin-left: 4.5em;
}

#header_nav .header_nav_list:last-child li:first-child{
  margin-left: 0;
}

@media screen and (max-width: 1000px) {
  #header_nav .header_nav_list:first-child{
    padding: 0 100px 0 0;
  }
  #header_nav .header_nav_list:last-child{
    padding: 0 0 0 100px;
  }
  .toppage #header_nav .header_nav_list:first-child{
    padding: 0 130px 0 0;
  }
  .toppage #header_nav .header_nav_list:last-child{
    padding: 0 0 0 130px;
  }
  #header_nav .header_nav_list:first-child li{
    margin-right: 3em;
  }
  #header_nav .header_nav_list:last-child li{
    margin-left: 3em;
  }
}


#header_sub{
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
}

#header_sub .sns_list{
  order: 2;
  -webkit-order: 2;
  justify-content: flex-end;
  -webkit-justify-content: flex-end;
  margin: 0 0 0 15px;
}

#header_sub .sns_list li{
  font-size: 82%;
}

#header_sub .language_nav_list{
  font-size: 12px;
  justify-content: flex-end;
  -webkit-justify-content: flex-end;
}

@media screen and (max-width: 769px) {
  #header{ height: 80px; position: static;}
  #header_in{ height: 80px; width: 100%; position: absolute; top: 0; left: 0; z-index: 20000; }
  #header_nav{ display: none; }
  #header_sub{ display: none; }
}


/* トップページ */

.toppage #header{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.toppage #header_in{
  color: #ffffff;
  background-color: transparent;
  padding-top: 44px;
  padding-bottom: 44px;
}

.toppage #header .sns_list li.icon_facebook a{
  background-image: url(../img/template/icon_sns_facebook_white@2x.png);
}

.toppage #header .sns_list li.icon_twitter a{
  background-image: url(../img/template/icon_sns_twitter_white@2x.png);
}

.toppage #header .sns_list li.icon_instagram a{
  background-image: url(../img/template/icon_sns_instagram_white@2x.png);
}

.toppage #header .sns_list li.icon_google a{
  background-image: url(../img/template/icon_sns_google_white@2x.png);
}

.toppage #header .sns_list li.icon_pinterest a{
  background-image: url(../img/template/icon_sns_pinterest_white@2x.png);
}

.toppage #header .sns_list li.icon_link a{
  background-image: url(../img/template/icon_sns_link_white@2x.png);
}

.toppage #header .sns_list li.icon_mail a{
  background-image: url(../img/template/icon_sns_mail_white@2x.png);
}

.toppage #header_logo .top_logo{ display: block; }
.toppage #header_logo .normal_logo{ display: none; }

.toppage #header_nav .header_nav_list a:after{
  background-color: #ffffff;
}

/* 
------------------------------ #common_nav ------------------------------
*/

#common_nav_content{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 20001;
  text-align: center;
  overflow-x: hidden;
  overflow-y: scroll;
  color: #cccccc;
  letter-spacing: -0.4em;
}

#common_nav_content a{ color: #cccccc; }

#common_nav_content .sns_list li{
  font-size: 82%;
}

#common_nav_content:after{
  content: "";
  display: inline-block;
  vertical-align:  middle;
  height: 100%;
}

#common_nav_content .btn_area .btn_wrap.type01 .btn_content:before,
#common_nav_content .btn_area .btn_wrap.type01 .btn_content:after,
#common_nav_content .btn_area .btn_wrap.type01 .btn_content_in:before,
#common_nav_content .btn_area .btn_wrap.type01 .btn_content_in:after{
  background-color: #666666;
}

#common_nav_content_in{
  letter-spacing: normal;
  padding: 60px 20px;
  position: relative;
  z-index: 2;
  display: inline-flex;
  display: -webkit-inline-flex;
  vertical-align:  middle;
  text-align: left;
}

#common_nav_content .btn_area .btn_wrap.type01 .btn{
  background-color: transparent;
}

.normal #common_nav_content .btn_area .btn_wrap.type01 .btn:hover{
  color: #666666;
}

/* .common_nav_list */

#common_nav_content .common_nav_list{
  margin: 43px 0 134px 0;
  text-align: center;
}

#common_nav_content .common_nav_list:first-child{
  margin-top: 0;
}

#common_nav_content .common_nav_list:last-child{
  margin-bottom: 0;
}

#common_nav_content .common_nav_list li{
  font-size: 17px;
  line-height: 1;
  margin-bottom: 1.8em;
}

#common_nav_content #common_nav_right .common_nav_list li{
  font-size: 14px;
  margin-bottom: 1.42em;
}

#common_nav_content #common_nav_right .common_nav_list li:last-child{
  margin-bottom: 0;
}

#common_nav_content #common_nav_right .btn_area .btn_wrap.type01{
  font-size: 17px;
  min-width: 240px;
}

#common_nav_content #common_nav_right .btn_area .btn_wrap.type01 .btn_content_in{
  padding-top: 15px;
  padding-bottom: 15px;
}

#common_nav_content .common_nav_list li:last-child{
  margin-bottom: 0;
}

#common_nav_content .common_nav_list li a{
  position: relative;
  display: inline-block;
  vertical-align: baseline;
  padding-bottom: 0.44em;
  -moz-transition: color 0.4s ease 0s;
  -webkit-transition: color 0.4s ease 0s;
  -o-transition: color 0.4s ease 0s;
  -ms-transition: color 0.4s ease 0s;
  transition: color 0.4s ease 0s;
  text-decoration: none !important;
}

.normal #common_nav_content .common_nav_list li a:hover{
  color: #ffffff;
}

#common_nav_content .common_nav_list li a.active{
  color: #666666;
}

#common_nav_content .common_nav_list li a:after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 1px;
  background: #666666;
  -moz-transition: width 0.4s ease 0s,left 0.4s ease 0s;
  -webkit-transition: width 0.4s ease 0s,left 0.4s ease 0s;
  -o-transition: width 0.4s ease 0s,left 0.4s ease 0s;
  -ms-transition: width 0.4s ease 0s,left 0.4s ease 0s;
  transition: width 0.4s ease 0s,left 0.4s ease 0s;
  display: block;
}

.normal #common_nav_content .common_nav_list li a:hover:after{
  left: 0;
  width: 100%;
}

#common_nav_content .common_nav_list li a.active:after{
  display: none !important;
}

#common_nav_content .common_nav_section{
  padding: 0 65px;
}

#common_nav_func{
  margin: 24px 0 0 0;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center;
}

#common_nav_func .language_nav_list{
  font-size: 12px;
  margin: 0 30px 0 0;
}

#common_nav_func .sns_list{
}


@media all and (max-width: 989px) {
  #common_nav_content .common_nav_section{
    padding: 0 40px;
  }
}

@media all and (min-width: 781px ){
#common_nav_content .common_nav_section:first-child{
  padding-left: 0;
}

#common_nav_content .common_nav_section:last-child{
  padding-right: 0;
}
}

@media all and (max-width: 780px ){
  #common_nav_content_in{
    display: block;
  }
  #common_nav_content:after{
    display: none;
  }
  #common_nav_content .common_nav_section{
    padding: 0;
    margin-bottom: 30px;
  }
  #common_nav_content .common_nav_section:last-child{
    padding: 0;
    margin-bottom: 0px;
  }
  #common_nav_content .common_nav_list{
    margin: 30px 0;
  }
}

/* pad */
@media all and (min-width: 701px ) and (max-width: 989px) {
}

/* sp */
@media all and (max-width: 700px) {
  #common_nav_list{ font-size: 14px; margin: 0 0 30px 0; }
}

#common_nav_language{
  font-size: 11px;
  margin: 0 0 3em 0;
}

#common_nav_bg{
  position: fixed;
  z-index: 1;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #070e24;
}

/* #common_nav_function */

#common_nav_function{
  position: fixed;
  height: 100%;
  width: 0px;
  top: 0;
  right: -100px;
  z-index: 30000;
  -webkit-transition: right 0.4s ease 0s;
  -moz-transition: right 0.4s ease 0s;
  -o-transition: right 0.4s ease 0s;
  -ms-transition: right 0.4s ease 0s;
  transition: right 0.4s ease 0s;
}

.header_active #common_nav_function{
  right: 0px;
}

.nav_active #common_nav_function{
  right: 0px !important;
}

@media all and (max-width: 769px ){
  #common_nav_function{
    right: 0 !important;
    top: 0 !important;
    margin: 0 !important;
  }
}


/* #common_nav_switch */

#common_nav_switch{
  position: relative;
  right: 75px;
  width: 75px;
  height: 75px;
  cursor: pointer;
  background: #0a1433;
  z-index: 30000;
  transition: background-color 0.4s ease 0s;
	-webkit-transition: background-color 0.4s ease 0s;
	-moz-transition: background-color 0.4s ease 0s;
	-o-transition: background-color 0.4s ease 0s;
	-ms-transition: background-color 0.4s ease 0s;
}

.nav_active #common_nav_switch,
.normal #common_nav_switch:hover{
  background-color: #070e24;
}


#common_nav_switch_in{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 15px;
  margin: -7px 0 0 -12px;
}

#common_nav_switch_in .bar{
  position: absolute;
  left: 0;
  width: 24px;
  height: 1px;
  background: #ffffff;
  transition: transform 0.4s ease 0s, left 0.4s ease 0s, top 0.4s ease 0s, background-color 0.4s ease 0s;
	-webkit-transition: transform 0.4s ease 0s, left 0.4s ease 0s, top 0.4s ease 0s, background-color 0.4s ease 0s;
	-moz-transition: transform 0.4s ease 0s, left 0.4s ease 0s, top 0.4s ease 0s, background-color 0.4s ease 0s;
	-o-transition: transform 0.4s ease 0s, left 0.4s ease 0s, top 0.4s ease 0s, background-color 0.4s ease 0s;
	-ms-transition: transform 0.4s ease 0s, left 0.4s ease 0s, top 0.4s ease 0s, background-color 0.4s ease 0s;
  -webkit-transform-origin: 0% 0%;
  -moz-transform-origin: 0% 0%;
  -o-transform-origin: 0% 0%;
  -ms-transform-origin: 0% 0%;
  transform-origin: 0% 0%; 
}

@media all and (max-width: 769px ){
  #common_nav_switch_in .bar{
    background-color: #636161;
  }
  .header_active #common_nav_switch_in .bar{
    background-color: #080e23;
  }
  .nav_active #common_nav_switch_in .bar{
    background-color: #ffffff;
  }
  #common_nav_switch{
    background: none !important;
  }
}

#common_nav_switch_in .bar.bar01{
  top: 0;
}

#common_nav_switch_in .bar.bar02{
  top: 7px;
}

#common_nav_switch_in .bar.bar03{
  top: 14px;
}

.nav_active #common_nav_switch_in .bar.bar01{
  top: -2px;
  left: 3px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.nav_active #common_nav_switch_in .bar.bar02{
  display: none; 
}

.nav_active #common_nav_switch_in .bar.bar03{
  left: 3px;
  top: 15px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* sp */
@media all and (max-width: 769px) {
  #common_nav_switch{
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    /*background-color: #070e24;*/
  }
}


/* #common_order_switch */

#common_order_switch{
  position: absolute;
  top: 50%;
  right: 12px;
  margin: -10em 0 0 0;
  width: 2.27em;
  height: 2.01em;
  font-size: 11px;
}

#common_order_obj{
  text-align: center;
  margin: 0 0 1.28em 0;
}

#common_order_text{
  white-space: nowrap;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  -o-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  width: 1em;
  height: 1em;
  margin: 0 auto;
  line-height: 1;
  left: -3px;
  position: relative;
  color: #142966;
  font-family:'Proxima N W01 Reg',YuGothic, '游ゴシック',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


.nav_active #common_order_switch{
  display: none;
}

@media screen and (max-width: 769px) {
  #common_order_switch{ display: none; }
}


/* 
------------------------------ #footer ------------------------------
*/

/* #footer_news */

#footer_news{
  padding-top: 55px;
  padding-bottom: 65px;
  background-color: #f4f4f4;
}

#footer_news .cms_text_head{
  font-size: 11px;
  margin: 0 0 10px 0;
}

#footer_news .cms_list_area .text_wrap{
  font-size: 12px;
}

#footer_news .cms_list_area .text_wrap .cms_title{
  font-size: 16px;
}

@media screen and (max-width: 700px) {
  #footer_news{ }
}

/* #footer_content */

#footer_content{
  position: relative;
  color: #cccccc;
  background-color: #0a1433;
  font-size: 12px;
  letter-spacing: 0.05em;
  padding-top: 45px;
  padding-bottom: 45px;
}

#footer_content_in{
  margin-bottom: 0;
  /*max-width: none;*/
}

@media screen and (min-width: 1480px) {
  
  #footer_content{
    padding-left: 120px;
    padding-right: 120px;
  }
  #footer_content_in{
    max-width: none;
  }
  
}

#footer_info_wrap{
  display: flex;
  display: -webkit-flex;
  margin: 0 0 -30px 0;
}

@media screen and (max-width: 1000px) {
#footer_info_wrap{
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
}


#footer_info_wrap > *{
  margin-bottom: 30px;
}

#footer_logo{
  margin-right: 40px;
}

#footer_info{
  width: 270px;
  white-space: nowrap;
  margin-right: 50px;
  line-height: 1;
}

#footer_info td,
#footer_info th{
  padding-bottom: 0.8em;
}

#footer_info tr:last-child td,
#footer_info tr:last-child th{
  padding-bottom: 0em;
}

#footer_info th{
  white-space: nowrap;
  padding-right: 1em;
}

#footer_info_01{
  font-size: 16px;
  margin-bottom: 20px;
}

#footer_info_02{
  font-size: 12px;
  color: #666666;
}


#footer_nav{
  display: flex;
  display: -webkit-flex;
  white-space: nowrap;
  flex-grow: 1;
  -webkit-flex-grow: 1;
  margin-right: 20px;
}

#footer_nav .footer_nav_list{
  margin-right: 50px;
  line-height: 1;
  white-space: nowrap;
}

#footer_nav .footer_nav_list:last-child{
  margin-right: 0px;
}

#footer_nav .footer_nav_list li{
  margin: 0 0 1em 0;
}

#footer_nav .footer_nav_list li:last-child{
  margin-bottom: 0;
}

#footer_nav .footer_nav_list li a{
  position: relative;
  display: inline-block;
  text-decoration: none !important;
  padding-bottom: 0.3em;
  -moz-transition: color 0.4s ease 0s;
  -webkit-transition: color 0.4s ease 0s;
  -o-transition: color 0.4s ease 0s;
  -ms-transition: color 0.4s ease 0s;
  transition: color 0.4s ease 0s;
}
#footer_nav .footer_nav_list li a:hover,
#footer_nav .footer_nav_list li a.active{
  color: #666666;
}


#footer_func{
}

#footer_func_in{
  display: flex;
  display: -webkit-flex;
  justify-content: flex-end;
  -webkit-justify-content: flex-end;
}

#footer_func .language_nav_list {
  justify-content: flex-end;
  -webkit-justify-content: flex-end;
  margin: 0 0 33px 0;
}

#footer_func .sns_list{
  justify-content: flex-end;
  -webkit-justify-content: flex-end;
}

#footer_func .sns_list li{
  font-size: 82%;
}

#footer_logo_list_wrap{
  margin: 20px 0 0 0;
}

#footer_logo_list_wrap .footer_logo_list_title{
  margin: 0 0 10px 0;
}

#footer_logo_list_wrap .footer_logo_list_img{
  line-height: 0;
  text-align: right;
}

@media screen and (max-width: 1000px) {
  #footer_func_in{
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
  }
  #footer_logo_list_wrap .footer_logo_list_img{
    text-align: left;
  }
}

#footer_copyright{
  margin-top: 100px;
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 1030px) {
  #footer_logo{ margin-right: 30px; }
  #footer_info{ margin-right: 30px; }
  #footer_nav .footer_nav_list{ margin-right: 20px; }
}

/* sp */
@media all and (max-width: 700px) {
  #footer_logo{ margin-right: 0; margin-bottom: 25px; text-align: center; }
  #footer_content{ padding-top: 55px; padding-bottom: 0px; }
  #footer_info_wrap{ display: block;m argin-bottom: 25px; }
  #footer_info{ margin-right: 0; margin-bottom: 25px; }
  #footer_nav{ margin-right: 0; font-size: 13px; flex-wrap: wrap; -webkit-flex-wrap: wrap; margin: 0 -20px 25px 0 !important; }
  #footer_nav .footer_nav_list{ margin: 0 0 0.5em 0 !important; width: 50%; padding: 0 20px 0px 0;}
  #footer_nav .footer_nav_list:nth-child(3){ width: 100%; display: flex; display: -webkit-flex; flex-wrap: wrap; -webkit-flex-wrap: wrap; margin-right: -20px !important; margin-top: 0.5em !important; padding-right: 0 !important; }
  #footer_nav .footer_nav_list li{ width: 50%; padding: 0 20px 0px 0;}
  #footer_func{ justify-content: flex-start; -webkit-justify-content: flex-start; }
  #footer_func_in{ display: flex; display: -webkit-flex; align-items: center; -webkit-align-items: center;  }
  #footer_nav .footer_nav_list{ margin: 0 20px 0 0;}
  #footer_func_in .language_nav_list{ margin: 0 20px 0 0; }
  #footer_copyright{ margin-top: 50px; }
}


/* #pagetop_switch */

#pagetop_switch{
  position: absolute;
  top: -75px;
  right: 0;
  width: 75px;
  height: 75px;
  background-color: #0a1433;
  -webkit-transition: background-color 0.4s ease 0s;
  -moz-transition: background-color 0.4s ease 0s;
  -o-transition: background-color 0.4s ease 0s;
  -ms-transition: background-color 0.4s ease 0s;
  transition: background-color 0.4s ease 0s;
}

/* sp */
@media all and (max-width: 700px) {
  #pagetop_switch{
    position: static;
    width: auto;
    height: 45px;
    background-color: #070e24;
    margin-top: 55px;
    margin-left: -25px;
    margin-right: -25px;
  }
}


#pagetop_switch_in{
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -11px 0 0 -5px;
  overflow:  hidden;
  white-space: nowrap;
  text-indent: 200%;
  width: 11px;
  height: 21px;
  background: url(../img/template/btn_pagetop@2x.png) no-repeat;
  background-size: 100% auto;
}

.normal #pagetop_switch:hover{
  background-color: #111d37;
}

#pagetop_switch a{
  position: relative;
  width: 100%;
  height: 100%;
}

.header_active #common_nav_function{
  right: 0px;
}

.nav_active #common_nav_function{
  right: 0px !important;
}


/* 
------------------------------ #page_visual ------------------------------
*/

#page_visual{
  font-size: 140px;
  position: relative;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  /*height: 322px;*/
  height: 440px;
  margin: 0 0 170px 0;
}

#page_visual .text_zone{
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
}

#page_visual .text_wrap{
  position: absolute;
  top: -0.5em;
  left: 0;
  display: block;
  width: 100%;
  text-align: center;
}

#page_visual .text_wrap .text01,
#page_visual .text_wrap .text02{
  display: block;
}

#page_visual .text_wrap .text01{
  font-size: 1em;
  font-family:'Didot LT W01 Roman',"游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #cccccc;
  line-height: 1;
  letter-spacing: -0.025em;
  margin: 0 0 35px 0;
}

#page_visual .text_wrap .text02{
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #999999;
}

@media screen and (max-width: 900px) {
  #page_visual{ height: 350px; font-size: 100px; margin: 0 0 140px 0; }
}


@media screen and (max-width: 700px) {
  #page_visual{ height: 200px; font-size: 60px; margin: 0 0 60px 0; }
  #page_visual .text_wrap .text01{ margin: 0 0 14px 0; }
  #page_visual .text_wrap .text02{ font-size: 14px; }
}

#page_visual img{
  display: none;
}


/* 
------------------------------ ブログ系 ------------------------------
*/

/* #blog_content */

#blog_content{
  display: flex;
  display: -webkit-flex;
}

/* #blog_main */

#blog_main{
  order: 2;
  -webkit-order: 2;
  flex-grow: 1;
  -webkit-flex-grow: 1;
  max-width: 970px;
  padding-left: 100px;
}

#blog_main .cms_list_area{
  border-top: 1px solid #cccccc;
}

#blog_main .cms_list_wrap{
  margin: 0;
}

#blog_main .cms_list{
  border-bottom: 1px solid #cccccc;
  padding: 0;
}

#blog_main .cms_list_area .cms_list_in{
  padding-top: 50px;
  padding-bottom: 50px;
}

#blog_main .cms_list_area .cms_list_content .image_wrap{
  width: 300px;
}

#blog_main .cms_title{
  font-size: 24px;
}

#blog_main .blog_detail_title{
  font-size: 27px;
  color: #142966;
  font-weight: 400;
  margin: -0.4em 0 0.6em 0;
}

#blog_main .cms_input_area{
  padding: 38px 0 90px 0;
  border-bottom: 1px solid #cccccc;
}

#blog_main .cms_eyecatch{
  margin: 0 0 40px 0;
}

#blog_main .cms_share{
  margin: 45px 0 0 0;
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
}

#blog_main .cms_share .cms_share_title{
  font-size: 12px;
  color: #999999;
  letter-spacing: 0.1em;
  font-family:'Proxima N W01 Light',YuGothic, '游ゴシック',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin: 0 35px 0 0;
  line-height: 1;
}

@media screen and (max-width: 1000px) {
  #blog_main{ padding-left: 40px; }
}

@media screen and (max-width: 800px) {
  #blog_main .cms_list_area .cms_list_content .image_wrap{
    width: 200px;
  }
}

@media screen and (max-width: 700px) {
  #blog_main .blog_detail_title{ font-size: 20px; }
  #blog_main .cms_input_area{ padding: 25px 0; }
  #blog_main .cms_eyecatch{ margin-bottom: 22px; }
}

/* #blog_sub */

#blog_sub{
  white-space: nowrap;
  order: 1;
  -webkit-order: 1;
  min-width: 168px;
  max-width: 168px;
}

#blog_sub .blog_sub_title{
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #999999;
  font-family:'Proxima N W01 Light',YuGothic, '游ゴシック',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin: 0 0 25px 0;
}

#blog_sub .blog_sub_list li{
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #2952cc;
  margin: 0 0 1.77em 0;
}

#blog_sub .blog_sub_list li:last-child{
  margin-bottom: 0;
}

#blog_sub_nav{
  position: relative;
  height: 100%;
}

#blog_sub_nav_in{
  position: absolute;
  top: 0;
  /*left: 0;
  width: 100%;*/
  width: 168px;
}

#blog_search{
  position: relative;
  border-bottom: 1px solid #cccccc;
  margin: 0 0 20px 0;
}

#blog_search input[type="text"]{
  border: none;
  height: 33px;
  width: 100%;
  padding: 0 0 0 30px;
}

#blog_search input[type="submit"]{
  position: absolute;
  display: block;
  top: 50%;
  left: 0;
  width: 12px;
  height: 12px;
  padding: 0;
  background: url(../img/template/icon_search@2x.png) no-repeat left top;
  background-size: 100% auto;
  margin: -6px 0 0 0;
  text-indent: 200%;
  overflow: hidden;
  white-space: nowrap;
  border: none;
  font-size: 0;
}

@media screen and (max-width: 700px) {
  #blog_content{ flex-wrap: wrap; -webkit-flex-wrap: wrap; }
  #blog_main{ width: 100%; padding: 0; }
  #blog_main .cms_title{ font-size: 18px; }
  #blog_main .cms_list_area .cms_list_in{ padding-top: 25px; padding-bottom: 25px; }
  #blog_sub{ width: 100%; margin: 0 0 20px 0;min-width: 0; max-width: none; }
  #blog_sub_nav_in{ position: static !important; width: auto;}
  #blog_sub .blog_sub_title{ text-align: center; }
  #blog_sub .blog_sub_list{ display: flex; display: -webkit-flex; flex-wrap: wrap; -webkit-flex-wrap: wrap; justify-content: center; -webkit-justify-content: center; }
  #blog_sub .blog_sub_list li{ margin: 0 1em 1em 0; }
  #blog_content.detail_type #blog_main{ order: 1; -webkit-order: 1; }
  #blog_content.detail_type #blog_sub{ order: 2; -webkit-order: 2; margin-top: 30px; display: none; }
}

/* #blog_pager */

#cms_control_area{
  margin-top: 40px;
  font-size: 13px;
  text-align: center;
}

#cms_control_area.news_list{
  position: static;
  margin: 100px 0 0 0;
}

#cms_control_wrap{
  display: inline-flex;
  display: -webkit-inline-flex;
  align-items: center;
  -webkit-align-items: center;
}

#cms_back{
  margin: 0 57px 0 0;
}

#cms_back > *{
  margin: 0;
}

#blog_pager{
  font-family:'Proxima N W01 Reg',YuGothic, '游ゴシック',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  display: flex;
  display: -webkit-flex;
  align-items: center;
  -webkit-align-items: center;
}


#blog_pager .page-numbers{
  font-size: 13px;
  line-height: 1;
  margin: 0 24px 0 0;
  color: #142966;
}

#blog_pager span.page-numbers.dots{
  padding-bottom: 0.5em;
  margin: 0 20px 0 -4px;
}

#blog_pager a.page-numbers,
#blog_pager span.page-numbers.current{
  letter-spacing: normal;
  white-space: nowrap;
}

.normal #blog_pager a.page-numbers:hover,
#blog_pager .page-numbers.current{
  text-decoration: underline;
}

#blog_pager a.page-numbers.prev,
#blog_pager a.page-numbers.next,
#blog_pager .page_control a{
  text-decoration: none !important;
  display: block;
  line-height: 1;
  padding: 1em 1.53em 0.9em;
  border: 1px solid #142966;
  color: #142966;
  text-decoration: none;
  white-space: nowrap;
}


#blog_pager a.page-numbers.prev{
  margin: 0 35px 0 0;
}

#blog_pager a.page-numbers.next{
  margin: 0 0 0 15px;
}

#blog_pager .page_control{
  margin: 0 20px 0 0;
}


#blog_pager .page_control a{
  -webkit-transition: background-color 0.4s ease 0s,color 0.4s ease 0s;
  -moz-transition: background-color 0.4s ease 0s,color 0.4s ease 0s;
  -ms-transition: background-color 0.4s ease 0s,color 0.4s ease 0s;
  -o-transition: background-color 0.4s ease 0s,color 0.4s ease 0s;
  transition: background-color 0.4s ease 0s,color 0.4s ease 0s;
  background-color: #ffffff;
}


.normal #blog_pager .page_control a:hover{
  color: #ffffff;
  background-color: #142966;
}

#blog_pager .page_control:last-child{
  margin: 0;
}

#blog_pager a:first-child{
  margin-left: 0;
}

#blog_pager a:last-child{
  margin-right: 0;
}

@media screen and (max-width: 700px) {
  #cms_control_wrap{ flex-wrap: wrap; -webkit-flex-wrap: wrap; justify-content: center; -webkit-justify-content: center; }
  #cms_back{ width: 100%; order: 2; -webkit-order: 2; margin: 30px 0 0 0; justify-content: center; -webkit-justify-content: center; }
  #blog_pager .page-numbers,
  #blog_pager .page-numbers{
    font-size: 13px;
    /*line-height: 1;
    margin: 0 1em 0 0;*/
    margin: 0 15px 0 0;
  }
  #blog_pager span.page-numbers.dots{
    margin: 0 15px 0 0;
  }
  #blog_pager a.page-numbers.prev{
    margin: 0 22px 0 0;
  }
  #blog_pager a.page-numbers.next{
    margin: 0 0 0 7px;
  }
  
}

#blog_main .fb-group-meta{
  display: none;
}

#blog_main .wp_social_bookmarking_light{
  display: none;
}

#blog_main .wp_social_bookmarking_light_clear{
  display: none;
}

/* 
------------------------------ #contact_page01 ------------------------------
*/

#contact_page01.input_page,
#contact_page01.confirm_page{
  padding-bottom: 0;
}

#contact_page01 .contact_error{
  color: #ff0000;
  margin: 0.5em 0 0 0;
}

#contact_page01 .btn_area{
  margin-top: 50px;
}

#contact_page01.confirm_page .main_content_child01.bg_gray{
  margin: 0 !important;
}

#contact_page01 .main_content_child01.bg_gray:last-child{
  padding-bottom: 120px;
}

#contact_page01 .contact_title{
  /*margin: 0.8em 0 0 0;*/
	margin: 0.6em 0 0 0;
  position: relative;
  line-height: 1.6;
  min-height: 1.6em;
	padding: 0 52px 0 0;
}

#contact_page01 .contact_title span{
  /*margin: 0 1em 0 0;*/
}

#contact_page01 .check .contact_title:after{
  content: "必須";
  position: absolute;
  top: 2px;
  right: 0;
  font-size: 11px;
  line-height: 1;
  color: #ffffff;
  background: #1c305c;
  padding: 0.33em 0.8em;
}

.en #contact_page01 .check .contact_title:after,
.zh-cn #contact_page01 .check .contact_title:after,
.zh-tw #contact_page01 .check .contact_title:after{
  content: "essential";
}

#contact_page01 .table_th{
  width: 220px;
  padding: 0 15px 30px 0;
}

#contact_page01 .table_td{
  padding: 0 0 30px 0;
}


.en #contact_page01 .table_th,
.zh-cn #contact_page01 .table_th,
.zh-tw #contact_page01 .table_th{
  width: 290px;
}


#contact_page01 .contact_block_in{
}

#contact_page01 .contact_block{
  padding: 0 0 1em 0;
}

#contact_page01 .contact_block:last-child{
  padding: 0 0 0 0;
}

/*  #contact_page01 .confirm_block_wrap */

#contact_page01 .confirm_block_wrap{
  max-width: 800px;
  margin: 0 auto 80px auto;
  font-size: 14px;
}

#contact_page01.confirm_page .btn_wrap.type_normal02{
  margin-right: 20px;
}

#contact_page01.confirm_page .btn_wrap.type_normal02 .btn_content{
  min-width: 200px;
}

#contact_page01.confirm_page .btn_wrap.type_normal02:last-child{
  margin-right: 0px;
}

#contact_page01 .confirm_block_wrap .confirm_block{
  margin: 0 0 30px 0;
}

#contact_page01 .confirm_block_wrap .confirm_block:last-child{
  margin-bottom: 0;
}

#contact_page01 .confirm_block_wrap .confirm_block p{
  /*margin-bottom: 1em;*/
}

#contact_page01 .confirm_block_wrap .confirm_block p:last-child{
  margin-bottom: 0;
}

#contact_page01 .confirm_block_wrap .confirm_title{
  position: relative;
  line-height: 1.6;
  margin: 0 0 10px 0;
  border-bottom: 1px solid #1c293f;
  padding: 0 0 10px 0;
	white-space: nowrap;
}

 #contact_page01 .check .confirm_title:after{
  content: "必須";
  position: absolute;
  top: 2px;
  right: 0;
  font-size: 12px;
  line-height: 1;
  color: #ffffff;
  background: #1c305c;
  -moz-border-radius: 0.45em;
  -webkit-border-radius: 0.45em;
  border-radius: 0.45em;
  padding: 0.33em 0.8em;
}

.en #contact_page01 .check .confirm_title:after,
.zh-cn #contact_page01 .check .confirm_title:after,
.zh-tw #contact_page01 .check .confirm_title:after{
  content: "essential";
}

#contact_page01 .error_info_zone{
  
}

#contact_page01 .error_info_block {
  color: #ff3300;
  border: 2px solid #ff3300;
  margin: 50px 0;
  text-align: center;
  padding: 10px 20px;
  font-weight: 500;
  font-size: 13px;
}

#contact_page01 .error_info_block p{
  display: inline-block;
  text-align: left;
}

#contact_page01 .contact_trigger{
  position: relative;
  padding: 8px 0 12px 0;
}

#contact_page01 .contact_trigger .check_list{
  position: relative;
  z-index: 2;
}

#contact_page01 .contact_trigger_input{
  position: absolute;
  left: 0;
  width: 100%;
}

#contact_page01 .contact_trigger_input input{
  position: relative;
  z-index: 3;
}

#contact_page01 .contact_trigger_input.contact_trigger01{
  top: 0;
  padding-left: 100px;
}

#contact_page01 .contact_trigger_input.contact_trigger02{
  bottom: 0;
  padding-left: 100px;
}

@media all and (min-width: 701px ) and (max-width: 989px) {
  
}

@media all and (max-width: 989px) {

}

@media all and (max-width: 700px ){
  
  .contact #page_visual_title img{
    width: 211px;
  }
  
  #contact_page01 .contact_content, #contact_page02 .contact_content{
    font-size: 12px;
  }
  #contact_page01 .table{
   font-size: 13px; 
  }
  
  #contact_page01 .table_td{
    padding: 0 0 20px 0;
  }
  
  #contact_page01 .contact_title{
    margin-top: 0;
		display: inline-block;
  }
  
  #contact_page01 .table_th{
    padding: 5px 0;
    margin: 0 0 10px 0;
    width: auto;
  }
  
  
  #contact_page01 .check .contact_title:after{
    font-size: 11px;
  }
  
  #contact_page01 .contact_block_in{
    min-height: 0;
  }
  
}

/* 
------------------------------  ------------------------------
*/

/* pc */
@media all and (min-width: 1001px) {
}

/* pad以下 */
@media screen and (max-width: 1000px) {
}

/* pad */
@media screen and (min-width: 701px ) and (max-width: 1000px) {
}

/* sp */
@media screen and (max-width: 700px) {
}

