/*
 * A Design by GraphBerry
 * Author: GraphBerry
 * Author URL: http://graphberry.com
 * License: http://graphberry.com/pages/license
 */

/* Table of content
1.General - This is created general styles and overide some bootstrap classes.
2.Layout
 2.1 Animations
 2.2 Buttons
 2.3 Thumbnail - overide bootstrap thumbnail and add mased efect
 2.4 Socail icons -style for social icons list
3 Sections - definition for section and subsection
 3.1 Services
 3.2 ticket
 3.3 access
 3.4 Clients
 3.5 Price table
 3.6 Newsletter
 3.7 Contact
 3.8 Footer
4 Responsive
**********************************************************************/

/*
1. General
**********************************************************************/
 body {
    color: #333;
    line-height:1.2em;
    font-size:17px;
    line-height:20px;
    box-sizing: border-box;
}
*{
    box-sizing: border-box;
}

a {
    color:#181A1C;
    text-decoration: none;
}
a:hover {
    color: #295890;
    text-decoration:underline;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
}
h1 {
    margin: 10px;
}
p {
    padding: 10px;
    font-weight: 500;
    color: #333;
}
.navbar {
    background: #181A1C;
    margin-bottom:0;
    min-height:70px;
}

.navbar-fixed-top {
    min-height:60px;
    height:60px;
    padding-top:0;
}
.navbar-inner {
    background: #181A1C;
    border-radius:0;
    filter: none;
    border: none;
    box-shadow: none;
}
.navbar .brand img {
    width:120px;
    height:40px;
}
.navbar .nav > li > a {
    text-transform:uppercase;
    line-height: auto;
    vertical-align: middle;
    margin:10px 3px;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    border: 1px solid #181A1C;
    box-shadow: none;
    font-size:15px;
    text-shadow: none;
    color: #fff;
    transition: border-color 1s ease;
}
.navbar .nav > li:hover> a, .navbar .nav > .active > a, .navbar .nav > .active > a:hover, .navbar .nav > .active > a:focus {
    border: 1px solid #FECE1A;
    color: #fff;
    background-color: #181A1C;
    transition: border-color 1s ease;
}
.nav-pills {
    margin-bottom: 30px;
}
.nav-pills > li > a {
    background: transparent;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    margin-right:5px;
    padding-left:25px;
    padding-right:25px;
    border: 1px solid #181A1C;
}
.nav-pills > li > a:hover, .nav-pills > .active > a, .nav-pills > .active > a:hover, .nav-pills > .active > a:focus {
    background: #181A1C;
    color: #fff;
}
.navbar .btn-navbar:hover, .navbar .btn-navbar {
    border-radius:0;
    background:#FECE1A;
    color: #000;
}
/******
2. Layout
**********************************************************************/
.centered {
    margin-left:auto;
    margin-right:auto;
    float: none;
    text-align: center;
}
/* Use this class if you want ceter element with span* class */
 .center {
    float: none !important;
    margin: 0 auto !important;
    text-align: center;
}
.highlighted-box {
    background:#F4F8F9;
    padding:20px 30px;
}
.highlighted-box h1 {
    margin:0px;
}
.large-text {
    line-height:1.2em;
    font-size: 30px;
    color: #181A1C;
    padding:20px;
    margin-bottom:20px;
}
.highlighted-box h1, .highlighted-box p {
    color: #181A1C !important;
}
.circle-border {
    display: inline-block;
    -webkit-border-radius: 500px;
    -moz-border-radius: 500px;
    border-radius: 500px;
    -khtml-border-radius: 500px;
    border: 3px solid #fff;
}
.left-align {
    text-align:left;
}
.right-align {
    text-align:left;
}
.error {
    color: #CF0000;
    display: none;
}
.invisible {
    display:none;
    visibility:visible;
}
.triangle {
    margin: 0 auto;
    text-align:center;
    width: 0;
    height: 0;
    border-top: 30px solid #ffffff;
    border-left: 585px outset transparent;
    border-right: 585px outset transparent;
    position: relative;
}
/*
2.1 Animations
**********/
 .zoom-in {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -webkit-transition: all 250ms ease;
    -moz-transition: all 250ms ease;
    -o-transition: all 250ms ease;
    -ms-transition: all 250ms ease;
    transition: all 250ms ease;
}
.zoom-in:hover {
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
}
/*
2.2 Buttons - There are buttons on a transparent background, primary and secondary color background.
**********/
 .button,  .button:visited, .button:focus {
    display:inline-block;
    border:1px solid #181A1C;
    color:#181A1C;
    background-color:transparent;
    padding:15px 30px;
    font-size:17px;
    line-height:auto;
}
.button:hover, .button:active{
    background-color:#181A1C;
    color:#fff;
}
.button-sp, .button-sp:visited, .button-sp:focus {
    border:none;
    background-color:#FECE1A;
    color:#181A1C;
}
.button-sp:hover, .button-sp:active {
    background-color:#181A1C;
    color:#FECE1A;
}
.button-ps, .button-ps:visited, .button-ps:focus {
    border:none;
    background-color:#181A1C;
    color:#FECE1A;
}
.button-ps:hover, .button-ps:active {
    background-color:#FECE1A;
    color:#181A1C;
}
/*
2.3 Thumbnails - Predefined bootstrap's thumbnail class.
**********/
 .thumbnail {
    width:100%;
    height:100%;
    padding:0;
    overflow: hidden;
    position: relative;
    border:0;
    border-radius:0;
    box-shadow:none;
    text-align:center;
    background: #191a1c;
}
.thumbnail .more {
    display:block;
    z-index:4;
    position:absolute;
    top:-100px;
    left:50%;
    margin:0 auto;
    margin-left:-41px;
    width:80px;
    height:80px;
    font-size:40px;
    color:#fff;
    text-decoration:none;
    line-height: 70px;
    text-align: center;
}
.thumbnail:hover .more {
    top:40%;
    margin-top:-40px;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3 s ease-out;
    -ms-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
.thumbnail h3,
.thumbnail p {
    margin:0;
    padding:0;
    position:relative;
    z-index:4;
}
.thumbnail h3 {
    color: #FECE1A;
    margin-top:10px;
    font-size:20px;
}
.thumbnail > p {
    padding-bottom:20px;
}
.thumbnail .mask {
    opacity:0.85;
    filter: alpha(opacity=85);
    top:100%;
    left:0;
    width:100%;
    height:100%;
    background:#181A1C;
    position:absolute;
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2 s ease-out;
    -ms-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}
.thumbnail:hover .mask {
    top:0;
}
/*
2.4 Socail icons
************/
 .social {
    list-style: none;
    float: none;
    position:relative;
    margin:5px; auto;
}
.social li {
    display:inline-block;
    line-height: 32px;
    font-size: 32px;
    padding:0 5px;
}
.social li a {
    margin:0;
    padding:0;
    width:32px;
    height:32px;
    color: #FECE1A;
}
.social li a:hover {
    color:#181A1C;
}
/*
3. Sections
***************************************************************************/
 .section {
    padding-bottom: 50px;
}
.section .container {
    padding-top:50px;
}
.section .title {
    text-align: center;
    padding:10px;
    margin-bottom: 30px;
}
.section .title h1 {
    font-weight: normal;
    margin-bottom: 20px;
    padding: 0;
}
.section .title > p {
    font-size: 20px;
    color: #FFF;
    font-weight: lighter;
}
.primary-section {
    background:#ffffff;
}
.primary-section .triangle {
    border-top: 40px solid #f2f2f2;
}

.primary-section, .primary-section .title p, .primary-section h3 {
    color: #333;
}
.primary-section h1 {
    color:#fff;
}
.secondary-section {
    background:#f2f2f2;
}

.secondary-section h1, .secondary-section .title p {
    color: #333;
}
/* Third section use bacground image */
.third-section {
    padding-bottom: 70px;
    background: #333 url(../images/brand-bg.png) no-repeat center;
    border-top:6px solid #FECE1A;
}
.third-section .container {
    padding-top:20px;
    position:relative;
}
.third-section .title {
    border-bottom: 1px solid #A1AAB7;
    color: #FECE1A;
}
.sub-section {
    margin-top:30px;
}
.sub-section .title {
    padding:0;
}
/*******
3.1 Services
***************************************/
.service{
    margin-top:20px;
}
 .service, .service h2 {
    padding-top:15px;
}
.service p {
    padding:0px 50px;
    height:60px;
}
.service img {
    width:150px;
    height:150px;
}
/*
3.2 ticket
***************************************/
 .single-project {
    margin-bottom:30px;
    background:#181A1C;
}
.single-project img {
    width:100%;
}
.project-description {
    padding-right:20px;
}
.project-description p {
    padding-left:0;
}
.project-title {
    margin-top:15px;
    margin-bottom:15px;
    border-bottom:1px solid #FECE1A;
}
.project-title h3 {
    float:left;
    margin-top:0;
    padding:0;
    width:80%;
}
.caution {
font-size: 80%;
}


.project-title .close {
    color: #FECE1A;
    margin-top:10px;
}
.project-info span, .project-title h3 {
    color:#FECE1A;
}
.project-info {
    font-weight:100;
    padding:10px 0;
}
.project-info span {
    width: 80px;
    display: inline-block;
}
.project-info div {
    margin-bottom:5px;
}
.close {
    float: right;
    width: 40px;
    height: 40px;
    text-align: center;
}
#ticket-grid .mix {
    opacity: 0;
    display: none;
}
/*
3.3 access
******************************************************************/
 .team .thumbnail {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    padding: 10px;
    border: 1px solid #fff;
}
.team .thumbnail:hover .social {
    z-index: 5;
}
.team .thumbnail:hover .social a {
    color:#fff;
}
.team .thumbnail .mask {
    background: #FECE1A;
}
.team .thumbnail .mask h2 {
    margin-top:20%;
}
.team .thumbnail .mask, .team .thumbnail .mask h3, .team .thumbnail .mask p, .team .thumbnail:hover h3, .team .thumbnail:hover .social a:hover {
    color:#181A17;
}
.access-text {
    margin-top:30px;
}
.access-text p {
    padding:0;
    font-size:16px;
}
/*********************************************************************
                        SKILLS BAR
*********************************************************************/
 .skills {
    list-style-type: none;
    position: relative;
    margin:0px;
}
.skills li {
    margin-bottom:30px;
    background:#FFF;
    height:40px;
    padding:1px;
}
.skills li h3 {
    position: relative;
    font-size: 15px;
    padding:0;
    margin:0;
    left: 10px;
    z-index: 1;
    color: #181A1C;
}
.skills li .bar {
    height:40px;
    position:absolute;
    background-color: #FECE1A;
}
/*
3.4 Clients
**********************************************************************/
 .client-slider img {
    border:1px solid white;
}
.client-slider img:hover {
    background-color:#FECE1A;
}
.client-nav {
    list-style:none;
    margin-top:10px;
}
.client-nav li {
    float:left;
    display:block;
    margin-left:10px;
}
.client-nav li a {
    display:inherit;
    padding:5px;
    background:#FECE1A;
    border-radius:3px;
    width:20px;
    height:20px;
}
.client-nav li a:hover {
    background:#181A1C;
}
.testimonial p {
    color:#181A1C;
    background:#FECE1A;
    padding:15px;
    margin:0;
}
.testimonial .arrow {
    margin-left:10px;
    width:0;
    border-top:10px solid #FECE1A;
    border-left: 20px outset transparent;
    border-right: 20px outset transparent;
}
.testimonial .whopic {
    display:inline-block;
}
.testimonial .whopic img {
    margin-top:10px;
    width:50px;
    height:50px;
    float:left;
}
.testimonial .whopic strong {
    float:left;
    margin-top:10px;
    padding-left:10px;
}
.testimonial .whopic small {
    display:block;
    font-size:12px;

}
.testimonial-text{
    display:block;
    font-size:22px;
    text-align:center;
    margin:0 auto;
    margin-top:30px;
    width:70%;
    line-height:1.3em;
}
/*
3.5 Price table
******************************************************************/
 .price-table {
    margin-top: 70px;
    margin-bottom: 20px;
}
.price-column {
    background-color:white;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    padding-bottom:20px;
    margin:0 auto;
    text-align:center;
}
.price-column h3 {
    background-color:#181A1C;
    text-transform:uppercase;
    text-align: center;
    color:#FECE1A;
    padding:40px 0px;
    font-size: 36px;
    margin-top:0px;
    -moz-border-radius: 0px;
    -webkit-border-radius: 10px 10px 0px 0px;
    border-radius: 10px 10px 0px 0px;
}
.price-column .list{
    list-style:none;
    margin:20px 50px;
}
.price-column .list li{
    font-weight:lighter;
    color:#747C89;
    font-size:20px;
    border-bottom:1px solid #747C89;
    padding:25px 0px;
}
.price-column .list li.price {
    text-align: center;
    font-size:31px;
    background-color:white;
    color:#747C89;
    margin-top:25px;
}
.price-text{
    margin:30px 0 20px;
    font-size:20px;
    color: #181A1C;
    font-weight:normal;
}
/*
3.6 Newsletter
********************************************************************/
 .newsletter, .newsletter h2 {
    color: #D7DDDE;
}
.newsletter .title h2 {
    text-align:left;
    padding:0;
    margin:0;
}
.newsletter form {
    text-align:right;
}
.newsletter input {
    margin-top:10px;
    padding:15px;
    height: auto;
}
.newsletter button {
    margin: 0 0 0 20px;
}
.newsletter .button-sp:hover, .newsletter .button-sp:active {
    background-color:#FFF;
    color:#181A1C;
}

