
/****reset
*****************************************/
html {
  font-size: 62.5%; }

html, body {
  width: 100%;
  height: auto; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

a {
  -webkit-text-decoration: normal;
  text-decoration: normal;
  cursor: pointer; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

input, select {
  vertical-align: middle; }



html {
font-size: 62.5%;
}


/*news 25.04.23 added*/
.top_news_list a,
.top_news_list a:hover,
.top_news_list a:link,
.top_news_list a:visited {
color: #494443;
}
.top_news_list a:hover{
text-decoration: underline;
transition: 0.5;
}
.top_news_list a{
text-decoration: none;
}




@media only screen and (max-width: 550px) {
html {
  font-size: calc(100vw / 75);
  }
}

html, body {
  width: 100%;
  height: auto; }

body {
  color: #494443;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN","Yu Gothic", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  background: #FFFFFF;
  }
@media screen and (max-width: 550px) {
body {
}
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

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

a {
  text-decoration: none;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

figure {
  line-height: 0; }

.center {
  text-align: center !important;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.left {
  text-align: left; }

.right {
  text-align: right; }

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}
.webft1{
  font-family: "M PLUS 1", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
/* ==========================================================================
   Author's custom styles
   ========================================================================== */

body.fixed{
  position: fixed;
  width:100%;
}

#wrapper_all{
	position:relative;
}
#wrapper{
}



#l-header_wrap a,
.footer a,
#wrapper a img {
  opacity: 1;
-webkit-transition: opacity 0.2s ease-out;
-moz-transition: opacity 0.2s ease-out;
-ms-transition: opacity 0.2s ease-out;
transition: opacity 0.2s ease-out; }

#l-header_wrap a:hover,
.footer a:hover,
#wrapper a:hover img {
  opacity: .85; }
a.mover_btn{
  opacity: 1;
-webkit-transition: opacity 0.2s ease-out;
-moz-transition: opacity 0.2s ease-out;
-ms-transition: opacity 0.2s ease-out;
transition: opacity 0.2s ease-out;}
a.mover_btn:hover{
  opacity: .5 !important;
}

@media screen and (max-width: 768px) {
#wrapper{
}
}

/*****メニューwrap****/
.menu_wrap{
position: fixed;
width: 400px;
height: 100%;
top: 0;
left: 50%;
margin-left: -520px;
}
.menu_wrap_inn{
  position: absolute;
  width: 100%;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1220px) {
.menu_wrap{
margin-left: -495px;
}
}
@media screen and (max-width: 1070px) {
.menu_wrap{
position: relative;
width: 100%;
max-width: 550px;
height: auto;
top: 0;
left: 0;
margin: 0 auto;
}
.menu_wrap_inn{
  position: relative;
  width: 100%;
  top: 0;
  transform: none;
}
}

/*****メニュー****/
#navi {
  /*background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  height: 120px;*/
  width: 100%;
  z-index: 101;
  /*transition: all 0.6s ease;*/
}
.header_inn{
	width:100%;
    padding: 0 0;
	margin:0 auto;
	position:relative;
}
/* 左上ロゴ */
.menu-left {
  	width:auto;
	max-width:225px;
	margin:0 auto;
}
.menu-left img {
  vertical-align: middle;
}
@media screen and (max-width: 1070px) {
#navi {
  height: 60px;
  position: fixed;
  top: 0;
  left: 50%;
  background-color: #FFF;
  max-width: 550px;
  margin-left: -275px;
}
#navi.headbg{
background: none;
}
.header_inn{
padding: 0;
text-align: center;
position: static;
}
.menu-left {
  float: none;
  	width:25%;
	max-width:100px;
	margin:12px 0 0 5%;
    position: relative;
    z-index: 1;
}
}
@media screen and (max-width: 550px) {
#navi {
  top: 0;
  left: 0;
  margin-left: 0;
}
}

/* 上部メニュー */
#menu {
  width: 100%;
  margin: 1rem 0 2rem;
  text-align: left;
  padding: 0 0 0;
}
.navi_sepa{
border-bottom: solid 1px #CCC;
margin: 2rem auto;
}
#menu li {
  position: relative;
  white-space: nowrap;
  font-size: 1.6rem;
  text-align: center;
  /*background: #999;*/
}
#menu li a {
  display: block;
  text-decoration: none;
  padding: 1rem 4rem 1rem 2rem;
  color: #FFF;
  font-weight: 600;
  border-radius: 3rem;
  background: #0fbcff url("../img/rec_boshu_arrow.png") right 1.5rem  center no-repeat;
background-size: 18px auto;
}
.user #menu li a {
color: #494443;
  background: #ffd200 url("../img/user_jigyo_arrow.png") right 1.5rem  center no-repeat;
background-size: 18px auto;
}
#menu > li {
  display: block;
  margin: 0rem 0 0.8rem;
  text-align: left;
}
#menu-navibtn {
  display: none;
  cursor: pointer;
  /*cursor: hand;*/
}
.head_sp{
display: none;
}
.navi_logo_sp,
.navi_logo_sp_wrap{
display: none;
}
.navi_tel{
text-align: center;
font-size: 2.0rem;
font-weight: 600;
margin-top: 1.5rem;
}
.navi_tel a{
text-decoration: underline;
color: #494443;
}
.navi_tel_sub{
text-align: center;
font-size: 1.4rem;
}

/* スマホ用 */
@media screen and (max-width: 1070px) {
  /* 基本非表示 */
  #menu {
    display: none;
    padding: 30px 3rem 0;
    margin: 0px 0 0 0;
    width: 100%;
    height: 100vh;
    background: #0fbcff;
    position: relative;
    z-index: 90;
    top: -60px;
  }
  .user #menu {
    background: #ffd200;
  }
  .navi_sepa{
display: none;
}
  #menu li {
    height: auto;
    width: 100%;
    padding: 0px;
    white-space: nowrap;
    font-size: 1.6rem;
    text-align: left;
    border-top: solid 1px #FFF;
  }
  .user #menu li {
    border-top: solid 1px #494443;
  }
  #menu > li {
    margin: 0rem 0 0;
  }
  #menu > li:last-child{
  border-bottom:  solid 1px #FFF;
  }
  .user #menu > li:last-child{
  border-bottom:  solid 1px #494443;
  }
  #menu li a {
    width: 100%;
    padding: 2.0rem 0;
    background: none;
    border-radius: 0;
  }
  .user #menu li a {
    width: 100%;
    padding: 2.0rem 0;
    background: none;
    border-radius: 0;
  }
  /* メニューを移動させないため */
  #menu-navibtn:checked ~ #navi {
    position: fixed;
    overflow-y: scroll;
    overflow-x: hidden;
    height:auto;
  }
.navi_logo_sp_wrap{
display: block;
background: #FFF;
padding: 4rem 5rem 3rem;
margin: -3rem -5rem 4rem;
}
.navi_logo_sp{
display: block;
width: 40%;
max-width: 140px;
margin-bottom: 0;
}

.navi_tel{
margin-top:0rem;
text-align: left;
}
.navi_tel_sub{
text-align: left;
margin-bottom: 3rem;
}
}
@media screen and (max-width: 550px) {
  #menu {
    padding: 30px 5rem 0;
  }
  #menu li {
    font-size: 3.0rem;
  }
    #menu li a {
    padding: 2.5rem 0;
  }
  .navi_logo_sp{
}
.navi_tel{
font-size: 4.0rem;
font-weight: 600;
margin-top:0rem;
text-align: left;
}
.navi_tel_sub{
font-size: 2.4rem;
text-align: left;
margin-bottom: 3rem;
}
}

/* スマホ用 */
@media screen and (max-width: 1070px) {
  /* ハンバーガーメニューがクリックされた時 */
  #menu-navibtn:checked ~ * #menu {
    display: block;
  }
  #menu-navibtn:checked ~ * #menu > li {
    max-height: inherit;
    overflow-y: visible;
  }
}

/* ハンバーガー */
#navi #navibtn {
  display: none;
  position: relative;
  z-index: 91;
}
@media screen and (max-width: 1070px) {
  #navi #navibtn {
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
    /*cursor: pointer;*/
  }
  .btn_modal{
  border: 0;
  padding: 0;
  margin: 0;
  background: none;
  display: block;
      width: 40px;
    height: 40px;
  }
  #close_modal{
  display: none;
  }
  #navibtn span {
    display: block;
    width: 40px;
    height: 40px;
    /*background-color: #FFF;*/
  }
  #navibtn span span {
    display: block;
    overflow: hidden;
    width: 1px;
    height: 1px;
  }
  #navibtn span span::before,
  #navibtn span span::after,
  #navibtn span::after {
    position: absolute;
    left:10px;
    content:"";
    width: 20px;
    height: 3px;
    background-color: #494746;
  }
  /* 上の棒 */
  #navibtn span span::before {
    top:10px;
  }
  #navibtn.open span span::before {
    top:17px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    background-color: #494746;
  }
  /* 下の棒 */
  #navibtn span::after {
    bottom:10px;
    width: 20px;
  }
  #navibtn.open span::after {
    bottom:23px;
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    left:10px;
    width: 20px;
    background-color: #494746;
  }
  /* 中の棒 */
  #navibtn span span::after {
    top:18px;
  }
  #navibtn.open span span::after {
    display: none;
  }
}


