
html { scroll-behavior: smooth; scroll-padding-top: 75px; }

#head-image { background-color: #000; width: 100%; background: url("../../img/rock_bolt/background.jpg")no-repeat center; background-size: cover; }
#head-image div.box { width: 100%; color: #000; text-align: center; overflow: hidden; }
.box { display: block; width: 90%; max-width: 1280px; margin: 0 auto; padding: 80px 0 60px; }

section#content-02 ul li span.n-lockbolt-red { color: #ff0000; display: inline; font-size: 100%; font-weight: normal; }
#modalvideo {
  width: 100%;
}

a.movie { display: block; width: 60%; margin: 0 auto; }
@media print, screen and (max-width: 767.98px) {
a.movie { display: block; width: 100%; margin: 0 auto; }
}

div.box h1 { font-size: 140%; font-weight: 400; letter-spacing: 0px; padding: 0 0 20px 0; color: #000; }
main2 #head-image div.box img:last-child { max-width: 1000px; margin: 0 auto 40px; }
main2 #head-image div.box img { display: block; width: 100%; max-width: 675px; margin: 0 auto 40px; padding: 0 20px; }
div.head-line { font-family: 'Roboto', sans-serif; font-size: 1000%; font-weight: 900; color: #363636; white-space: nowrap; letter-spacing: -10px; }

section#content-01 { background-color: #203864; color: #fff; overflow: hidden; padding: 0 0 0 0; }
section#content-02 { background-color: #203864; color: #fff; overflow: hidden; padding: 90px 0 100px 0; }

section#content-01 p { font-size: 100%; color: #fff; text-align: center; }
section#content-01 p.small { font-size: 80%; }
section#content-01 p b { font-size: 140%; line-height: 200%; }
section#content-01 div.box div.title-graph img { max-width: 600px; display: block; margin: 30px auto 0; }

section#content-01 div.box img { display: block; margin: 0 auto; max-width: 900px; }

section#content-02 div.title { background: url("../../img/rock_bolt/title-background-1.jpg")no-repeat right center; background-size: cover; min-height: 195px; position: relative; }
section#content-02 div.box { display: block; width: 90%; max-width: 1280px; margin: 0 auto; padding: 40px 0 60px; font-size: 90%; overflow: hidden; }
div.box-title { display: block; width: 90%; max-width: 1280px; margin: 0 auto; color: #fff; padding: 27px 0 0; font-size: 100%; }
div.box-title span { font-family: 'Questrial', sans-serif; font-weight: 900; }
section#content-02 div.title hr { background-color: #fff; position: absolute; top: 37px; left: 0; width: 30%; }
div.box-title p { color: #fff; font-weight: 900; font-size: 130%; margin: 28px 0 0; }
div.box-title p b { font-size: 160%; }

section#content-02 div.box p { text-align: center; color: #fff; font-weight: 700; font-size: 150%; margin-bottom: 40px; }

section#content-02 ul { display: flex; margin: 0 0 60px 0; align-items: flex-start; }
section#content-02 ul.text  { display: flex; margin: 0 0 80px 0; align-items: center; }
section#content-02 ul li { width: 50%; margin-right: 40px; }
section#content-02 ul.text li { width: calc(50% - 40px); margin-right: 40px; }
section#content-02 ul.text li:last-child { margin-left: 0; }
section#content-02 ul li:last-child { width: 50%; margin-right: 0px; margin-left: 40px; }
section#content-02 ul li span { display: block; color: #9fa0a0; font-weight: 600; font-size: 120%; }
section#content-02 ul li b { font-weight: 700; font-size: 140%; }
section#content-02 ul li span.note { font-size: 85%; font-weight: 400; color: #fff; }
section#content-02 ul li div.left { float: left; width: 40%; }
section#content-02 ul li div.right { float: right; width: 55%; }

section#content-02 div.title-2 { background: #727171; background-size: cover; min-height: 40px; position: relative; overflow: hidden; }
section#content-02 div.title-2 div.box-title p { margin: 0; font-size: 120%; }
section#content-02 div.title-2 div.box-title p b { font-weight: 500; }
section#content-02 div.title-2 div.box-title { padding: 15px 0; }
section#content-02 div.title-2 div.box-title p b img { width: auto; height: 50px; display: inline-block; vertical-align: text-bottom; margin: 0 20px 0 0; }

div.content-03 { background-color: #b5b5b6; }
div.content-03 div.box-title { padding: 40px 0; }
section#content-02 div.content-03 div.box-title ul { align-items: center; }
section#content-02 div.content-03 div.box-title ul li:first-child { width: 100%; font-size: 135%; color: #231815; }
section#content-02 div.content-03 div.box-title ul li { width: 30%; line-height: 180%; }

div.content-04 { background-color: #231815; padding: 40px; }
div.content-04 img { max-width: 600px; margin: 0 auto; }

section#content-02 div.title.sec { background: url("../../img/rock_bolt/title-background-2.jpg")no-repeat right center; background-size: cover; min-height: 195px; position: relative; }
section#content-02 div.box.sec ul { margin: 0 0 30px 0; }
section#content-02 div.box.sec ul li:first-child { width: 40%; }
section#content-02 div.box.sec ul li { font-size: 120%; line-height: 180%; }
section#content-02 div.box.sec ul li.text2 { font-size: 100%; }
section#content-02 div.box.sec ul li.illust { width: 30%; }
section#content-02 div.title.thi { background: url("../../img/rock_bolt/title-background-3.jpg")no-repeat right center; background-size: cover; min-height: 195px; position: relative; }


summary.details-summary img { position: absolute; top: 12px; left: 0; width: 50px; }

div.background-gray { width: 100%; background-color: #b5b5b6; min-height: 1500px; position: absolute; top: 106px; }

div.details-left,div.photo-left { float: left; }
div.details-right,div.photo-right { float: right; }
div.details-left,div.details-right { width: 40%; }
div.photo-left,div.photo-right { width: 60%; padding: 20px; text-align: center; }
div.photo-left { color: #282828; }
div.photo-left span { font-size: 85%; display: block; letter-spacing: 0; }

section#content-02 div.title-2 div.box-title p.qa-title { text-align: center; color: #000; font-weight: 400; }

section#content-02 div.title-2 div.box-title p.qa-title img { margin-bottom: 100px; }

@media print, screen and (max-width: 767.98px) {
#head-image div.box { background-size: contain; }
div.head-line { font-family: 'Roboto', sans-serif; font-size: 410%; font-weight: 900; color: #363636; white-space: nowrap; letter-spacing: -10px; }
.box { width: 90%; padding: 60px 0 15px; }
div.seatcover-title { padding: 10px; font-size: 105%; margin: 20px 0 20px 0; }
div.seatcover-title-02 span { font-size: 50%; padding: 0; display: block; }
div.details-left,div.photo-left { float: none; }
div.details-right,div.photo-right { float: none; }
div.details-left,div.details-right { width: 100%; }
div.photo-left,div.photo-right { width: 100%; padding: 20px; text-align: center; font-size: 80%; }
}

section#content-02 div.ca { clear: both; padding: 100px 0 0 0; width: 100%; max-width: 1024px; margin: 0 auto; }
section#content-02 div.ca div.ca-wrapper { padding: 40px; width: 100%; background-color: #ececec; }
section#content-02 div.ca div.ca-wrapper div.ca-title { padding: 20px; font-size: 92%; width: 100%; text-align: center; font-family: "Noto Sans JP"; font-weight: 400; color: #8f9413; border: 1px solid #8f9413; }
section#content-02 div.ca div.ca-wrapper div.ca-title img { width: 54px; float: left; }

section#content-02 div.ca div.ca-wrapper ul { margin: 40px 0 0 0; }
section#content-02 div.ca div.ca-wrapper ul li { list-style: disc; color: #333; font-size: 95%; font-weight: 400; padding: 20px 0 20px 0; margin-left: 20px; }
section#content-02 div.ca div.ca-wrapper ul li:first-child { border-bottom: 1px solid #fff; }

section#content-02 div.ca div.ca-wrapper p { padding: 10px; color: #333; letter-spacing: 0; }

section#content-02 div.ca div.ca-wrapper a.cp_btn {
  margin: 30px auto 0;
  display: block;
  max-width: 600px;
  width: 100%;
  padding: 0.8em;
  text-align: center;
  text-decoration: none;
  color: #fff;
  border: 2px solid #999e0f;
  border-radius: 30px;
  transition: .4s;
  line-height: 200%;
  font-size: 100%;
  font-weight: 400;
  background-color: #999e0f;
}

section#content-02 div.ca div.ca-wrapper a.cp_btn:hover {
  background: #fff;
  color: #999e0f;
}
.fa, .fas {
  font-weight: 900;
}
.fa, .far, .fas {
  font-family: "Font Awesome 5 Free";
}

.fa-angle-right::before {
  content: "\f105";
}

.cp_btn_right {
  float: right;
  padding-top: 8px;
  color: #fff;
}



#footer { background-color: #fff; color: #000; overflow: hidden; padding: 0 0 100px 0; }
#footer h2 { text-align: center; }
#footer div.box { max-width: 1024px; clear: both; }





@media print, screen and (max-width: 767.98px) {
div.box h1 { font-size: 100%; padding: 30px 0 15px 0; letter-spacing: 0; line-height: 180%; }
#head-image p { font-size: 120%; line-height: 180%; padding: 30px 0 10px 0; }
#head-image p img { display: block; float: none; margin: 0 auto; margin-bottom: 10px; }
#footer { padding: 0; }
div.box h3 { font-size: 100%; }
section#content-02 div.ca div.ca-wrapper { padding: 20px; }
section#content-02 div.ca div.ca-wrapper div.ca-title img { float: none; display: block; margin: 0 auto 20px; }
section#content-02 div.ca div.ca-wrapper ul { margin: 0 0 0 0; }
section#content-02 { padding: 60px 0 0 0; }
}





.details {

}
.details-summary {
    position: relative;
    display: block;
    padding: 20px 20px 20px 10%;
    color: #fff;
    font-size: 24px;
    font-weight: 600;
    text-align: left;
}
.details-summary:hover {
    cursor: pointer;
    opacity: 0.8;
}
.details-summary .btn1 {
    position: absolute;
    top: 27px;
    left: 88px;
    width: 18px;
    height: 18px;
    transform-origin: center center;
    transition-duration: 0.2s;
	background: #000;
	padding: 13px;
}
.details-summary .btn1:before, .details-summary .btn1:after {
    content: "";
    background-color: #fff;
    border-radius: 10px;
    width: 18px;
    height: 4px;
    position: absolute;
    top: 11px;
    left: 4px;
    transform-origin: center center;
}
.details-summary .btn1:before {
    width: 4px;
    height: 18px;
    top: 4px;
    left: 11px;
}
.details-summary.is-active .btn1 {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}
.details-summary.is-active .btn1:before {
    content: none;
}
.details-summary::-webkit-details-marker {
    display: none;
}
.details-content {
    padding: 20px; /*background-color: rgba(255,255,255,0.1); */margin: 30px 0 0;
}
.details-content p {
    margin: 0 0 20px;
    color: #000;
    font-size: 18px;
    text-align: left;
}
.details-content p:last-of-type {
    margin: 0 0 0;
}

div.details-content p { line-height: 180%; font-size: 102%; color: #fff; }

details.section-black summary.details-summary { color: #282828; }
details.section-black div.details-content { background-color: rgba(0,0,0,0.02); margin: 0 9%; }
details.section-black div.details-content p { color: #282828; }
details.section-black div.details-content p img { float: none; display: block; margin: 0 auto; width: 60%; }
details.section-black summary.details-summary .btn1:before, details.section-black summary.details-summary .btn1:after { background-color: #282828; }


.other-box { margin: 30px 0 0; font-size: 100%; line-height: 180%; clear: both; }

div.details-content p img { display: block; margin-top: 10px; }

@media print, screen and (max-width: 767.98px) {

.details-summary { font-size: 100%; padding: 20px 5px 20px 20%; letter-spacing: 0; }
details.section-black div.details-content p img { margin: 10px auto 0; width: 100%; }
details.section-black { width: 100%; float: none; }
.other-box { font-size: 75%; }
div.details-content p { line-height: 180%; font-size: 80%; color: #fff; }

}


div.footer-banner { margin-top: 60px; text-align: center; clear: both; }
div.footer-banner a:first-child { display: block; width: 48%; float: left; border: 1px solid #ECECEC; border-radius: 20px; }
div.footer-banner a { display: block; width: 48%; float: right; }
div.footer-banner a img { border-radius: 20px; transition: 0.3s; }
div.footer-banner a img:hover { opacity: 0.7; transition: 0.3s; }

@media print, screen and (max-width: 767.98px) {

div.footer-banner a:first-child { display: block; width: 100%; float: none; border: 1px solid #ECECEC; border-radius: 20px; margin-bottom: 20px; }
div.footer-banner a { display: block; width: 100%; float: none; }

}

.head-title { font-family: "Oswald", sans-serif; font-weight: 600; font-size: 240%; line-height: 180%; }
.head-title span { display: block; font-size: 250%; font-weight: 500; }
section#head-image div.box div.head-title p { font-size: 65%; text-align: center; color: #000; font-weight: 700; padding: 10px 0; }

section#content-02 ul li span.na { color: #203864; display: inline; font-weight: normal; font-size: 180%; }

@media print, screen and (max-width: 767.98px) {

.head-title { font-size: 240%; line-height: 180%; }
.head-title span { font-size: 200%; }
section#head-image div.box div.head-title p { font-size: 45%; line-height: 120%; padding: 10px; }

section#content-01 { padding: 0 0 0 0; }
section#content-01 p { line-height: 180%; }
section#content-01 p b { font-size: 140%; line-height: 120%; }
div.box-title p { font-size: 90%; line-height: 180%; margin: 10px 0 0; }
section#content-02 div.box p { font-size: 120%; }
section#content-02 ul.text { display: block; }
section#content-02 ul.text li { width: 100%; margin-top: 20px; margin-right: 0; font-size: 100%; }
section#content-02 ul li:last-child { width: 100%; margin: 20px 0 0 0; }
section#content-02 ul { display: block; }
section#content-02 ul li { width: 100%; margin-right: 0; }
section#content-02 ul li div.left { float: none; width: 50%; }
section#content-02 ul li div.right { float: none; clear: both; width: 100%; margin: 20px 0; }
section#content-02 div.title-2 div.box-title p { margin: 0; font-size: 120%; }
section#content-02 div.title-2 div.box-title p b { font-weight: 500; font-size: 85%; letter-spacing: 0; }
section#content-02 div.title-2 div.box-title p b img {  height: 20px; margin: 0 5px 0 0; }
section#content-02 div.content-03 div.box-title ul li:first-child { width: 100%; font-size: 100%; margin-bottom: 20px; }
section#content-02 div.content-03 div.box-title ul li { width: 100%; }
div.content-03 div.box-title { padding: 20px 0 20px; }
div.content-04 { padding: 20px; }
summary.details-summary img { top: 20px; width: 25px; }
section#content-02 div.box.sec ul li:first-child { width: 100%; }
section#content-02 div.box.sec ul li { font-size: 100%; }

section#content-02 div.title-2 div.box-title p.qa-title { font-size: 100%; }
div.background-gray { top: 93px; }
.details-content { padding: 10px 0; margin: 30px 0 0; }
.details-summary .btn1 { top: 21px; left: 34px; }

section#content-02 ul li.sp-margin { margin-top: 80px; }

html { scroll-behavior: smooth; scroll-padding-top: 50px; }

}