/*
3.7 Contact
********************************************************************/
 .contact {
    background: #FECE1A;
}
.contact h1, .contact h2, .contact h3, .contact h4, .contact h5, .contact h6, .contact .section .title > p, .contact .social > li > a {
    color: #181A1C;
}
.contact textarea, .contact input[type="text"], .contact input[type="email"] {
    padding: 10px;
    line-height: 20px;
    height: auto;
}
.contact textarea {
    height: 120px;
}
.contacts, .contact .social {
    color: #fff;
    list-style: none;
    margin-left: 10px;
}
.contacts > li {
    margin-top: 15px;
}
.contacts > li > a {
    color: #fff;
}
.contact-info {
    margin-top:10px;
    margin-bottom:10px;
}
.contact-info p{
     font-weight:normal;
}
.contact-info .icon {
    margin:10px auto;
    font-size:30px;
}
.map-wrapper {
    position:relative;
    height:500px;
}
.map-canvas {
    position:absolute;
    margin-bottom:20px;
    width:100%;
    height:500px;
    color: #29383F;
    position:absolute;
    left:0;
    top:0;
    right:0;
}
.contact .social {
    display: inline-block;
    margin-left:0;
}
.contact .social li {
    line-height: 32px;
    padding:10px 10px;
    font-size: 50px;
    transition: margin 0.4s;
    -webkit-transition: margin 0.4s;
}
.contact .social li a {
    color:#fff;
}
.contact .social li a:hover {
    color:#181A1C;
}
.contact-form {
    background:#fff;
    background: rgba(255, 255, 255, 0.9);
    z-index:110;
    position:relative;
    margin-top:-25px;
    padding:20px;
}
.contact-form h3 {
    color:#838589;
    padding-bottom:20px;
}
.message-btn {
    border:1px solid #747C89;
    color:#747C89;
    background-color:transparent;
    padding:15px 30px;
    font-size:17px;
}
.message-btn:hover {
    background-color:#FECE1A;
}
.contact-info {
    text-align:center;
    font-size:22px;
}
.info-mail {
    border:1px solid white;
    width:60%;
    margin:0 auto;
    padding:15px;
    color:#181A1C;
}
.black {
    color:#181A1C;
}
/*
3.8 Footer
********************************************************************/
 .footer {
    background: #181A1C;
    text-align: center;
}
.footer > p {
    color: #fff;
    margin:0;
}