/*****sub_news****/
.sub_news_wrap{
background: #f6f6f6;
padding: 1.5rem 3rem;
}
.sub_news_box{
}
.sub_news_box .top_news_list{
margin: 1rem auto;
font-size: 1.4rem;
}
.sub_news_box .top_news_list dl dt{
width: 20%;
padding: 1rem 0rem;
}
.sub_news_box .top_news_list dl dd{
width: 80%;
padding: 1rem 0rem;
}
@media (max-width : 1070px) {
.sub_news_wrap{
margin: 60px 0 3rem;
padding: 1.5rem 3rem;
}
.sub_news_box .top_news_list dl dt{
width: 15%;
  padding:1rem 0rem;
}
.sub_news_box .top_news_list dl dd{
width: 85%;
  padding:1rem 0rem;
}
}
@media (max-width : 550px) {
.sub_news_box .top_news_list{
margin: 2rem auto;
font-size: 2.2rem;
}
.sub_news_box .top_news_list dl dt{
width: 15%;
  padding:1rem 0rem;
}
.sub_news_box .top_news_list dl dd{
width: 85%;
  padding:1rem 0rem;
}
}
/*****フッター****/

.l-footer {
    width: 100%;
	margin-top:0px;
    padding:0 0 0;
    background: #ffd200;
    color: #494443;
    position: relative;
}
.l-footer_area{
margin-top: auto;
}
.l-footer .l-footer__inner {
    width:100%;
	max-width: 940px;
    margin: 0 auto;
    padding: 0;
	position:relative;
}
.l-footer_wrap{
padding: 3rem;
line-height: 1.4;
}
.top .l-footer_wrap{
padding: 5rem 3rem;
}
.foot_cp_name{
font-size: 2.2rem;
font-weight: 600;
}
.foot_cp_add{
font-size: 1.4rem;
margin: 1rem 0 0;
font-weight: 600;
}
.foot_cp_add a{
color: #494443;
position: relative;
padding-right: 22px;
display: inline-block;
}
.foot_cp_add a::after {
  content: '';
  position: absolute;
  bottom: 3px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
right: 0;
  width: 16px;
  height: 16px;
  background-image:url("../img/icon_map.png");
}
.foot_cp_time{
font-size: 1.4rem;
margin: 1rem 0 0;
font-weight: 600;
}
.foot_cp_outline{
font-size: 1.4rem;
margin: 4rem 0 0;
font-weight: 600;
}
.foot_cp_outline a{
display: inline-block;
color: #494443;
text-decoration: none;
background: url("../img/foot_cp_arrow.png") right center no-repeat;
background-size: 16px auto;
padding-right: 24px;
}
.foot_sns_wrap{
display: flex;
  justify-content: space-between;
}
.foot_cp_copy{
font-size: 1.0rem;
margin: 2rem 0 0;
}
.foot_sns{
vertical-align: bottom;
margin-top: auto;
}
.foot_sns li{
display: inline-block;
width: 27px;
margin-left: 5px;
}

#page-top{
    height: 40px;
    width: 40px;
    position: fixed;
    left: 50%;
    margin-left: 480px;
    bottom: 0px;
    z-index: 102;
    transition: all 0s;
    /*transition: all .2s;*/
}
#page-top.scrft{
position: fixed;
}
.top #page-top{
display: none;
}
.page-top{
position: absolute;
    height: 40px;
    width: 40px;
    right: 0;
    top: -40px;
    z-index: 1;
    transition: all 0s;
}
.top .page-top{
display: none;
}
@media (max-width : 1070px) {
#page-top{
    margin-left: 235px;
}

.page-top{
    height: 40px;
    width: 40px;
    position: fixed;
    left: 50%;
    margin-left: 235px;
    top: auto;
    bottom: 0px;
    z-index: 80;
    transition: all 0s;
    /*transition: all .2s;*/
}
.top .page-top{
display: block;
position: absolute;
    height: 40px;
    width: 40px;
    right: 0;
    top: -40px;
}
}
@media (max-width : 550px) {
.l-footer {
}
.l-footer .l-footer__inner {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.l-footer_wrap{
padding: 5rem;
}
.top .l-footer_wrap{
padding: 5rem;
}
.foot_cp_name{
font-size: 3.6rem;
}
.foot_cp_add{
font-size: 2.0rem;
margin: 2rem 0 0;
}
.foot_cp_add a::after {
  bottom: 0px;
}
.foot_cp_time{
font-size: 2.0rem;
margin: 2rem 0 0;
}
.foot_cp_outline{
font-size: 2.0rem;
margin: 6rem 0 0;
}
.foot_cp_outline a{
background-size: 12px auto;
padding-right: 20px;
}
.foot_sns_wrap{
display: flex;
  justify-content: space-between;
}
.foot_cp_copy{
font-size: 1.6rem;
margin: 3rem 0 0;
}
.foot_sns{
vertical-align: bottom;
margin-top: auto;
}
.foot_sns li{
display: inline-block;
width: 27px;
margin-left: 5px;
}
#page-top{
    bottom: 0rem;
    left: auto;
    right: 0;
    margin-left: 0;
	width:30px;
    height: 30px;
}
#page-top.scrft{
position: absolute;
}
.page-top{
    height: 30px;
    width: 30px;
    left: auto;
    right: 0;
    margin-left: 0;
}
.top .page-top{
	width:30px;
    height: 30px;
    top: -30px;
}

}


/***** bg ****/
.bg_wrap{
position: fixed;
width: 100%;
height: 100%;
filter: blur(20px);
opacity: 0.8;
}
.bg_fig{
position: absolute;
filter: blur(20px);
}
.bg_fig_01,
.bg_fig_04,
.bg_fig_07{
background: #0fbcff;
}
.bg_fig_02,
.bg_fig_03,
.bg_fig_05,
.bg_fig_06{
background: #ffd200;
}
.user .bg_fig_01,
.user .bg_fig_04,
.user .bg_fig_07,
.privacy .bg_fig_01,
.privacy .bg_fig_04,
.privacy .bg_fig_07{
background: #ffd200;
}
.user .bg_fig_02,
.user .bg_fig_03,
.user .bg_fig_05,
.user .bg_fig_06,
.privacy .bg_fig_02,
.privacy .bg_fig_03,
.privacy .bg_fig_05,
.privacy .bg_fig_06{
background: #0fbcff;
}
.bg_fig_01{
width: 380px;
height: 320px;
top: -40px;
left: 50%;
margin-left: -600px;
clip-path: polygon(0 3rem, 100% 0%, 100% calc(100% - 3rem), 0% 100%);
animation: fluidrotate 20s ease-in-out 0s infinite;
}
.bg_fig_02{
width: 40px;
height: 30px;
top: 50px;
left: 50%;
margin-left: -170px;
clip-path: polygon(0 0.5rem, 100% 0%, 100% calc(100% - 0.5rem), 0% 100%);
animation: fluidrotate 18 sease-in-out 0s infinite;
}
.bg_fig_03{
width: 120px;
height: 80px;
top: 200px;
left: 50%;
margin-left: -250px;
clip-path: polygon(0 1rem, 100% 0%, 100% calc(100% - 1rem), 0% 100%);
animation: fluidrotate 16s ease-in-out 0s infinite;
}
.bg_fig_04{
width: 220px;
height: 190px;
bottom: 100px;
left: 50%;
margin-left: -250px;
clip-path: polygon(0 2rem, 100% 0%, 100% calc(100% - 2rem), 0% 100%);
animation: fluidrotate 22s ease-in-out 0s infinite;
}
.bg_fig_05{
width: 130px;
height: 90px;
bottom: 200px;
left: 50%;
margin-left: -600px;
clip-path: polygon(0 1rem, 100% 0%, 100% calc(100% - 1rem), 0% 100%);
animation: fluidrotate 14s ease-in-out 0s infinite;
}
.bg_fig_06{
width: 50px;
height: 40px;
bottom: 200px;
left: 50%;
margin-left: -280px;
clip-path: polygon(0 0.6rem, 100% 0%, 100% calc(100% - 0.6rem), 0% 100%);
animation: fluidrotate 12s ease-in-out 0s infinite;
}
.bg_fig_07{
width: 500px;
height: 420px;
top: 400px;
left: 50%;
margin-left: 200px;
clip-path: polygon(0 4rem, 100% 0%, 100% calc(100% - 4rem), 0% 100%);
animation: fluidrotate 15s ease-in-out 0s infinite;
}