.footer a{
    color:#FECE1A;
}

.footer a:hover, .footer a:focus{
    text-decoration: underline;
}
.scrollup {
    text-align:center;
    cursor:pointer;
    vertical-align:middle;
    width:39px;
    height:39px;
    border-radius:5px;
    font-size:20px;
    position:fixed;
    bottom:120px;
    right:20px;
	border:1px solid #fff;
    display:none;
    background: #eeeeee;
}
.scrollup > a {
    position:relative;
    top:7px;
    color:#fff;
}
/*
4 Responsible
********************************************************************/
 @media (min-width: 1200px) {
    .thumbnail .more {
        margin-left:-41px;
        width:80px;
        height:80px;
        border-radius:40px;
        line-height: 80px;
    }
}
@media (max-width: 979px) {
    body {
        padding-left:0;
        padding-right:0;
    }
    .navbar-fixed-top, .navbar-fixed-bottom {
        position: fixed;
    }
    .navbar .nav > li > a {
        line-height: 20px;
        vertical-align: middle;
    }
    .section {
        padding-left:20px;
        padding-right:20px;
    }
    .navbar-fixed-top, .navbar-fixed-bottom, .navbar-static-top {
        margin-left: 0px;
        margin-right: 0px;
    }
    .nav-collapse {
        clear: both;
    }
    .nav-collapse .nav {
        float: none;
        margin: 0 0 10px;
    }
    .nav-collapse .nav > li {
        float: none;
    }
    .nav-collapse, .nav-collapse.collapse {
        width: 100%;
        display: inherit;
    }
    .thumbnail .more {
        margin-left:-21px;
        width:40px;
        height:40px;
        border-radius:30px;
        line-height: 40px;
    }
    .thumbnail:hover .more {
        margin-top:-20px;
    }
    .newsletter form {
        text-align:center;
    }
}
@media (max-width: 767px) {
    .info-mail {
        width:90%;
        padding:15px 0px;
    }
    .project-description {
        padding-left:20px;
    }
    .price-column, .testimonial {
        margin-top:30px;
    }
}


/*=========================================================================================

20170823

==============================================================================================*/

body {
 font-family: YuGothic, /* Mac用 */
  'Yu Gothic', /* Windows用 */
  sans-serif, Helvetica, "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
  font-size: 13px;
  line-height: 1.5em;
 font-weight: 500;
padding: 0 0 105px;
}
h1.ticket_h1{
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
line-height: 1.4;
margin-bottom: 0!important;

}
h2{
	font-family: "游明朝体", "Yu Mincho", YuMincho,  "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}
h3{
	margin-bottom: 0!important;
}
/*ボタン装飾*/
a button.reg_button {
      display:inline-block;
      max-width: 100%;
      /*font-weight: bold;*/
      font-size: 16px;
      font-weight: bold;
      max-width: 400px;
      width: 100%;
      cursor: pointer;
      padding: 20px 30px;
      color: #fff;
      text-align: center;
      text-decoration: none;
      /*text-shadow:0px 1px 0px #4A4A4A;*/
      border-radius: 5px;
      -webkit-transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, -webkit-transform 0.3s;
      transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s;
      -webkit-font-smoothing: antialiased;
	    transform:perspective(0);
			border : none;
	    line-height: 1.6;
        background-color: #57c2ae;

}
a button.reg_button:hover{
			color: #fff;
      -webkit-transform: translateY(3px);
      transform: translateY(3px);
}
a button.reg_button:active{
     color: #cdcdcd;
     -webkit-transform: translateY(6px);
     transform: translateY(6px);
     transition-duration: 0.1s;
     background-color: #872805;
     box-shadow: 0 0 0 #872805, 0 0 0px rgba(0,0,0,0.2);
}


/*ボタン装飾*/

/*main-img*/
div.top-head .dropdown{
	margin-bottom: 0;
}

#home .main_img_bg{
	  background-color: #181A1C;
    line-height: 1.2;
    position: relative;
}
#home .main_img_bg {
   height: 75vh;
    background: url(../images/header_bg.jpg);
    background-size: cover;
}

#home .-header-box {
  display: table;
  vertical-align:middle;
  width:100%;
  height:75vh;
}

.-header-box-inner{
    display:table-cell;
    vertical-align: middle;
    text-align:left;
    padding-left: 10vh;
    color:#fff;
}

#home .main_img_bg h1 {
  font-family: "游明朝体", "Yu Mincho", YuMincho,  "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  margin:15px 5px;
font-size: 52px;
font-weight: bold;
text-shadow: 1px 1px 1px #333;
}

#home .main_img_bg h1 span {
    font-size: 70%;
}