@keyframes fluidrotate {  
    
0%, 100% {
    border-radius: 0% 0% 0% 0%;
    transform: translate(0 ,0);
}
14% {
    border-radius: 50% 30% 50% 30%;
    transform: translate(3rem ,3rem);
}
28% {
    border-radius: 30% 50% 30% 50%;
    transform: translate(-3rem ,0);
}
42% {
    border-radius: 50% 50% 50% 50%;
    transform: translate(0 ,-3rem);
}
56% {
    border-radius: 40% 20% 40% 20%;
    transform: translate(3rem ,3rem);
}
70% {
    border-radius: 70% 70% 70% 70%;
    transform: translate(-3rem ,-3rem);
}
84% {
    border-radius: 30% 30% 30% 30%;
    transform: translate(3rem ,3rem);
}
    
}

/***** top head ****/
.top_head_area{
width: 100%;
background: #FFF;
padding: 2rem;
}
.top_head_logo{
max-width: 130px;
margin: 0 auto;
}
@media screen and (max-width: 550px) {
.top_head_area{
padding: 2rem;
}
.top_head_logo{
width: 25%;
}
}

/***** top ****/
.top_wrapper{
width: 100%;
background: #FFF;
position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.top_mv_wrap{
width: 100%;
}
.top_mv_box{
width: 100%;
height: 400px;
position: relative;
}
@media screen and (min-width: 1800px) {
.top_mv_box{
height: 500px;
}
}
.top_mv_box_01{
background: #0fbcff;
clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 10vw), 0% 100%);
}
.top_mv_box_02{
background: #ffd200;
clip-path: polygon(0 10vw, 100% 0, 100% 100%, 0% 100%);
margin-top: -10vw;
}
.top_mv_inn{
position: absolute;
top: 60px;
left: 50%;
margin-left: -450px;
}
.top_mv_box_02 .top_mv_inn{
position: absolute;
top: auto;
bottom: 60px;
left: 50%;
margin-left: 120px;
}
.top_mv_fig{
max-width: 330px;
}
.top_mv_btn{
text-align: left;
margin-top: 1rem;
}
.top_mv_box_02 .top_mv_btn{
text-align: right;
}
a.btn_top{
text-align: center;
display: inline-block;
text-decoration: none;
background: #FFF url("../img/top_arrow_01.png") left 1.5rem  center no-repeat;
background-size: 18px auto;
color: #0fbcff;
font-size: 1.4rem;
font-weight: 600;
padding: 1rem 2rem 1rem 4rem;
border-radius: 3rem;
}
.top_mv_box_02 a.btn_top{
background: #FFF url("../img/top_arrow_02.png") right 1.5rem  center no-repeat;
background-size: 18px auto;
color: #ffd200;
padding: 1rem 4rem 1rem 2rem;
}
.top_news_wrap{
width: 100%;
max-width: 960px;
height: 100%;
margin: 6rem auto;
text-align: center;
letter-spacing: -0.04em;
    display: flex;
    justify-content: center; /*左右中央揃え*/
    align-items: center;     /*上下中央揃え*/
        min-height: 120px;
}
.top_news_wrap_inn{
width: 100%;
height: 100%;
/*    display: flex;*/
    justify-content: center; /*左右中央揃え*/
    align-items: center;     /*上下中央揃え*/
}
.top_news_box{
letter-spacing: normal;
display: inline-block;
width: 45%;
max-width: 420px;
text-align: left;
vertical-align: top;
margin: 0 5% 0 0;
}
.top_news_box_02{
margin-right: 0;
}
.top_news_ttl{
font-size: 1.8rem;
color: #0fbcff;
font-weight: 600;
position: relative;
padding: 0.8rem 0 0.8rem 30px;
border-bottom: solid 1px #CCC;
}
.top_news_box_02 .top_news_ttl{
color: #ffaa00;
}
.top_news_ttl::before {
  content: '';
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  left: 0;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-image:url("../img/news_icon_01.png");
}
.top_news_box_02 .top_news_ttl::before {
  background-image:url("../img/news_icon_02.png");
}
.top_news_list{
margin: 1rem auto;
font-size: 1.4rem;
}
.top_news_list dl{
  display: flex;
  flex-wrap: wrap;
}
.top_news_list dl dt{
width: 15%;
  padding:1rem 0rem;
}
.top_news_list dl dd{
width: 85%;
  padding:1rem 0rem;
}
@media (max-width : 1070px) {
.top_wrapper{
max-width: 550px;
margin: 0 auto;
box-shadow: 0px 0px 30px 15px rgb(0,0,0,0.15);
}
.top_mv_box{
height: auto;
position: relative;
}
.top_mv_box_01{
clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 100px), 0% 100%);
}
.top_mv_box_02{
clip-path: polygon(0 100px, 100% 0, 100% 100%, 0% 100%);
margin-top: -100px;
}
.top_mv_inn{
position: static;
top:auto;
left: auto;
margin:0 auto 0 7%;
padding: 10% 0 15% 0%;
max-width: 330px;
}
.top_mv_box_02 .top_mv_inn{
position: static;
top: auto;
bottom: auto;
left: auto;
margin: 0 7% 0 auto;
padding: 15% 0 10% 0%;
}
.top_news_wrap{
margin: 4rem auto;
display: block;
height: auto;
}
.top_news_wrap_inn{
display: block;
height: auto;
}
.top_news_box{
width: 100%;
max-width: 480px;
margin: 1rem auto;
padding: 0 5rem;
}
}

@media screen and (max-width: 550px) {
.top_mv_box_01{
clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 15vw), 0% 100%);
}
.top_mv_box_02{
clip-path: polygon(0 15vw, 100% 0, 100% 100%, 0% 100%);
margin-top: -15vw;
}
.top_mv_inn{
margin:0 auto 0 5rem;
padding: 10% 0 18% 0%;
width: 72%;
}
.top_mv_box_02 .top_mv_inn{
margin: 0 5rem 0 auto;
padding: 18% 0 10% 0%;
}
.top_mv_btn{
margin-top: 2rem;
}
a.btn_top{
background-size: 14px auto;
background-position: left 2.0rem center;
font-size: 2.3rem;
padding: 2rem 4rem 2rem 7rem;
border-radius: 8rem;
}
.top_mv_box_02 a.btn_top{
background-size: 14px auto;
background-position: right 2.0rem center;
font-size: 2.3rem;
padding: 2rem 7rem 2rem 4rem;
border-radius: 8rem;
}
.top_news_wrap{
margin: 4rem auto;
}
.top_news_box{
margin: 2rem auto;
}
.top_news_ttl{
font-size: 2.8rem;
padding: 0.8rem 0 0.8rem 22px;
}
.top_news_box_02 .top_news_ttl{
}
.top_news_ttl::before {
  width: 16px;
  height: 16px;
}
.top_news_box_02 .top_news_ttl::before {
}
.top_news_list{
margin: 1rem auto;
font-size: 2.2rem;
}
.top_news_list dl{
}
.top_news_list dl dt{
width: 15%;
  padding:1.5rem 0rem;
}
.top_news_list dl dd{
width: 85%;
  padding:1.5rem 0rem;
}
}

/***** pg wrap ****/
.pg_wrap{
width: 100%;
max-width: 550px;
margin: 0 auto;
background: #FFF;
box-shadow: 0px 0px 30px 15px rgb(0,0,0,0.15);
position: absolute;
top: 0;
left: 50%;
margin-left: -30px;
overflow: hidden;
}
@media screen and (max-width: 1220px) {
.pg_wrap{
margin-left: -55px;
}
}
@media screen and (max-width: 1070px) {
.pg_wrap{
position: relative;
top:auto;
left:auto;
margin: 0 auto;
box-shadow:none;
}
.main_wrap{
position: relative;
width: 100%;
max-width: 550px;
margin: 0 auto;
background: #FFF;
box-shadow: 0px 0px 30px 15px rgb(0,0,0,0.15);
margin-top: -60px;
padding-top: 60px;
}
}
@media screen and (max-width: 550px) {
.pg_wrap{
}
}


/***** company ****/
.company_wrap{
width: 100%;
max-width: 550px;
margin: 0 auto;
background: #FFF;
box-shadow: 0px 0px 30px 15px rgb(0,0,0,0.15);
position: relative;
}
@media screen and (max-width: 550px) {
.company_wrap{
}
}

.company_head_area{
margin: 3rem auto 3rem;
}
.company_main_area{
margin: 0 auto 10rem;
}
.cpy_tbl{
margin: 0 auto 6rem;
}
.cpy_tbl dl {
display: flex;
flex-flow: row wrap;
width: 100%;
}
.cpy_tbl dt {
flex-basis: 25%;
padding: 1.2rem 0;
border-bottom: 1px solid #CCC;
font-size: 1.6rem;
color: #ffa900;
font-weight: 600;
}
.cpy_tbl dd {
flex-basis: 75%;
padding: 1.2rem 0;
border-bottom: 1px solid #CCC;
font-size: 1.6rem;
}