.header_lead {
  font-size:34px;
  color:#fff;
  margin-bottom: 0;
  font-family: 'Noto Serif JP', serif;

}

.header_lead2 {
  font-size:22px;
  color:#333;
  width: 75%;
  line-height: 1.6;
  font-weight: bold;

}




.author-prof{
	width: 100%;
	display: flex;
	justify-content: center;
	margin: 5vh auto;
}
.author-prof h2{
	display: block;
	margin: 15px auto 5px;
	text-align: center;
	color: #fff;
	font-size: 20px;
}
.author-prof-guest{
	width: 100%;
}
.author-prof-guest ul{
	display: flex;
	justify-content: center;
	width: 100%;
	list-style: none;
	padding:0;
	margin:0;
}
.author-prof-guest ul li {
    margin: 0 1%;
    width: 30%;
}

.author-prof-guest ul li a {
    margin: 0 1%;
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    width: 100%;
    color: #333;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    display: inline-block;
}

.author-prof-guest ul li a:hover {
    text-decoration: none;
    background: #57c2ae;
} 



.author-prof-shikai{
	width: 20%;
  margin: 0 0 0 8px;
}
.author-prof-shikai span{
	color: #fff;
	width: 100%;
	display: block;
  margin: 10px 0 0;
}
/*/main-img*/

.section .title{
	margin:0;
}

.section .title h1{
	  padding: 0;
    font-weight: 600;
    font-family: 'Noto Serif JP', serif;
	}
.section .title p{
	font-weight: 700;
}

/*タイトル括弧用CSS*/
.parenthesis {
    position: relative;
    width: 60%;
    padding: 15px 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    margin: 0px auto 30px;
}
.parenthesis::before,
.parenthesis::after {
  position: absolute;
  content: '';
  width: 20px;
  height: 50px;
	margin:-10px 0 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.parenthesis::before {
  top: 0;
  left: 0;
  border-top: 3px solid #555;
  border-left: 3px solid #555;
}
.parenthesis::after {
  bottom: 0;
  right: 0;
	margin:0 0 -10px;
  border-bottom: 3px solid #555;
  border-right: 3px solid #555;
}
/*/タイトル括弧用CSS*/

.program-wrap {
    background-image: url("../images/prog-bg.png");
    background-position: top;
    background-repeat: repeat-x;
    background-color:rgba(255,255,255,0.6);
background-blend-mode:lighten;
}

#program .title h2{
	padding: 50px 0 0 0!important;
  text-align: center;
  font-weight: bold;
  font-size: 38.5px;
  line-height: 1.4;
}

#program .title .title-sub {
    font-size: 16px;
    text-align: center;
}

#program .show-about {
    padding: 30px;
    font-size: 14px;
    text-align: left;
    margin-bottom: 3em;
    line-height: 1.4;
}


#program .show-about h5 {
    margin: -40px -30px 0;
    margin-bottom: 30px;
    font-size: 24px;
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    text-align: center;
    font-weight: bold;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    padding-left: 30px;
}

#program .show-about h5:after {
    border-top: 2px solid #000;
    content: "";
    display: inline;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex: 1;
    flex-grow: 1;
}

#program .show-about h5:before {
    margin-right: 15px;
}

#program .show-about h5:after {
    margin-left: 15px;
}



.centered.service {
margin-top: 0px;
}


/*.g-bg {
  background: url(../images/num_1_bg.png);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 80px;
}*/




div#time_table{
	margin: 0 auto 30px;
	width: 100%;
    background: #333;
    padding: 30px;
    color: #fff;
}

div#time_table h3 span{
display: block;
font-family: 'Noto Serif JP', serif;
font-weight: bold;
}



div#time_table div{
	list-style: none;
	font-size: 16px;
	text-align: left;
	width: 100%;
	margin: 0 auto;
	padding: 20px 20px;
	border-bottom: 1px dotted #888;
    line-height: 1.4;
}

div#time_table div:last-child {
    border: none;
}



div#time_table img{
	width: 80px;
	height: auto;
	display: block;
	margin: 0;
}

div#time_table img.tt_number {
	width: 50px;
	margin: 0px 20px;
}
div#time_table i.tt_clock{
    font-size: 16px;
    text-align: center;
    margin: 0 6px 0 0px;

}



div#time_table span.tt_time{
    font-size: 12px;
    margin: 14px 0px 14px 0px;
}
div#time_table span.tt_name{
	width: 27%;
	padding-left: 5px;
	font-weight: bold;
	display: block;
	line-height: 1.6;
  box-sizing: border-box;
}
div#time_table span.tt_name_small{
	font-size: 12px;
	font-weight: 500;
	display: block;
	line-height: 1.2;
  color: #888;
}
div#time_table span.tt_subtitle{
	width: 63%;
  line-height: 1.4;
  padding: 0.5%;
  font-size: 18px;
}

div#time_table span.tt_discussion_title{
	margin: 0 0 0px 90px;
}
div#time_table span.tt_discussion{
width: 100%;
text-align: right;
margin: 0 70px 10px 0;
}

/*.clear_border{
	border: none!important;
}*/

.panelist_txt{
    margin: 0 0 0;
    display: block;
    font-size: 14px;
    text-align: right;
    border-top: 1px dotted #cbcbcb;
    padding-top: 10px;
}