.cpy_sub_ttl{
font-size: 1.6rem;
color: #ffa900;
font-weight: 600;
}
.cpy_jig_box{
margin:2rem auto 5rem;
}
.cpy_jig_ttl{
font-size: 1.6rem;
color: #0fbcff;
font-weight: 600;
}
.cpy_jig_read{
font-size: 1.6rem;
border-top: solid 1px #CCC;
margin-top: 1rem;
padding-top: 1rem;
}
@media screen and (max-width: 550px) {
.company_head_area{
margin: 6rem auto 6rem;
}
.company_main_area{
margin: 0 auto 10rem;
}
.cpy_tbl{
margin: 0 auto 6rem;
}
.cpy_tbl dl {
}
.cpy_tbl dt {
padding: 2rem 0;
font-size: 2.4rem;
}
.cpy_tbl dd {
padding: 2rem 0;
font-size: 2.4rem;
}

.cpy_sub_ttl{
font-size: 2.4rem;
}
.cpy_jig_box{
margin:2.5rem auto 6rem;
}
.cpy_jig_ttl{
font-size: 2.4rem;
}
.cpy_jig_read{
font-size: 2.4rem;
margin-top: 1.5rem;
padding-top: 1.5rem;
}
}




/***** head ****/

.mv_wrap{
position: relative;
width: 100%;
overflow: hidden;
}
.recruit .mv_wrap{
margin-top: 2.5rem;
}
.mv_rec_fig{
width: 72.8%;
margin: 3rem -1px 0 auto;
opacity: 1.0;
clip-path: polygon(0 3rem, 100% 0%, 100% calc(100% - 3rem), 0% 100%);
position: relative;
}
.mv_user_fig{
width: 77.9%;
margin: 5rem 0 0 auto;
opacity: 1.0;
clip-path: polygon(0 3rem, 100% 0%, 100% calc(100% - 3rem), 0% 100%);
}
.mv_rec_catch{
position: absolute;
top:0;
left: -0.4rem;
width: 91%;
}
.mv_user_catch{
width: 82%;
margin: -2.5rem auto 0 3rem;
position: relative;
}
.mv_rec_read_head{
position: relative;
transform: translateY(-9rem);
}
.mv_rec_read_catch_wrap{
background: #0fbcff;
width: 66%;
margin: 0rem auto 0 0;
padding: 6rem 3rem 5rem;
clip-path: polygon(0 3rem, 100% 0%, 100% calc(100% - 3rem), 0% 100%);
}
.mv_rec_read_catch{
margin: 0;
padding: 0;
}
.mv_rec_read_head_sq{
position: absolute;
background: #ffd200;
}
.mv_rec_read_head_sq1{
top: -1rem;
left: 4rem;
width: 4.4%;
height: 1.5rem;
clip-path: polygon(0 0.3rem, 100% 0%, 100% calc(100% - 0.3rem), 0% 100%);
}
.mv_rec_read_head_sq2{
top: 20rem;
left: 38rem;
width: 5.6%;
height: 2rem;
clip-path: polygon(0 0.3rem, 100% 0%, 100% calc(100% - 0.3rem), 0% 100%);
}
.mv_rec_read_head_sq3{
top: 26rem;
left: 30rem;
width: 15%;
height: 5rem;
clip-path: polygon(0 0.8rem, 100% 0%, 100% calc(100% - 0.8rem), 0% 100%);
}
.width_def{
width: calc(100% - 6rem);
margin-left: auto;
margin-right: auto;
}
.mv_rec_read_txt{
font-size: 1.6rem;
margin: -5rem auto 2rem;
}
.user .mv_rec_read_txt{
margin: 3rem auto 3rem;
}
.mv_user_head{
position: relative;
}
.mv_user_head_sq{
position: absolute;
background: #0fbcff;
}
.mv_user_head_sq0{
top: -3rem;
left: 0rem;
width: 51.5%;
height: 23rem;
clip-path: polygon(0 2.6rem, 100% 0%, 100% calc(100% - 2.6rem), 0% 100%);
background: #ffd200;
}
.mv_user_head_sq1{
top: -3rem;
left: 7rem;
width: 12%;
height: 5rem;
clip-path: polygon(0 0.8rem, 100% 0%, 100% calc(100% - 0.8rem), 0% 100%);
}
.mv_user_head_sq2{
top: -2rem;
left: 31rem;
width: 5.6%;
height: 2rem;
clip-path: polygon(0 0.3rem, 100% 0%, 100% calc(100% - 0.3rem), 0% 100%);
}
.mv_user_head_sq3{
top: 23rem;
left: 7rem;
width:5.5%;
height: 2rem;
clip-path: polygon(0 0.3rem, 100% 0%, 100% calc(100% - 0.3rem), 0% 100%);
}
.mv.loadani{
animation: topani01 1.0s 0s ease both;
}
@media screen and (max-width: 1070px) {
.recruit .mv_wrap{
margin-top: 0;
}
}
@media screen and (max-width: 550px) {
.mv_wrap{
}

.mv_rec_fig{
margin: 4rem -1px 0 auto;
clip-path: polygon(0 7vw, 100% 0%, 100% calc(100% - 7vw), 0% 100%);
}
.mv_user_fig{
margin: 7rem 0 0 auto;
clip-path: polygon(0 7vw, 100% 0%, 100% calc(100% - 7vw), 0% 100%);
}
.mv_rec_catch{
left: -1rem;
}
.mv_user_catch{
width: 80%;
margin: -3rem auto 0 5rem;
}
.mv_rec_read_head{
position: relative;
transform: translateY(-14rem);
}
.mv_rec_read_catch_wrap{
margin: 0 auto 0 0;
padding: 8rem 5rem 7rem;
clip-path: polygon(0 5vw, 100% 0%, 100% calc(100% - 5vw), 0% 100%);
}
.mv_rec_read_head_sq{
}
.mv_rec_read_head_sq1{
top: -1rem;
left: 5rem;
width: 4.4%;
height: 2.5rem;
clip-path: polygon(0 0.4vw, 100% 0%, 100% calc(100% - 0.4vw), 0% 100%);
}
.mv_rec_read_head_sq2{
top: 24rem;
left: 52rem;
width: 5.6%;
height: 3rem;
clip-path: polygon(0 0.4vw, 100% 0%, 100% calc(100% - 0.4vw), 0% 100%);
}
.mv_rec_read_head_sq3{
top: 33rem;
left: 42rem;
width: 15%;
height: 8rem;
clip-path: polygon(0 1.5vw, 100% 0%, 100% calc(100% - 1.5vw), 0% 100%);
}
.width_def{
width: calc(100% - 10rem);
margin-left: auto;
margin-right: auto;
}
.mv_rec_read_txt{
font-size: 2.3rem;
margin: -9rem auto 3rem;
}
.user .mv_rec_read_txt{
margin: 5rem auto 4rem;
}
.mv_user_head_sq0{
top: -4rem;
left: 0rem;
width: 51.5%;
height: 32rem;
clip-path: polygon(0 4vw, 100% 0%, 100% calc(100% - 4vw), 0% 100%);
}
.mv_user_head_sq1{
top: -5.5rem;
left: 10.5rem;
width: 12%;
height: 7rem;
clip-path: polygon(0 1vw, 100% 0%, 100% calc(100% - 1vw), 0% 100%);
}
.mv_user_head_sq2{
top: -2rem;
left: 42rem;
width: 5.6%;
height: 3rem;
clip-path: polygon(0 0.6vw, 100% 0%, 100% calc(100% - 0.6vw), 0% 100%);
}
.mv_user_head_sq3{
top: 32rem;
left: 8.5rem;
width:5.5%;
height: 3rem;
clip-path: polygon(0 0.6vw, 100% 0%, 100% calc(100% - 0.6vw), 0% 100%);
}
}

@keyframes topani01 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
img {
vertical-align: bottom;
margin: 0;
padding: 0;
}
img {
display: block;
margin: 0 auto;
padding: 0;
}

/*****コンテンツ****/
.contents{
	margin-top:0em;
	min-height:500px;
	margin-bottom:0;
}
.main_contents{
position: relative;
}

@media screen and (max-width: 550px) {
.contents{
	margin-top:0em;
	margin-bottom:0em;
}
.main_contents{
}
}

.main_contents a{
color: #494443;
text-decoration: underline;
text-underline-offset: 0.2em;
text-decoration-thickness: 1px;
}
.main_contents a:hover{
opacity: 0.8;
/*color: #000000;*/
}