/*開催概要*/

.info_summary {
    width: 100%;
    margin: 5vh auto 0;
    max-width: 800px;
}

.info_summary a {
  text-decoration: underline;
}


#ticket div.ticket_img{
	margin: 10px 0 0 0;
}
#ticket div.ticket_txt{
	font-size: 20px;
  line-height: 1.6;
	margin:20px 0 0 0;
}

#ticket div.title p{
	text-align: left;
	color: #333;
}

/*テーブル*/
div.info_summary table{
    width: 100%;
    margin: -10px auto 0;
    border-collapse: separate;
    border-spacing: 0px 10px;
    font-size: 16px;
	line-height: 1.4;
}

div.info_summary table th,
div.info_summary table td {
    padding: 15px;
}

div.info_summary table th {
    background: #333333;
    vertical-align: middle;
    text-align: left;
    width: 100px;
    overflow: visible;
    position: relative;
    color: #fff;
    font-weight: 800;
    font-size: 16px;

}
div.info_summary table td {
    background: #f6f6f6;
    vertical-align: middle;
    font-size: 14px;
    text-align: left;
}



.red-font {
  color: #e80008;
  font-weight: bold;
  font-size: 150%;
}



#ticket div.info_summary table td {
    background: #f8f8f8;
    width: 360px;
    padding-left: 30px;
	  color: #000;
}

/*開催概要ボタン*/
div.info_summary_btn{
	text-align: center;
	margin: 30px 0;
}

div.info_summary_btn a button.reg_button{
    background-color: #57c2ae;
}
/*開催概要*/


/*未来予想*/
#access{
background: url(../images/prof-bg.png);
background-position: bottom;
background-repeat: repeat-x;
}
div.title h1{
	color: #333;
	font-family: "游明朝体", "Yu Mincho", YuMincho,  "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	margin-bottom: 0!important;
  line-height: 1.4;
}

.row-fluid [class*="span"]{
	margin-left: 0;
}
div.future{
margin: 30px auto;
display: flex;
justify-content: center;
flex-wrap: wrap;
}

div.future div.future_panel{
	width: 100%;
	height: auto;
	margin: 0 auto;
	display: block;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding:  15px 10px;
	box-sizing: border-box;
  position: relative;
}

div.future div.future_panel.panel-2{
  width: 100%;
}

div.future div.future_panel:before {
    content: "";
    display: block;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

div.future div.future_panel:after {
    content: "";
    display: block;
    overflow: hidden;
    background: url(../images/box/lt.gif) left top no-repeat,
    url(../images/box/rt.gif) right top no-repeat, url(../images/box/rb.gif) right bottom no-repeat, url(../images/box/lb.gif) left bottom no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}


div.thumbnail_future{
	width: 100%;
	padding: 0 5px;
  box-sizing: border-box;
}

div.future_panel .future_comment{
    width: 100%;
    color: #000;
    font-size: 16px;
    display: block;
    line-height: 1.6;
    font-family: "游明朝体", "Yu Mincho", YuMincho,  "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    font-weight: bold;
}
div.future_panel img{
	width: 100%;
	display: block;
  align-self: center;
  margin: auto;
}
div.future_panel .future_profile{
    width: 100%;
    font-size: 12px;
    padding: 0 1%;
}


/*タイトル括弧用CSS*/
.future_parenthesis{
    position: relative;
    width: 50%;
    padding: 15px 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    margin: 0px auto ;
}
.future_parenthesis::before,
.future_parenthesis::after {
  position: absolute;
  content: '';
  width: 20px;
  height: 40px;
	margin:0px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.future_parenthesis::before {
  top: 0;
  left: 0;
  border-top: 3px solid red;
  border-left: 3px solid red;
}
.future_parenthesis::after {
  bottom: 0;
  right: 0;
	margin:0 0 0px;
  border-bottom: 3px solid red;
  border-right: 3px solid red;
}
/*/タイトル括弧用CSS*/

/*/未来予想*/


/*質問フォーム*/

/*質問フォームボタン*/
div.question_button{

}
button.question_button{
			font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
      display:inline-block;
      min-width: 82%;
      font-weight: bold;
      font-size: 30px;
      cursor: pointer;
      padding: 40px 30px;
      color: #fff;
      text-align: center;
      text-decoration: none;
      text-shadow:0px 1px 0px #4A4A4A;
      border-radius: 5px;
      -webkit-transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, -webkit-transform 0.3s;
      transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s;
      -webkit-font-smoothing: antialiased;
	    transform:perspective(0);
      background-color: #15c9ea;
      box-shadow: 0 6px 0 #088aa1, 0 12px 0 #eee;
			border : none;
	    margin-top: 30px;
	    margin-bottom: 30px;

}
button.question_button:hover{
			color: #fff;
      background-color: #72e1f5;
      box-shadow: 0 3px 0 #088aa1, 0 6px 0px rgba(0,0,0,0.2);
      -webkit-transform: translateY(3px);
      transform: translateY(3px);
}
button.question_button:active{
     color: #cdcdcd;
     -webkit-transform: translateY(6px);
     transform: translateY(6px);
     transition-duration: 0.1s;
     background-color: #088aa1;
     box-shadow: 0 0 0 #088aa1, 0 0 0px rgba(255,255,255,0.2);
}
/*ボタン装飾*/





div.question_form {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
margin: 0 auto 50px;
max-width: 760px;
}

div.question_form iframe,
div.question_form object,
div.question_form embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/*/質問フォーム*/


/*注意事項*/
#attention h2{
	margin-bottom: 0!important;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-weight: bold;
}

h1.attention_title{



	color: #333;

}
div.attention_list_warp {
	width: 100%;
	margin: 0 auto;
	display: block;
}

div.attention_list_warp h4{
  margin-top: 30px;
  font-size: 16px;
}


div.attention_list_warp p{
  padding: 0 10px;
}

ul.attention_list {
    margin: 0 auto ;
    display: block;
    list-style: none;
    padding: 0 10px
}
ul.attention_list li {
	margin: 5px 0;
 display: block;
	color: #333;
    line-height: 1.2;
}
ul.attention_list li  a{
	color: #181A1C;
	text-decoration: underline;
}
ul.attention_list li a:hover{
	text-decoration: none;
}
.attention_list_warp p a{
	color: #181A1C;
  text-decoration: underline;
}
.attention_list_warp p a:hover{
	color: #295890;
  text-decoration: none;
}

.attention_list_warp h2{
margin:30px auto 5px;
display: block;
text-align: center;
color: #333;
font-weight: 500;
}

/*テーブル*/
div.info_summary h2{
	text-align: left;

}






/*/注意事項*/


/*フォーム前後のテキスト*/
#form_contact p{
	font-size: 16px;
	font-weight: 300;
  padding: 0;
  margin: 15px 0 0;
}