/***** rec_messe_area ****/
.rec_messe_area{
position: relative;
margin: 0px auto;
}
.rec_messe_box{
margin: 3rem auto;
}
.rec_messe_box_b{
margin-top: 6rem;
}
.rec_messe_box_head{
position: relative;
}
.rec_messe_box_fig{
width: 84%;
margin: 0 0 0 auto;
clip-path: polygon(0 3.5rem, 100% 0%, 100% calc(100% - 3.5rem), 0% 100%);
position: relative;
z-index: 2;
}
.rec_messe_box_b .rec_messe_box_fig{
width: 84%;
margin: 0 auto 0 0;
clip-path: polygon(0 3.5rem, 100% 0%, 100% calc(100% - 3.5rem), 0% 100%);
}
.rec_messe_box_head_sq{
position: absolute;
background: #ffd200;
}
.rec_messe_box_b .rec_messe_box_head_sq{
background: #0fbcff;
}
.rec_messe_box_head_sq1{
top: 2.2rem;
left: 7rem;
width: 5.6%;
height: 2rem;
clip-path: polygon(0 0.3rem, 100% 0%, 100% calc(100% - 0.3rem), 0% 100%);
z-index: 3;
}
.rec_messe_box_b .rec_messe_box_head_sq1{
top: 0rem;
left: 2rem;
}
.rec_messe_box_head_sq2{
top: 7rem;
left: 0rem;
width: 66%;
height: 30rem;
clip-path: polygon(0 3rem, 100% 0%, 100% calc(100% - 3rem), 0% 100%);
z-index: 1;
}
.rec_messe_box_b .rec_messe_box_head_sq2{
top: -3rem;
left: auto;
right: 0;
}
.rec_messe_box_head_sq3{
top: 34rem;
left: 45rem;
width: 4.2%;
height: 1.5rem;
clip-path: polygon(0 0.2rem, 100% 0%, 100% calc(100% - 0.2rem), 0% 100%);
}
.rec_messe_box_b .rec_messe_box_head_sq3{
top: 27rem;
left: 42rem;
width: 15%;
height: 5rem;
clip-path: polygon(0 0.6rem, 100% 0%, 100% calc(100% - 0.6rem), 0% 100%);
}
.rec_messe_box_txt1{
margin: 6rem auto 2rem;
font-size: 3.2rem;
font-weight: 600;
color: #ffa900;
line-height: 1.3;
}
.rec_messe_box_b .rec_messe_box_txt1{
margin: 2rem auto 2rem;
color: #0fbcff;
}
.rec_messe_box_txt2{
font-size: 1.6rem;
}

@media screen and (max-width: 550px) {
.rec_messe_box{
margin: 5rem auto;
}
.rec_messe_box_b{
margin-top: 10rem;
}
.rec_messe_box_fig{
clip-path: polygon(0 6vw, 100% 0%, 100% calc(100% - 6vw), 0% 100%);
}
.rec_messe_box_b .rec_messe_box_fig{
clip-path: polygon(0 6vw, 100% 0%, 100% calc(100% - 6vw), 0% 100%);
}
.rec_messe_box_head_sq{
}
.rec_messe_box_b .rec_messe_box_head_sq{
}
.rec_messe_box_head_sq1{
top: 3rem;
left: 10rem;
width: 5.6%;
height: 3.5rem;
clip-path: polygon(0 0.5vw, 100% 0%, 100% calc(100% - 0.5vw), 0% 100%);
z-index: 3;
}
.rec_messe_box_b .rec_messe_box_head_sq1{
top: -2rem;
left: 4rem;
}
.rec_messe_box_head_sq2{
top: 15rem;
left: 0rem;
width: 66%;
height: 35rem;
clip-path: polygon(0 5vw, 100% 0%, 100% calc(100% - 5vw), 0% 100%);
z-index: 1;
}
.rec_messe_box_b .rec_messe_box_head_sq2{
top: -5rem;
left: auto;
right: 0;
}
.rec_messe_box_head_sq3{
top: 45rem;
left: 60rem;
width: 4.2%;
height: 2.5rem;
clip-path: polygon(0 0.5vw, 100% 0%, 100% calc(100% - 0.5vw), 0% 100%);
}
.rec_messe_box_b .rec_messe_box_head_sq3{
top: 37rem;
left: 55rem;
width: 15%;
height: 8rem;
clip-path: polygon(0 1vw, 100% 0%, 100% calc(100% - 1vw), 0% 100%);
}
.rec_messe_box_txt1{
margin: 8rem auto 4rem;
font-size: 4.4rem;
}
.rec_messe_box_b .rec_messe_box_txt1{
margin: 3rem auto 4rem;
}
.rec_messe_box_txt2{
font-size: 2.3rem;
}
}

/***** rec_hum_area ****/
.rec_hum_area{
position: relative;
}
.rec_hum_head{
background: #0fbcff;
color: #FFF;
font-size: 3.2rem;
font-weight: 600;
line-height: 1.3;
clip-path: polygon(0 3.5rem, 100% 0%, 100% calc(100% - 3.5rem), 0% 100%);
padding: 6rem 3rem 15rem;
}
.rec_hum_list_wrap{
padding: 0 8rem 0 3rem;
width: 100%;
overflow: hidden;
margin: -10rem 0 0;
}
ul.rec_hum_list{
width: 100%;
}
ul.rec_hum_list li{
vertical-align: top;
margin: 0 3rem 0 0;
}
ul.rec_hum_list li img{
width: 100%;
}
.rec_hum_fig_wrap{
position: relative;
}
.rec_hum_fig{
clip-path: polygon(0 3rem, 100% 0%, 100% calc(100% - 3rem), 0% 100%);
}
.rec_hum_name{
position: absolute;
bottom: 5rem;
left: 2rem;
font-size: 2.6rem;font-weight: 600;
color: #FFF;
line-height: 1.4;
}
.rec_hum_name span{
display: block;
font-size: 1.6rem;
}
.slick-list{
    overflow: visible;
}
.rec_hum_read{
font-size: 1.6rem;
margin: 2rem auto;
}
@media screen and (max-width: 550px) {
.rec_hum_head{
font-size: 4.4rem;
clip-path: polygon(0 8vw, 100% 0%, 100% calc(100% - 8vw), 0% 100%);
padding: 10rem 5rem 20rem;
}
.rec_hum_list_wrap{
padding: 0 12rem 0 5rem;
width: 100%;
overflow: hidden;
margin: -15rem 0 0;
}
ul.rec_hum_list{
}
ul.rec_hum_list li{
margin: 0 5rem 0 0;
}
ul.rec_hum_list li img{
}
.rec_hum_fig_wrap{
}
.rec_hum_fig{
clip-path: polygon(0 4vw, 100% 0%, 100% calc(100% - 4vw), 0% 100%);
}
.rec_hum_name{
bottom: 6rem;
left: 3rem;
font-size: 3.4rem;
}
.rec_hum_name span{
font-size: 2.2rem;
}
.rec_hum_read{
font-size: 2.3rem;
margin: 3rem auto;
}
}


/***** rec_boshu_area ****/
.rec_boshu_area{
margin: 5rem auto 8rem;
}
.rec_boshu_head{
position: relative;
}
.rec_boshu_head_txt{
background: #0fbcff;
color: #FFF;
font-size: 3.0rem;
font-weight: 600;
line-height: 1.3;
clip-path: polygon(0 2.0rem, 100% 0%, 100% calc(100% - 2.0rem), 0% 100%);
padding: 4rem 3rem 4rem;
width: 22rem;
}
.rec_boshu_head_sq{
position: absolute;
background: #ffd200;
}
.rec_boshu_head_sq1{
top: -1rem;
left: 3rem;
width: 4.4%;
height: 1.5rem;
clip-path: polygon(0 0.3rem, 100% 0%, 100% calc(100% - 0.3rem), 0% 100%);
}
.rec_boshu_head_sq2{
top:2rem;
left: 25rem;
width: 5.6%;
height: 2rem;
clip-path: polygon(0 0.3rem, 100% 0%, 100% calc(100% - 0.3rem), 0% 100%);
}
.rec_boshu_head_sq3{
top: 6rem;
left: 18rem;
width: 15%;
height: 5rem;
clip-path: polygon(0 0.8rem, 100% 0%, 100% calc(100% - 0.8rem), 0% 100%);
}
.rec_boshu_box{
border-top: solid 1px #cccccc;
margin: 4rem auto;
padding-top: 2rem;
}
.rec_boshu_box_fs{
border: none;
margin-top: 2rem;
}
.rec_boshu_ttl{
font-size: 2.4rem;
color: #0fbcff;
font-weight: 600;
position: relative;
padding-left: 30px;
}
.rec_boshu_ttl::before {
  content: '';
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  left: 0;
  transform: translateY(-50%);
  width: 19px;
  height: 25px;
  background-image:url("../img/rec_boshu_icon.png");
}
.rec_boshu_read{
font-size: 1.6rem;
margin: 0.5rem auto;
}
.rec_boshu_btn{
text-align: right;
margin: 1.5rem auto;
}
a.btn_boshu{
text-align: center;
display: inline-block;
text-decoration: none;
background: #0fbcff url("../img/rec_boshu_arrow.png") right 1rem  center no-repeat;
background-size: 18px auto;
color: #FFF;
font-size: 1.5rem;
font-weight: 600;
padding: 1rem 4rem 1rem 2rem;
border-radius: 3rem;
position: relative;
margin: 0 0 0 auto;
}
@media screen and (max-width: 550px) {
.rec_boshu_area{
margin: 8rem auto;
}
.rec_boshu_head{
}
.rec_boshu_head_txt{
font-size: 4.4rem;
clip-path: polygon(0 2.5vw, 100% 0%, 100% calc(100% - 2.5vw), 0% 100%);
padding: 5rem 4rem 5rem;
width: 30rem;
}
.rec_boshu_head_sq{
}
.rec_boshu_head_sq1{
top: -3rem;
left: 3rem;
width: 4.4%;
height: 2.5rem;
clip-path: polygon(0 0.5vw, 100% 0%, 100% calc(100% - 0.5vw), 0% 100%);
}
.rec_boshu_head_sq2{
top:2rem;
left: 34rem;
width: 5.6%;
height: 3.5rem;
clip-path: polygon(0 0.5vw, 100% 0%, 100% calc(100% - 0.5vw), 0% 100%);
}
.rec_boshu_head_sq3{
top: 10rem;
left: 25rem;
width: 15%;
height: 7rem;
clip-path: polygon(0 1vw, 100% 0%, 100% calc(100% - 1vw), 0% 100%);
}
.rec_boshu_box{
margin: 6rem auto;
padding-top: 3rem;
}
.rec_boshu_box_fs{
border: none;
margin-top: 3rem;
}
.rec_boshu_ttl{
font-size: 3.2rem;
padding-left: 24px;
}
.rec_boshu_ttl::before {
  width: 16px;
  height: 22px;
}
.rec_boshu_read{
font-size: 2.3rem;
margin: 1.0rem auto;
}
.rec_boshu_btn{
margin: 3rem auto;
}
a.btn_boshu{
background-size: 14px auto;
font-size: 2.3rem;
padding: 2rem 7rem 2rem 4rem;
border-radius: 8rem;
}
}

/***** user_tsuyomi_area ****/
.user_tsuyomi_area{
position: relative;
}
.user_tsuyomi_ttl{
color: #ffa900;
font-size: 3.2rem;
font-weight: 600;
margin: 2rem auto;
}
.user_tsuyomi_list_wrap{
padding: 5rem 8rem 0 3rem;
width: 100%;
overflow: hidden;
margin: 0 0 0;
}
ul.user_tsuyomi_list{
width: 100%;
}
ul.user_tsuyomi_list li{
vertical-align: top;
margin: 0 3rem 0 0;
}
ul.user_tsuyomi_list li img{
width: 100%;
}
.user_tsuyomi_fig_wrap{
position: relative;
}
.user_tsuyomi_fig{
clip-path: polygon(0 3rem, 100% 0%, 100% calc(100% - 3rem), 0% 100%);
}
.user_tsuyomi_name{
position: absolute;
top: 5rem;
left: 2rem;
font-size: 2.4rem;
line-height: 1.4;
color: #FFF;
}
.user_tsuyomi_num{
position: absolute;
top: -4rem;
left: 0rem;
width: 32%;
}

@media screen and (max-width: 550px) {
.user_tsuyomi_ttl{
font-size: 5.4rem;
}
.user_tsuyomi_list_wrap{
padding: 19rem 12rem 0 5rem;
width: 100%;
overflow: hidden;
margin: -15rem 0 0;
}
ul.user_tsuyomi_list li{
margin: 0 5rem 0 0;
}
.user_tsuyomi_fig{
clip-path: polygon(0 4vw, 100% 0%, 100% calc(100% - 4vw), 0% 100%);
}
.user_tsuyomi_name{
top: 7rem;
left: 3rem;
font-size: 3.0rem;
}
.user_tsuyomi_num{
width: 32%;
}
}

/***** user_jigyo_area ****/
.user_jigyo_area{
margin: 0 auto 5rem;
}
.user_jigyo_head{
margin: 8rem auto 0;
}
.user_jigyo_head .rec_boshu_head_txt{
background: #ffd200;
color: #494443;
}
.user_jigyo_head .rec_boshu_head_sq{
background: #0fbcff;
}
.user_jigyo_head .rec_boshu_head_sq3{
left: 20rem;
}
.user_jigyo_block{
margin: 3rem auto;
}
.user_jigyo_head_ttl{
background: #ffd200;
color: #494443;
font-size: 3.2rem;
font-weight: 600;
line-height: 1.3;
clip-path: polygon(0 4rem, 100% 0%, 100% calc(100% - 4rem), 0% 100%);
padding: 6rem 3rem 6rem;
}
.user_jigyo_head_ttl span{
display: block;
font-size: 1.7rem;
margin: 1rem auto 0;
}
.user_jigyo_fig{
clip-path: polygon(0 4rem, 100% 0%, 100% calc(100% - 4rem), 0% 100%);
margin-top: -4rem;
}
.user_jigyo_box{
margin: 3rem auto 10rem;
}
.user_jigyo_box_head{
font-size: 2.4rem;
color: #0fbcff;
font-weight: 600;
}
.user_jigyo_box_sttl{
font-size: 2.4rem;
color: #ffa900;
font-weight: 600;
border-top: solid 1px #cccccc;
margin: 1.5rem auto 0;
padding-top: 1rem;
display: flex;
vertical-align: bottom;
}
.user_jigyo_box_sttl span{
font-size: 1.4rem;
margin-top: 1.0rem;
}
.user_jigyo_box_sttl2{
color: #0fbcff;
}
.user_jigyo_box_read{
font-size: 1.8rem;
margin: 0.5rem auto 0;
}
a.nolink{
pointer-events: none;
text-decoration: none;
color: inherit !important;
}
.user_jigyo_box_read2{
font-size: 1.8rem;
margin: 0.5rem auto 0;
}
.user_jigyo_btn_wrap{
margin: 3rem auto;
letter-spacing: -0.4em;
}
.user_jigyo_btn{
letter-spacing: normal;
display: inline-block;
width: 48%;
}
.user_jigyo_btn:first-child{
margin-right: 4%;
}
.user_jigyo_btn_100{
width: 100%;
margin-top: 2rem;
}
.user_jigyo_btn_100_2{
width: 100%;
}
a.user_btn{
display: block;
width: 100%;
text-decoration: none;
background: #ffd200 url("../img/user_jigyo_arrow.png") right 1.5rem  center no-repeat;
background-size: 18px auto;
font-size: 1.8rem;
font-weight: 600;
color: #494443;
padding: 1rem 4rem 1rem 2.5rem;
border-radius: 3rem;
position: relative;
margin: 0 0 0 auto;
}
.user_jigyo_taiou{
display: inline-block;
margin-left: auto;
color: #494443;
font-size: 1.4rem;
margin-top: 1.0rem;
font-weight: 400;
}
.user_jigyo_taiou span{
color: #d09e00;
margin-right: 0.3rem;
}
.user_jigyo_taiou_sub{
line-height: 19px;
vertical-align: bottom;
}
span.aki_icon_01{
  content: '';
  display: inline-block;
  width: 19px;
  height: 19px;
  background-image: url("../img/aki_icon_01.png");
  background-size: contain;
  vertical-align: bottom;
}
span.aki_icon_02{
  content: '';
  display: inline-block;
  width: 19px;
  height: 19px;
  background-image: url("../img/aki_icon_02.png");
  background-size: contain;
  vertical-align: bottom;
}
.table{
  border-collapse: collapse; 
  width: 100%;
  background: #ffd200;
  color: #FFF;
  margin: 1.0rem auto;
}
.table thead,
.table th{
  background: #d09e00;
  text-align: center;
}
.table th,.table td {
    border: 1px solid #FFF;
    padding: 1rem;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.4;
}
.table th.tb_time{
text-align: left;
border-right: none;
}
.table_sub th.tb_time{
width: 8rem;
text-align: center;
}
.table th.tb_time span{
display: block;
font-size: 1.2rem;
}
.table td {
text-align: center;
vertical-align: middle;
color: #d09e00;
font-size: 2rem;
}
.table_sub td {
font-size: 1.6rem;
color: #a07800;
}
.table th.tb_time_w{
border-bottom: none;
}