/*日付　場所*/

.date-box {
  background: #333;
  text-align: center;
  padding: 2vh 0 ;
}

#service.primary-section .container {
padding-top: 0;
}


.date-box .date-img {
  width: 80%;
}


/*=====================================================================================================================================
media query
=========================================================================================================================================*/
@media only screen and (max-width:1280px){
	div#time_table{
		width:100%;
	}
}

@media only screen and (max-width:979px){
	.section{
		padding:0 10px;
    box-sizing: border-box;
	}
  .info_summary {
      width: 100%;
      margin: 0 auto;
  }

	div#time_table span.tt_discussion{
		margin: 0;
		text-align: left;
	}


}
@media only screen and (max-width:780px){
	.author-prof{
		margin:5px auto;
	}
	.author-prof h2{
		margin:5px 0;
		font-size: 20px;
	}
	.author-prof-guest{
		width: 60%;
	}
	.author-prof-guest ul{
		flex-wrap: wrap;
		margin: -5px 0 0 0;
	}
	.author-prof-guest ul li{
	margin:5px 2%;
	}
	.author-prof-guest ul li img{
		width: 160px;
	}
	.author-prof-shikai{
		width:32%;
	}
	.author-prof-shikai img{
		width: 160px;
	}
	.parenthesis{
		width: 90%;
	}
	div.future div.future_panel{
		width: 100%;
	}
	div.future_panel .future_comment{
		font-size: 26px;
	}
	div.future_panel .future_profile{
		font-size: 16px;
	}

  div.future div.future_panel.panel-2{
    width: 100%;
  }




}


@media only screen and (max-width:646px){
		.service{
		margin-top: 0;
		padding-top: 0;
	}
	.section{
		padding:0 5px;
	}
	.author-prof{
		flex-wrap: wrap;
	}
	.author-prof-guest{
		width:95%
	}
	.author-prof-guest ul li{
    width: 46%;
	}
	.author-prof-shikai{
		width: 50%;
	}

	.section .title h1{
		font-size:30px;
	}
	.parenthesis {
    width: 100%;
}
	.section .title > p{
		font-size:18px;
	}
	div#time_table div{
		flex-wrap: wrap;
	}
	div#time_table span.tt_subtitle{
		width: 100%;
    padding: 15px 0.5%;
    text-align: center;
    font-weight: bold;
	}
	div#time_table span.tt_name{
		width: 75%;
	}
	div#time_table img{
    padding: 0 5px 0;
    box-sizing: border-box;
    width:25%;
  	}
	div#time_table img.tt_number{
		width: 26px;
    margin: 0px -3px;
	}
	div#time_table span.tt_discussion_title{
		margin:0;
	}
	br.br_sp{
	display: none;
	}
	div.future_panel .future_comment{
		font-size: 20px;
	}
	div.future_panel .future_profile{
		font-size:12px;
	}
	div.thumbnail_future{
		justify-content: center;
	}
	div.question_form{
		height: 350px;
	}
	.btn_flex_box{
		flex-wrap: wrap;
	}
	button.question_button{
		width: 98%;
	}
	#ticket div.ticket_txt{
		font-size:16px;
	}
	#program h3{
		line-height: 1.3;
		font-size: 28px;
    padding: 10px 0;
	}
	div#time_table{
		margin: 10px auto;
	}
	.panelist_txt{
		margin: 7px 0;
    text-align: left;
    line-height: 1.6;
	}
	div.info_summary_btn{
		margin:0;
	}


}