@media screen and (max-width: 550px) {
.user_jigyo_area{
margin: 0 auto 7rem;
}
.user_jigyo_head{
margin: 12rem auto 0;
}
.user_jigyo_head .rec_boshu_head_sq3{
left: 28rem;
}
.user_jigyo_block{
margin: 6rem auto;
}
.user_jigyo_head_ttl{
font-size: 4.6rem;
clip-path: polygon(0 7vw, 100% 0%, 100% calc(100% - 7vw), 0% 100%);
padding: 9rem 5rem 9rem;
}
.user_jigyo_head_ttl span{
display: block;
font-size: 2.4rem;
margin: 2rem auto 0;
}
.user_jigyo_fig{
clip-path: polygon(0 7vw, 100% 0%, 100% calc(100% - 7vw), 0% 100%);
margin-top: -7rem;
}
.user_jigyo_box{
margin: 5rem auto 14rem;
}
.user_jigyo_box_head{
font-size: 3.2rem;
}
.user_jigyo_box_sttl{
font-size: 3.2rem;
margin: 2.0rem auto 0;
padding-top: 2rem;
}
.user_jigyo_box_sttl span{
font-size: 2.0rem;
margin-top: 1.4rem;
}
.user_jigyo_box_sttl2{
}
.user_jigyo_box_read{
font-size: 2.4rem;
margin: 1.0rem auto 0;
}
.user_jigyo_box_read2{
font-size: 2.4rem;
margin: 1.0rem auto 0;
}
.user_jigyo_btn_wrap{
margin: 3rem auto;
}
.user_jigyo_btn{
}
.user_jigyo_btn:first-child{
}
.user_jigyo_btn_100{
margin-top: 3rem;
}
.user_jigyo_btn_100_2{
}
a.user_btn{
background: #ffd200 url("../img/user_jigyo_arrow.png") right 2.5rem  center no-repeat;
background-size: 14px auto;
font-size: 2.4rem;
padding: 2rem 4rem 2rem 3rem;
border-radius: 6rem;
}
.user_jigyo_taiou{
font-size: 2.4rem;
margin-top: 1.4rem;
}
.user_jigyo_taiou span{
}
.user_jigyo_taiou_sub{
line-height: 14px;
}
span.aki_icon_01{
  width: 14px;
  height: 14px;
}
span.aki_icon_02{
  width: 14px;
  height: 14px;
}
.table{
  margin: 1.5rem auto 0;
}
.table thead,
.table th{
}
.table th,.table td {
    font-size: 2.4rem;
}
.table th.tb_time{
}
.table_sub th.tb_time{
width: 12rem;
}
.table th.tb_time span{
font-size: 2.0rem;
}
.table td {
font-size: 3rem;
}
.table_sub td {
font-size: 2.4rem;
}
}


/***** acd ****/
.acd_wrap .accordion_one {
	margin: 0 auto 2rem;
}
.acd_wrap .accordion_one .accordion_header {
	background-color: #ffd200;
	font-size: 2.0rem;
	font-weight: 600;
	padding: 2rem 3rem;
	text-align: left;
	position: relative;
	z-index: +1;
	cursor: pointer;
	transition-duration: 0.2s;
}
.acd_wrap .accordion_one .accordion_header:hover {
	opacity: .8;
}
.acd_wrap .accordion_one .accordion_header .i_box {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	right: 3rem;
	width: 36px;
	height: 36px;
	margin-top: -18px;
	box-sizing: border-box;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transform-origin: center center;
	transition-duration: 0.2s;
}
.acd_wrap .accordion_one .accordion_header .i_box .one_i {
	display: block;
	width: 14px;
	height: 14px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transform-origin: center center;
	transition-duration: 0.2s;
	position: relative;
}
.acd_wrap .accordion_one .accordion_header.open .i_box {
	-webkit-transform: rotate(-180deg);
	transform: rotate(-180deg);
}
.acd_wrap .accordion_one .accordion_header .i_box .one_i:before, .acd_wrap .accordion_one .accordion_header .i_box .one_i:after {
	display: flex;
	content: '';
	background-color: #494443;
	border-radius: 0;
	width: 16px;
	height: 2px;
	position: absolute;
	top: 7px;
	left: 0;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	transform-origin: center center;
}
.acd_wrap .accordion_one .accordion_header .i_box .one_i:before {
	width: 2px;
	height: 16px;
	top: 0;
	left: 7px;
}
.acd_wrap .accordion_one .accordion_header.open .i_box .one_i:before {
	content: none;
}
.acd_wrap .accordion_one .accordion_header.open .i_box .one_i:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.acd_wrap .accordion_one .accordion_inner {
	display: none;
    background: #ffd200;
	box-sizing: border-box;
}
.acd_wrap .accordion_one .accordion_inner .box_one {
    padding: 0 3rem 5rem;
}
.acd_wrap .accordion_one .accordion_inner p.txt_a_ac {
	margin: 0;
}
.acd_wrap .accordion_one .accordion_inner .closeArea {
	margin: 0 3rem;
}
.acd_wrap .accordion_one .accordion_inner .closeArea .close_box a.close_btn {
	display: flex;
	justify-content: start;
	align-items: center;
	background: #ffd200;
	padding: 2rem 0;
	text-decoration: none;
	color: #494443;
	font-size: 2.0rem;
	font-weight: 600;
	position: relative;
	cursor: pointer;
	transition-duration: 0.2s;
    border-top: solid 1px #494443;
}
.acd_wrap .accordion_one .accordion_inner .closeArea .close_box a.close_btn:hover {
	opacity: .8;
}
.acd_wrap .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	right: 0.3rem;
	width: 30px;
	height: 30px;
	margin-top: -15px;
}
.acd_wrap .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 16px;
	height: 16px;
}
.acd_wrap .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i:after {
	content: '';
	background-color: #494443;
	width: 16px;
	height: 2px;
	position: absolute;
	top: 7px;
	left: 0;
	transform-origin: center center;
}
.acd_txt{
font-size: 1.6rem;
}
.acd_sttl{
font-size: 2.0rem;
font-weight: 600;
}
.acd_sttl span{
display: block;
font-size: 3.0rem;
line-height: 1.3;
}
.acd_bod_head{
border-top: solid 1px #494443;
padding-top: 2rem;
}
.acd_bod1{
border-top: solid 1px #494443;
margin-top: 4rem;
padding-top: 1rem;
}
.acd_mt1{
margin-top: 0.5rem;
}
.acd_mt2{
margin-top: 1rem;
}
.acd_mt3{
margin-top: 2.5rem;
}
.acd_box{
background: #d09e00;
padding: 1.5rem 2.5rem;
color: #FFF;
}
.acd_bod2{
border-top: solid 1px #FFF;
margin-top: 1rem;
padding-top: 1rem;
}
.acd_box2{
display: flex;
width: 100%;
}
.acd_box2_l{
position: relative;
background: #d09e00;
 display: flex;
 justify-content: center;
 align-items: center;
 padding: 1.5rem 1.0rem 1.5rem;
 max-width: 10rem;
}
.acd_box2_r{
margin-left: 1.5rem;
width: 100%;
}
.acd_box2_step{
writing-mode: vertical-rl;
color: #FFF;
font-size: 1.6rem;
}
.acd_box2_step span{
letter-spacing: -0.5rem;
}
.acd_btn_area{
margin-top: 1.5rem;
}
a.acd_btn{
display: block;
width: 100%;
text-decoration: none;
background: #FFF url("../img/user_jigyo_arrow.png") right 1.5rem  center no-repeat;
background-size: 18px auto;
font-size: 1.8rem;
font-weight: 600;
padding: 1rem 4rem 1rem 2.5rem;
border-radius: 3rem;
position: relative;
margin: 0 0 0 auto;
}
.acd_arrow{
width: 36px;
margin: 1.5rem auto 1.5rem 0.5rem;
}

.acd_tbl{
border-top: 2px solid #FFF;
}
.acd_tbl_ls{
border-top: none;
}
.acd_tbl dl {
display: flex;
flex-flow: row wrap;
width: 100%;
}
.acd_tbl dt {
flex-basis: 60%;
padding: 0.8rem 0;
border-bottom: 1px solid #FFF;
font-size: 1.6rem;
font-weight: 600;
margin-top: auto;
}
.acd_tbl dd {
flex-basis: 40%;
padding: 0.8rem 0;
border-bottom: 1px solid #FFF;
text-align: right;
font-size: 1.6rem;
font-weight: 600;
margin-top: auto;
}
.acd_tbl dt span,
.acd_tbl dd span{
font-size: 2.8rem;
}
.acd_tbl dt.acd_tbl_nb,
.acd_tbl dd.acd_tbl_nb{
border-bottom: none;
}

@media screen and (max-width: 550px) {
.acd_wrap .accordion_one {
	margin: 0 auto 3rem;
}
.acd_wrap .accordion_one .accordion_header {
	font-size: 3.2rem;
	padding: 3rem 5rem;
}
.acd_wrap .accordion_one .accordion_header .i_box {
	right: 5rem;
	width: 30px;
	height: 30px;
	margin-top: -15px;
}
.acd_wrap .accordion_one .accordion_header .i_box .one_i {
	display: block;
	width: 12px;
	height: 12px;
}
.acd_wrap .accordion_one .accordion_header.open .i_box {
}
.acd_wrap .accordion_one .accordion_header .i_box .one_i:before, .acd_wrap .accordion_one .accordion_header .i_box .one_i:after {
	width: 14px;
	height: 2px;
	top: 6px;
	left: 0;
}
.acd_wrap .accordion_one .accordion_header .i_box .one_i:before {
	width: 2px;
	height: 14px;
	top: 0;
	left: 6px;
}
.acd_wrap .accordion_one .accordion_header.open .i_box .one_i:before {
}
.acd_wrap .accordion_one .accordion_header.open .i_box .one_i:after {
}
.acd_wrap .accordion_one .accordion_inner {
}
.acd_wrap .accordion_one .accordion_inner .box_one {
    padding: 0 5rem 7rem;
}
.acd_wrap .accordion_one .accordion_inner p.txt_a_ac {
	margin: 0;
}
.acd_wrap .accordion_one .accordion_inner .closeArea {
	margin: 0 5rem;
}
.acd_wrap .accordion_one .accordion_inner .closeArea .close_box a.close_btn {
	padding: 3rem 0;
	font-size: 3.2rem;
}
.acd_wrap .accordion_one .accordion_inner .closeArea .close_box a.close_btn:hover {
	opacity: .8;
}
.acd_wrap .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box {
	right: 0.3rem;
	width: 30px;
	height: 30px;
	margin-top: -15px;
}
.acd_wrap .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i {
	width: 12px;
	height: 12px;
}
.acd_wrap .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i:after {
	width: 14px;
	height: 2px;
	top: 7px;
	left: 0;
}

.acd_txt{
font-size: 2.4rem;
}
.acd_sttl{
font-size: 3.2rem;
}
.acd_sttl span{
font-size: 4.0rem;
}
.acd_bod_head{
padding-top: 2.5rem;
}
.acd_bod1{
margin-top: 5rem;
padding-top: 1.5rem;
}
.acd_mt1{
margin-top: 1rem;
}
.acd_mt2{
margin-top: 1.5rem;
}
.acd_mt3{
margin-top: 3.5rem;
}
.acd_box{
padding: 2rem 3rem;
}
.acd_bod2{
margin-top: 1.5rem;
padding-top: 1.5rem;
}
.acd_box2{
}
.acd_box2_l{
 padding: 2.5rem 1.5rem 2.5rem;
}
.acd_box2_r{
margin-left: 2.5rem;
}
.acd_box2_step{
font-size: 2.4rem;
}
.acd_box2_step span{
letter-spacing: -0.5rem;
}
.acd_btn_area{
margin-top: 2.0rem;
}
a.acd_btn{
background: #FFF url("../img/user_jigyo_arrow.png") right 2.5rem  center no-repeat;
background-size: 14px auto;
font-size: 2.4rem;
padding: 2rem 4rem 2rem 3rem;
border-radius: 6rem;
}
.acd_arrow{
width: 5rem;
margin: 2rem auto 2rem 1rem;
}

.acd_tbl{
}
.acd_tbl_ls{
}
.acd_tbl dl {
}
.acd_tbl dt {
padding: 1.2rem 0;
font-size: 2.4rem;
}
.acd_tbl dd {
padding: 1.2rem 0;
font-size: 2.4rem;
}
.acd_tbl dt span,
.acd_tbl dd span{
font-size: 4.0rem;
}
.acd_tbl dt.acd_tbl_nb,
.acd_tbl dd.acd_tbl_nb{
}

}


/***** user_contact_area ****/
.user_contact_area{
background: #ececec;
padding: 3rem 3rem 3rem;
margin: 0 auto 0;
position: relative;
}
.user_contact_ttl{
font-size: 2.0rem;
font-weight: 600;
border-bottom: solid 1px #cccccc;
padding-bottom: 2rem;
}
.user_contact_pp_link{
margin: 2rem auto;
}
a.user_contact_pp_btn {
  display: block;
  text-decoration: none;
  padding: 1rem 4rem 1rem 2rem;
  color: #494443;
  font-weight: 600;
  border-radius: 3rem;
  background: #ffd200 url("../img/user_jigyo_arrow.png") right 1.5rem  center no-repeat;
background-size: 18px auto;
}
.user_contact_pp_check{
margin: 2rem auto;
}
.user_contact_pp_check label:hover {
	cursor: pointer;
}
.user_contact_note{
font-size: 1.4rem;
margin: 1rem auto 4rem;
}
@media screen and (max-width: 550px) {
.user_contact_area{
padding: 5rem 5rem 5rem;
}
.user_contact_ttl{
font-size: 3.2rem;
padding-bottom: 2rem;
}
.user_contact_pp_link{
margin: 3rem auto;
}
a.user_contact_pp_btn {
background-size: 14px auto;
background-position: right 2.0rem center;
font-size: 2.3rem;
padding: 2rem 7rem 2rem 4rem;
border-radius: 8rem;
}
.user_contact_pp_check{
margin: 3rem auto;
}
.user_contact_note{
font-size: 2.0rem;
margin: 3rem auto 5rem;
}
}


/***** pp ****/
.privacy_wrap{
width: 100%;
max-width: 550px;
margin: 0 auto;
background: #FFF;
box-shadow: 0px 0px 30px 15px rgb(0,0,0,0.15);
position: relative;
}
@media screen and (max-width: 550px) {
.privacy_wrap{
}
}
.pp_wrap{
margin: 0 3rem;
padding: 1rem 0;
}
.pp_head{
font-size: 2.0rem;
font-weight: 600;
padding: 1.5rem  0 1.5rem 0;
position: relative;
border-bottom: solid 1px #494443;
}
.pp_foot{
border-bottom: none;
border-top: solid 1px #494443;
}
.batsu_box{
position: absolute;
top: 50%;
right: 0;
transform: translateY(-50%);
cursor: pointer;
}
.batsu {
  display: block;
  position: relative;
  width: 30px;
  height: 30px;
}
 
.batsu::before, .batsu::after { /* 共通設定 */
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px; /* 棒の幅（太さ） */
  height: 26px; /* 棒の高さ */
  background: #494746;
}

.batsu::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
.batsu::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}
.pp_inn{
font-size: 1.6rem;
}
.pp_head_read{
margin: 2rem auto 0;
}
.pp_sttl{
font-weight: 600;
margin: 3rem auto 0;
}
ul.pp_list1{

}
ul.pp_list1 li{
margin: 1.5rem auto 0;
 text-indent: -1em;
  padding-left: 1em;
}
.pp_list_read{
margin: 1.5rem auto 0;
}
.pp_list_read_last{
margin: 10rem auto 3rem;
}

@media screen and (max-width: 550px) {
.pp_wrap{
margin: 0 5rem;
padding: 1.5rem 0;
}
.pp_head{
font-size: 3.2rem;
padding: 2.5rem  0 2.5rem 0;
}
.pp_foot{
}
.batsu_box{
}
.batsu {
  display: block;
  position: relative;
  width: 30px;
  height: 30px;
}
 
.batsu::before, .batsu::after { /* 共通設定 */
  height: 24px; /* 棒の高さ */
}
.pp_inn{
font-size: 2.4rem;
}
.pp_head_read{
margin: 3rem auto 0;
}
.pp_sttl{
margin: 5rem auto 0;
}
ul.pp_list1{
}
ul.pp_list1 li{
margin: 2rem auto 0;
}
.pp_list_read{
margin: 2rem auto 0;
}
.pp_list_read_last{
margin: 12rem auto 5rem;
}
}



/***** anime ****/
.anime {
    opacity : 0.01;
    transform : translate(0, 30px);
    transition : all 800ms;
    }
.anime.fadein {
    opacity : 1;
    transform : translate(0, 0);
    }
.ani1{
    opacity : 0.01;
    transform : translate(-5rem, 0);
    transition : all 800ms;
}
.ani1.fain{
    opacity : 1;
    transform : translate(0, 0);
}
.ani2{
    opacity : 0.01;
    transform : translate(-5rem, 0);
    transition : all 800ms;
}
.ani2.fain{
    opacity : 1;
    transform : translate(0, 0);
    transition-delay:0.2s;
}
.ani3{
    opacity : 0.01;
    transform : translate(-5rem, 0);
    transition : all 800ms;
}
.ani3.fain{
    opacity : 1;
    transform : translate(0, 0);
    transition-delay:0.4s;
}
.ani4{
    opacity : 0.01;
    transform : translate(-5rem, 0);
    transition : all 800ms;
}
.ani4.fain{
    opacity : 1;
    transform : translate(0, 0);
    transition-delay:0.6s;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.pc-only{ display:inline;}
.sp-only{ display:none;}
.pc-b-only{ display: block;}
.sp-b-only{ display:none;}
@media screen and (max-width: 550px) {
.pc-only{ display:none;}
.sp-only{ display:inline;}
.pc-b-only{ display: none;}
.sp-b-only{ display:block;}
}
.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