/*フッター*/
#footer-fix {
    display: none;
    position: fixed;
    bottom: 0;
    z-index: 50;
    width: 100%;
    -webkit-backface-visibility: hidden;
    padding: 10px;
}
#footer-fix.last_btn {
    background-image: none;
    text-align: center;
    text-align: -webkit-center;
    text-align: -moz-center;
    background-color: rgba(0,0,0,0.8);
}

#footer-fix h2{
	font-size: 150%;
	color: #fff;
	margin: 5px auto 10px;
	text-align: center;
	font-weight: bold;
}
#footer-fix.last_btn input.mail_submit_button{
			font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
      display:inline-block;
      min-width: 250px;
      font-size: 18px;
      cursor: pointer;
      padding: 7px 20px;
      color: #fff;
      text-align: center;
      text-decoration: none;
      border-radius: 5px;
      -webkit-transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, -webkit-transform 0.3s;
      transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s;
      -webkit-font-smoothing: antialiased;
	    transform:perspective(0);
      background-color: #eb551e;
      box-shadow: 0 6px 0 #872805, 0 12px 0 #333333;
			border : none;
	    margin:0 0 15px 15px;
}
#footer-fix.last_btn input.mail_submit_button:hover{
			color: #fff;
      -webkit-transform: translateY(3px);
      transform: translateY(3px);
}
#footer-fix.last_btn input.mail_submit_button:active{
     color: #cdcdcd;
     -webkit-transform: translateY(6px);
     transform: translateY(6px);
     transition-duration: 0.1s;
}



@media screen and (max-width:600px){

  #home .main_img_bg,#home .-header-box {
  height:55vh;
}


.triangle {
    display: none;
}

  #home .main_img_bg h1 {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    margin:5px 0;
font-size:26px;
  }

  #home .main_img_bg {
    background: url(../images/header_bg_sp.jpg);
    background-size: cover;
    background-position: bottom right;
    position:relative;
  }


  .header_lead {
    font-size:20px;
    margin-bottom: 0;
    padding: 0 ;
  }

  .header_lead2 {
    font-size:14px;
    padding: 0;
    width: 60%;
  }

  .header_guest {
    padding: 0;
    width: 60%;
    line-height: 1.6;
  }

  .header_ticket {
    padding: 0;
    width: 60%;
    line-height: 1.6;
  }


.primary-section .date-box .date-img {
  width: 100%;
}

.section .title h1 {
  font-size: 28px;
  margin: 0;
}

.centered.service {
  padding: 0 5px;
}

#footer-fix {
    display: none;
    position: fixed;
    bottom: 0;
    z-index: 50;
    width: 100%;
    -webkit-backface-visibility: hidden;
}
#footer-fix.last_btn {
    background-image: none;
    text-align: center;
    text-align: -webkit-center;
    text-align: -moz-center;
    background-color: rgba(0,0,0,0.8);
}
#footer-fix h2{
	font-size: 100%;
	color: #fff;
	margin: 0 auto;
	text-align: center;
	font-weight: bold;
}
	#footer-fix.last_btn input.mail_submit_button{
   padding: 7px 4px;
   min-width: 132px;
   margin: 0 0 15px 0;
   font-size: 100%;
}

	#program .title h2{
	font-weight: 600;
	font-size: 30px;
	padding: 20px 2% 0!important;
	text-align: center;
}

#program .show-about h5 {
    font-size: 18px;
    margin: -40px auto 30px;
    padding: 0;

}

#program .show-about h5:after {
    border: none;
}

#program .show-about {
    padding: 30px 15px;
}

#ticket div.info_summary table,
.attention_list_warp div.info_summary table {
font-size: 14px;
}

.section .container {
  padding-top: 20px;
}


div.thumbnail_future {
      flex-wrap: wrap;
}

div.future_panel .future_comment {
  font-size: 18px;
}

div.future_panel .future_profile {
  width:100%;
}

div.future_panel img {
    width: 100%;
}

.btn_flex_box button.reg_button {
  margin-left: 0;
}

.scrollup {
      bottom: 90px;
      right: 5px;
    }

div.future div.future_panel {
  padding: 20px 5px;
}

.-header-box-inner{
    padding-left: 2vh;
}

}


/*フッター*/

.sns-btns {
    margin: 10px auto 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.sns-btns-wrap {
    line-height: 1;
    font-size: 0;
    text-align: center;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
}
.sns-btns-item {
    padding-right: 10px;
    list-style: none;
}

.twitter_btn {
    width: 75px;
}

.sns-btns-googleplus {
    display:none;
}

/*20170823*/


/*20210528*/
.map {
    margin: 5vh auto;
    text-align: center;
    max-width: 800px;
    padding: 10px;
    background:#333;
    box-sizing: border-box;
}
.map-inner {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    }
.map-inner iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    }


.w800-center {
    margin: 5vh auto 0;
    max-width: 800px;
    padding-bottom: 10vh;
}
@media screen and (max-width:600px){
  
  .w800-center {
      padding-bottom: 5vh;
  }
}

.presents {
    position:absolute;
    top:5px;
    right:5px;
    font-size:12px;
    color:#fff;
}

.ticket-box {
    background-color: #fff;
    padding: 40px;
    box-sizing: border-box;
}

