@charset "UTF-8";
/**======================================
	base
======================================**/
/* mixin */
/*--------------------------------------
	body, container
---------------------------------------*/
body {
	position: relative;
	background: #fff;
	font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, YuGothic, Arial, "メイリオ", Meiryo, sans-serif;
	color: #333;
	-webkit-text-size-adjust: 100%; }
	body * {
	border-color: #DDD; }
	@media screen and (min-width: 600px) {
		body {
			color: #444; } }

.container {
    position: relative;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    min-height: 100vh;
	padding-top: 71px;
}

/*--------------------------------------
	global_tags
---------------------------------------*/
a {
  outline: none; }
  a, a:visited {
    color: inherit;
transition: .3s;}
  a:hover {
    color: #A80000;
transition: .3s;}
  a.block_link {
    display: block;
    text-decoration: none; }
    a.block_link, a.block_link * {
      color: #333; }
  @media screen and (min-width: 600px) {
    a.block_link, a.block_link * {
      color: #444; } }

/*--------------------------------------
	header
---------------------------------------*/


#header_wrap {
  position: absolute;
  top: 0;
  border-bottom: 1px solid #DDD;
  width: 100%;
  background-color: #fff;
  z-index: 4;
transition:0.3s;}
  #header_wrap #header {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    height: 70px; }
    @media screen and (min-width: 600px) {
      #header_wrap #header {
        padding-left: 50px;
        padding-right: 50px;
        max-width: 1300px; } }
    #header_wrap #header #logo_set {
      display: inline-block;
      padding-left: 1.0rem; }
      #header_wrap #header #logo_set #logo a img {
        width: auto;
        height: 40px; }
    #header_wrap #header #header_navi {
      display: none; }
@media screen and (min-width: 600px) {
  #header_wrap #header_topnavi_wrap {
    position: relative;
    height: 40px;
    border-bottom: 1px solid #DDD; }
    #header_wrap #header_topnavi_wrap #header_topnavi {
      position: relative;
      margin-left: auto;
      margin-right: auto; } }
    @media screen and (min-width: 600px) and (min-width: 600px) {
      #header_wrap #header_topnavi_wrap #header_topnavi {
        padding-left: 50px;
        padding-right: 50px;
        max-width: 1300px; } }
@media screen and (min-width: 600px) {
      #header_wrap #header_topnavi_wrap #header_topnavi ul {
        display: inline-block;
        position: absolute;
        top: 10px;
        right: 50px; }
        #header_wrap #header_topnavi_wrap #header_topnavi ul li {
          display: inline-block;
          margin-right: 15px; }
          #header_wrap #header_topnavi_wrap #header_topnavi ul li a,
          #header_wrap #header_topnavi_wrap #header_topnavi ul li a:visited,
          #header_wrap #header_topnavi_wrap #header_topnavi ul li a.current {
            display: block;
            position: relative;
            padding-left: 1em;
            text-decoration: none; }
            #header_wrap #header_topnavi_wrap #header_topnavi ul li a::before,
            #header_wrap #header_topnavi_wrap #header_topnavi ul li a:visited::before,
            #header_wrap #header_topnavi_wrap #header_topnavi ul li a.current::before {
              font-size: 1.3rem;
              color: #555; }
            #header_wrap #header_topnavi_wrap #header_topnavi ul li a span,
            #header_wrap #header_topnavi_wrap #header_topnavi ul li a:visited span,
            #header_wrap #header_topnavi_wrap #header_topnavi ul li a.current span {
              font-size: 1.3rem;
              color: #444; }
          #header_wrap #header_topnavi_wrap #header_topnavi ul li a:hover span {
            color: #999; }
        #header_wrap #header_topnavi_wrap #header_topnavi ul li:last-child {
          margin-right: 0; }
  #header_wrap #header {
    height: 70px; }
    #header_wrap #header #logo_set {
      padding-left: 0; }
      #header_wrap #header #logo_set #logo a img {
        height: 50px; } }
@media screen and (min-width: 960px) {
  #header_wrap #header #header_navi {
    display: inline-block; }
    #header_wrap #header #header_navi li {
      display: inline-block;
      margin-right: 15px; }
      #header_wrap #header #header_navi li a {
        display: block;
        position: relative;
        padding-left: 1em;
        font-size: 13rem;
        font-size: 1.3rem;
        text-decoration: underline;
        color: #444; }
        #header_wrap #header #header_navi li a::before {
          color: #555; }
      #header_wrap #header #header_navi li a:visited,
      #header_wrap #header #header_navi li a.current {
        color: #444; }
      #header_wrap #header #header_navi li a:hover,
      #header_wrap #header #header_navi li a:active {
        color: #999; }
    #header_wrap #header #header_navi li:last-child {
      margin-right: 0; } }

/*
#header_wrap {
	@media screen and (max-width:600px) {
		// transition
		&,
		#header {
			transition: .5s;
		}
		// change
		&.header_wrap_change {
			box-shadow: 10px 0 5px 0 rgba( 0,0,0,.2 );
			#header {
				height: 60px;
			}
		}
	}
	@media screen and (min-width:600px) and (max-width:960px) {
		// transition
		&,
		#header_topnavi_wrap,
		#header,
		#logo img {
			transition: .5s;
		}
		// change
		&.header_wrap_change {
			box-shadow: 10px 0 5px 0 rgba( 0,0,0,.2 );
			#header_topnavi_wrap {
				height: 0;
				overflow: hidden;
			}
			#header {
				height: 60px;
				#logo {
					img {
						height: 35px;
					}
				}
			}
		}
	}
	@media screen and (min-width:960px) {
		// transition
		&,
		#header_topnavi_wrap,
		#header,
		#logo img {
			transition: .5s;
		}
		// change
		&.header_wrap_change {
			#header_topnavi_wrap {
				height: 0;
				overflow: hidden;
			}
			#header {
				height: 80px;
				#gnav {
					#gnav_list {
						box-shadow: 0 0 5px 0 rgba( 0,0,0,.3 );
					}
				}
			}
		}
	}
}
*/

#header .sns_icon {
	display: flex;
	margin: 20px 3.0em 0;
	flex-wrap: wrap;
}

#header .sns_icon li {
	margin-bottom: 15px;
	margin-right: 20px;
}

#header .sns_icon li .fab::before {
	font-size: 3.0rem;
	color: #fff;
}

/*--------------------------------------
	gnav
---------------------------------------*/
@media screen and (min-width: 960px) {
  #gnav_wrap {
    position: relative;
    z-index: 10; }
    #gnav_wrap #gnav {
      position: relative;
      margin-left: auto;
      margin-right: auto;
      width: 100%; } }
    @media screen and (min-width: 960px) and (min-width: 600px) {
      #gnav_wrap #gnav {
        padding-left: 50px;
        padding-right: 50px;
        max-width: 1300px; } }

@media screen and (min-width: 960px) {
  #header #gnav {
    flex-basis: 65%;
    max-width: 720px;
    min-width: 500px; } }
/* gnav_btn */
#gnav_wrap #gnav_btn,
#header #gnav_btn {
  display: block;
  position: absolute;
  top: calc(50% - 11px);
  right: 0;
  margin-right: 1em;
  width: 26px;
  height: 22px;
  cursor: pointer;
  z-index: 25;
  transition: all .4s; }
  #gnav_wrap #gnav_btn span,
  #header #gnav_btn span {
    display: inline-block;
    position: absolute;
    left: 0;
    border-radius: 1px;
    width: 100%;
    height: 2px;
    background-color: #333;
    font-size: 0;
    transition: all .4s; }
  #gnav_wrap #gnav_btn span:nth-of-type(1),
  #header #gnav_btn span:nth-of-type(1) {
    top: 0; }
  #gnav_wrap #gnav_btn span:nth-of-type(2),
  #header #gnav_btn span:nth-of-type(2) {
    top: 10px; }
  #gnav_wrap #gnav_btn span:nth-of-type(3),
  #header #gnav_btn span:nth-of-type(3) {
    bottom: 0; }
#gnav_wrap #gnav_btn.close,
#header #gnav_btn.close {
  transform: rotate(360deg); }
  #gnav_wrap #gnav_btn.close span:nth-of-type(1),
  #header #gnav_btn.close span:nth-of-type(1) {
    transform: translateY(10px) rotate(-45deg); }
  #gnav_wrap #gnav_btn.close span:nth-of-type(2),
  #header #gnav_btn.close span:nth-of-type(2) {
    transform: translateY(0) rotate(45deg); }
  #gnav_wrap #gnav_btn.close span:nth-of-type(3),
  #header #gnav_btn.close span:nth-of-type(3) {
    opacity: 0; }
@media screen and (min-width: 600px) {
  #gnav_wrap #gnav_btn,
  #header #gnav_btn {
    top: calc(50% - 15px);
    width: 34px;
    height: 30px; }
    #gnav_wrap #gnav_btn span:nth-of-type(1),
    #header #gnav_btn span:nth-of-type(1) {
      top: 0; }
    #gnav_wrap #gnav_btn span:nth-of-type(2),
    #header #gnav_btn span:nth-of-type(2) {
      top: 14px; }
    #gnav_wrap #gnav_btn span:nth-of-type(3),
    #header #gnav_btn span:nth-of-type(3) {
      bottom: 0; }
  #gnav_wrap #gnav_btn.close span:nth-of-type(1),
  #header #gnav_btn.close span:nth-of-type(1) {
    transform: translateY(14px) rotate(-45deg); }
  #gnav_wrap #gnav_btn.close span:nth-of-type(2),
  #header #gnav_btn.close span:nth-of-type(2) {
    transform: translateY(0) rotate(45deg); }
  #gnav_wrap #gnav_btn.close span:nth-of-type(3),
  #header #gnav_btn.close span:nth-of-type(3) {
    opacity: 0; } }
@media screen and (min-width: 960px) {
  #gnav_wrap #gnav_btn,
  #header #gnav_btn {
    display: none; } }

/* gnav */
@media screen and (max-width: 960px) {
	#gnav #gnav_list li a {
		color: #fff;
	}
	#gnav #gnav_list li a:active {
		color: #A80000;
	}
  #gnav_wrap #gnav,
  #header #gnav {
    position: fixed;
    top: 86px;
    bottom: 100%;
    right: 0;
    left: 0;
    width: 100%;
    height: auto;
    background: rgba(34, 34, 34, 0.9);
    overflow: hidden;
    z-index: 20;
    transition: .3s; }
    #gnav_wrap #gnav.open,
    #header #gnav.open {
      bottom: 0;
      overflow: scroll; }
    #gnav_wrap #gnav #topnavi_list,
    #header #gnav #topnavi_list {
      margin: 2em 0; }
      #gnav_wrap #gnav #topnavi_list li,
      #header #gnav #topnavi_list li {
        margin: 0 3em 6px; }
        #gnav_wrap #gnav #topnavi_list li a,
        #gnav_wrap #gnav #topnavi_list li a:visited,
        #header #gnav #topnavi_list li a,
        #header #gnav #topnavi_list li a:visited {
          display: block;
          position: relative;
          margin-top: 1.0rem;
          padding: 0;
          text-decoration: none;
          overflow: hidden; }
          #gnav_wrap #gnav #topnavi_list li a span,
          #gnav_wrap #gnav #topnavi_list li a:visited span,
          #header #gnav #topnavi_list li a span,
          #header #gnav #topnavi_list li a:visited span {
            display: block;
            padding: .9em 0 .85em;
            border: 1px solid #999;
            font-size: 1.5rem;
            font-weight: bold;
            text-align: center;
            text-overflow: ellipsis;
            white-space: nowrap;
            color: #FFF; }
    #gnav_wrap #gnav #gnav_list > li,
    #header #gnav #gnav_list > li {
      margin: 0 3em ;
      border-bottom: 1px solid #999; }
      #gnav_wrap #gnav #gnav_list > li > a,
      #gnav_wrap #gnav #gnav_list > li > a:visited,
      #header #gnav #gnav_list > li > a,
      #header #gnav #gnav_list > li > a:visited {
        display: block;
        position: relative;
        padding: 0;
		  line-height: 3.0em;
        text-decoration: none;
        overflow: hidden; }
        #gnav_wrap #gnav #gnav_list > li > a > span,
        #gnav_wrap #gnav #gnav_list > li > a:visited > span,
        #header #gnav #gnav_list > li > a > span,
        #header #gnav #gnav_list > li > a:visited > span {
          display: block;
          padding: .9em 0 .85em;
          font-size: 1.5rem;
          font-weight: bold;
          text-align: center;
          text-overflow: ellipsis;
          white-space: nowrap;
          color: #FFF; }
      #gnav_wrap #gnav #gnav_list > li:active,
      #header #gnav #gnav_list > li:active {
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
        background: #333; }
      #gnav_wrap #gnav #gnav_list > li a:focus,
      #header #gnav #gnav_list > li a:focus {
        outline: none !important; }
    #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li,
    #header #gnav #gnav_list > li.submenu_wrap ul.submenu li {
      margin: 0 3em;
      border-bottom: none;
      border-top: 1px dashed #999; }
      #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a,
      #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:visited,
      #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a,
      #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:visited {
        display: block;
        position: relative;
        margin-top: 1.0rem;
        padding: 0;
        text-decoration: none;
        overflow: hidden; }
        #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a > span,
        #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:visited > span,
        #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a > span,
        #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:visited > span {
          display: block;
          padding: .9em 0 .85em;
          font-size: 1.5rem;
          font-weight: normal;
          text-align: center;
          text-overflow: ellipsis;
          white-space: nowrap;
          color: #FFF; } }
@media screen and (min-width: 960px) {
	#gnav #gnav_list li a {
		color: #333;
	}
	#gnav #gnav_list a:hover,
	#gnav #gnav_list a.current{
		color: #A80000;
	}
  #gnav_wrap #gnav #gnav_list,
  #header #gnav #gnav_list {
    display: flex;
    width: 100%; }
    #gnav_wrap #gnav #gnav_list > li,
    #header #gnav #gnav_list > li {
      flex-grow: 1;
      flex-basis: auto;
		border-right: 1px solid #333;
		text-align: center;
		line-height: 1.0em;
      margin-right: 1px; }
      #gnav_wrap #gnav #gnav_list > li:last-child,
      #header #gnav #gnav_list > li:last-child {
        margin-right: 0; }
	#header #gnav #gnav_list > li:last-child {
		border-right: none;}
      #gnav_wrap #gnav #gnav_list > li > a,
      #gnav_wrap #gnav #gnav_list > li > a:visited,
      #header #gnav #gnav_list > li > a,
      #header #gnav #gnav_list > li > a:visited {
        display: block;
        height: 100%;
		line-height: 1.0em;
        text-decoration: none !important; }
        #gnav_wrap #gnav #gnav_list > li > a > span,
        #gnav_wrap #gnav #gnav_list > li > a:visited > span,
        #header #gnav #gnav_list > li > a > span,
        #header #gnav #gnav_list > li > a:visited > span {
          display: block;
          padding: .9em 0 .85em;
          font-size: 1.4rem;
          text-align: center;
          text-overflow: ellipsis;
          white-space: nowrap;
          color: #333; }
      #gnav_wrap #gnav #gnav_list > li > a.current > span,
      #header #gnav #gnav_list > li > a.current > span {
        border-bottom: 2px solid #333; }
      #gnav_wrap #gnav #gnav_list > li > a:not(.current),
      #header #gnav #gnav_list > li > a:not(.current) {
        transition: all .5s; }
        #gnav_wrap #gnav #gnav_list > li > a:not(.current) span, #gnav_wrap #gnav #gnav_list > li > a:not(.current)::before, #gnav_wrap #gnav #gnav_list > li > a:not(.current)::after,
        #header #gnav #gnav_list > li > a:not(.current) span,
        #header #gnav #gnav_list > li > a:not(.current)::before,
        #header #gnav #gnav_list > li > a:not(.current)::after {
          transition: all .5s; }
      #gnav_wrap #gnav #gnav_list > li > a:not(.current):hover > span,
      #header #gnav #gnav_list > li > a:not(.current):hover > span {
        background: #EEE; }
    #gnav_wrap #gnav #gnav_list > li.submenu_wrap,
    #header #gnav #gnav_list > li.submenu_wrap {
      position: relative;
      z-index: 1; }
      #gnav_wrap #gnav #gnav_list > li.submenu_wrap > a > span,
      #header #gnav #gnav_list > li.submenu_wrap > a > span {
        position: relative; }
        #gnav_wrap #gnav #gnav_list > li.submenu_wrap > a > span::after,
        #header #gnav #gnav_list > li.submenu_wrap > a > span::after {
          content: "";
          display: inline-block;
          width: 16px;
          height: 16px;
          font-size: 16px;
          font-family: "Font Awesome 5 Pro";
          line-height: 16px; }
        #gnav_wrap #gnav #gnav_list > li.submenu_wrap > a > span::after,
        #header #gnav #gnav_list > li.submenu_wrap > a > span::after {
          padding-left: 8px; }
      #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu,
      #header #gnav #gnav_list > li.submenu_wrap ul.submenu {
        display: none;
        position: absolute;
        top: 50px;
        left: 0;
        padding: 0;
        min-width: 100%;
        z-index: 2; }
        #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li,
        #header #gnav #gnav_list > li.submenu_wrap ul.submenu li {
          display: block;
          padding: 0; }
          #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a,
          #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:visited,
          #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a,
          #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:visited {
            display: block;
            text-decoration: none !important;
            text-align: left;
            white-space: nowrap; }
            #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a > span,
            #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:visited > span,
            #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a > span,
            #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:visited > span {
              display: block;
              padding: .9em 0 .85em;
              border: 1px solid #EEE;
              background: #FFF;
              font-size: 1.3rem;
              text-align: center;
              text-overflow: ellipsis;
              white-space: nowrap;
              color: #333; }
          #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a,
          #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:not(.current),
          #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a,
          #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:not(.current) {
            transition: all .5s; }
            #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a span, #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a::before, #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a::after,
            #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:not(.current) span,
            #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:not(.current)::before,
            #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:not(.current)::after,
            #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a span,
            #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a::before,
            #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a::after,
            #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:not(.current) span,
            #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:not(.current)::before,
            #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:not(.current)::after {
              transition: all .5s; }
          #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a.current span,
          #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a.current span {
            color: #BBB; }
          #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:not(.current):hover::before, #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:not(.current):hover::after,
          #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:not(.current):hover > span,
          #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:not(.current):hover::before,
          #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:not(.current):hover::after,
          #header #gnav #gnav_list > li.submenu_wrap ul.submenu li > a:not(.current):hover > span {
            background: #EEE;
            color: #333; }
        #gnav_wrap #gnav #gnav_list > li.submenu_wrap ul.submenu li:not(:first-child) > a > span,
        #header #gnav #gnav_list > li.submenu_wrap ul.submenu li:not(:first-child) > a > span {
          border-top: none; } }

/*--------------------------------------
	title / promo
---------------------------------------*/
#promo_wrap {
  position: relative;
  z-index: 3; }

#title_wrap {
  position: relative;
  background-color: #777;
  z-index: 3; }
  #title_wrap #title {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    background: #EEE; }
    @media screen and (min-width: 600px) {
      #title_wrap #title {
        padding-left: 50px;
        padding-right: 50px;
        max-width: 1300px; } }
@media screen and (max-width: 600px) {
  #title_wrap #title .title_text {
    margin: 0;
    padding: .8em 5%;
    font-size: 2.0rem;
    line-height: 1.3em; } }
@media screen and (min-width: 600px) {
  #title_wrap #title .title_text {
    padding: 50px 0;
    font-size: 2.6rem; } }

/*--------------------------------------
	breadcrumb
---------------------------------------*/
.breadcrumb_wrap {
  margin-bottom: 2em;
  padding-top: .5em;
  padding-bottom: .5em;
  background: rgba(0, 0, 0, 0.1); }
  .breadcrumb_wrap .breadcrumb {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden; }
    @media screen and (min-width: 600px) {
      .breadcrumb_wrap .breadcrumb {
        padding-left: 50px;
        padding-right: 50px;
        max-width: 1300px; } }
    .breadcrumb_wrap .breadcrumb li {
      position: relative;
      display: inline-block;
      margin-right: 10px;
      font-size: 1.2rem; }
      .breadcrumb_wrap .breadcrumb li + li {
        padding-left: 22px; }
        .breadcrumb_wrap .breadcrumb li + li::before {
          content: "\f105";
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          width: 12px;
          height: 12px;
          font-size: 1.2rem;
          font-family: "Font Awesome 5 Pro";
          text-align: center;
          color: #333; }
      .breadcrumb_wrap .breadcrumb li a {
        display: block;
        font-size: 1.2rem; }
        .breadcrumb_wrap .breadcrumb li a, .breadcrumb_wrap .breadcrumb li a:visited {
          color: #555; }
        .breadcrumb_wrap .breadcrumb li a:hover {
          color: #999; }
      .breadcrumb_wrap .breadcrumb li.current {
        font-size: 11px;
        font-size: 1.1rem; }
@media screen and (max-width: 600px) {
  .breadcrumb_wrap .breadcrumb {
    padding-left: 5%;
    padding-right: 5%; } }
@media screen and (max-width: 960px) {
  .breadcrumb_wrap .breadcrumb {
    overflow-x: scroll;
    white-space: nowrap; } }

/*--------------------------------------
	contents
---------------------------------------*/
#contents_wrap {
  position: relative;	
    -webkit-box-flex: 1;
    flex-grow: 1;
  z-index: 3; }
  #contents_wrap .contents {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2em;
    padding-top: 2em; }
    @media screen and (min-width: 600px) {
      #contents_wrap .contents {
        padding-left: 30px;
        padding-right: 30px;
        max-width: 1300px; }
      #contents_wrap .contents.w800 {
        max-width: 860px; } }
    #contents_wrap .contents .mono_area .box,
    #contents_wrap .contents .main_area .box {
      margin-bottom: 2.0em; }
      #contents_wrap .contents .mono_area .box .part,
      #contents_wrap .contents .main_area .box .part {
        margin-bottom: 1.5em;
        padding: 0 5%; }
  #contents_wrap .contents.wide_contents {
    margin-bottom: 0;
    padding: 0; }
    #contents_wrap .contents.wide_contents .mono_area,
    #contents_wrap .contents.wide_contents .main_area {
      padding-top: 2em;
      padding-bottom: 2em; }
      #contents_wrap .contents.wide_contents .mono_area .box:last-child,
      #contents_wrap .contents.wide_contents .main_area .box:last-child {
        margin-bottom: 0; }
        #contents_wrap .contents.wide_contents .mono_area .box:last-child .part:last-child,
        #contents_wrap .contents.wide_contents .main_area .box:last-child .part:last-child {
          margin-bottom: 0; }
@media screen and (min-width: 600px) {
  #contents_wrap .contents {
    margin-bottom: 40px;
    padding-top: 40px; }
    #contents_wrap .contents .mono_area.no_padding,
    #contents_wrap .contents .main_area.no_padding {
      padding-top: 0;
      padding-bottom: 0; }
    #contents_wrap .contents .mono_area .box,
    #contents_wrap .contents .main_area .box {
      margin-bottom: 40px; }
      #contents_wrap .contents .mono_area .box .part,
      #contents_wrap .contents .main_area .box .part {
        margin-bottom: 30px;
        padding: 0; }
  #contents_wrap .contents.wide_contents {
    margin-bottom: 0;
    padding: 0;
    width: 100%;
    max-width: 100%; }
    #contents_wrap .contents.wide_contents .mono_area,
    #contents_wrap .contents.wide_contents .main_area {
      padding-top: 60px;
      padding-bottom: 60px; }
      #contents_wrap .contents.wide_contents .mono_area > .hgroup,
      #contents_wrap .contents.wide_contents .mono_area > *[class^="heading"],
      #contents_wrap .contents.wide_contents .mono_area .box,
      #contents_wrap .contents.wide_contents .main_area > .hgroup,
      #contents_wrap .contents.wide_contents .main_area > *[class^="heading"],
      #contents_wrap .contents.wide_contents .main_area .box {
        position: relative;
        margin-left: auto;
        margin-right: auto; } }
      @media screen and (min-width: 600px) and (min-width: 600px) {
        #contents_wrap .contents.wide_contents .mono_area > .hgroup,
        #contents_wrap .contents.wide_contents .mono_area > *[class^="heading"],
        #contents_wrap .contents.wide_contents .mono_area .box,
        #contents_wrap .contents.wide_contents .main_area > .hgroup,
        #contents_wrap .contents.wide_contents .main_area > *[class^="heading"],
        #contents_wrap .contents.wide_contents .main_area .box {
          padding-left: 50px;
          padding-right: 50px;
          max-width: 1300px; }
		}

@media screen and (min-width: 960px) {
  #contents_wrap .contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	padding-top: 60px;}
    #contents_wrap .contents .side_area {
      flex-basis: 20%;
      max-width: 20%; }
    #contents_wrap .contents .main_area {
      flex-basis: 75%;
      max-width: 75%; }
    #contents_wrap .contents .mono_area .box {
		margin-bottom: 80px; 
	}
    #contents_wrap .contents .mono_area {
      flex-basis: 100%;
      max-width: 100%; }
  #contents_wrap .contents.wide_contents {
    display: block;
    margin-bottom: 0; }
    #contents_wrap .contents.wide_contents .mono_area,
    #contents_wrap .contents.wide_contents .main_area {
      padding-top: 80px;
      padding-bottom: 80px; }
	#contents_wrap #single_contents {
		max-width: 860px;
	}
	
}

/*--------------------------------------
	footer
---------------------------------------*/
#footer_wrap {
  width: 100%;
  background: #e6e6e6; }
  #footer_wrap #footer {
    padding-top: 1.5rem;
    position: relative;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (min-width: 600px) {
      #footer_wrap #footer {
        padding-left: 50px;
        padding-right: 50px;
        max-width: 1300px; } }
@media screen and (min-width: 600px) {
  #footer_wrap #footer {
    padding-top: 50px;
    padding-bottom: 50px; } }
@media screen and (min-width: 960px) {
  #footer_wrap #footer {
    display: flex;
    justify-content: space-between; } }

.footer_profile {
  margin-bottom: 20px;
  padding: 0 5%; }
  .footer_profile .footer_name {
    margin-bottom: 5px;
    font-size: 1.3rem;
    font-weight: bold;
    text-align: center;
    text-shadow: none;
    color: #FFF; }
  .footer_profile .footer_address {
    font-size: 1.3rem;
    text-align: center;
    text-shadow: none;
    color: #FFF; }
  .footer_profile .footer_tel a {
    font-size: 1.3rem;
    font-weight: bold;
    text-decoration: none; }
    .footer_profile .footer_tel a span {
      font-weight: bold;
      color: #FFF; }
@media screen and (min-width: 600px) {
  .footer_profile {
    margin-bottom: 40px;
    padding: 0; }
    .footer_profile .footer_name {
      margin-bottom: 15px;
      line-height: 1.3em; }
    .footer_profile .footer_address {
      margin-bottom: 15px;
      line-height: 1.3em; }
    .footer_profile .footer_tel {
      text-align: center; }
      .footer_profile .footer_tel a {
        text-decoration: none;
        cursor: default; }
        .footer_profile .footer_tel a span {
          color: #FFF; } }
@media screen and (min-width: 960px) {
  .footer_profile {
    margin-bottom: 0; }
    .footer_profile .footer_name,
    .footer_profile .footer_address,
    .footer_profile .footer_tel {
      text-align: left; } }

@media screen and (max-width: 600px) {
  .footer_site_navi {
    margin: 1.5em 0;
    padding: 0 5%; }
    .footer_site_navi .footer_site_navi_cont .footer_site_navi_heading {
      padding: 1.6em 1em .65em;
      border-bottom: 1px dashed #777;
      font-size: 1.3rem;
      font-weight: bold;
      line-height: 1.3em;
      text-align: left;
      text-overflow: ellipsis;
      color: #DDD;
      white-space: nowrap;
      overflow: hidden; }
    .footer_site_navi .footer_site_navi_cont li a {
      display: block;
      padding: 1.25em 1em 1em;
      border-bottom: 1px dashed #777;
      font-size: 1.2rem;
      line-height: 1.3em;
      text-decoration: none;
      position: relative; }
      .footer_site_navi .footer_site_navi_cont li a, .footer_site_navi .footer_site_navi_cont li a:visited {
        color: #CCC; }
      .footer_site_navi .footer_site_navi_cont li a::before {
        content: "";
        width: 16px;
        height: 16px;
        font-size: 16px;
        font-family: "Font Awesome 5 Pro";
        line-height: 16px;
        display: block;
        position: absolute;
        top: 50%;
        margin-top: -8px;
        right: 0; }
    .footer_site_navi .footer_site_navi_cont:first-child li:first-child a {
      border-top: 1px dashed #777;
	}

	#copyright_wrap #copyright_wrap {
		padding: 10px 0;
	}

	#copyright_wrap #copyright {
		padding: 10px 0;
	  font-size: 1.4rem;
	  text-align: center;
	  color: #333;
	line-height: 1.0rem;}
}
@media screen and (min-width: 600px) {
  .footer_site_navi {
    display: flex;
    margin-bottom: 0;
    padding: 0; }
    .footer_site_navi .footer_site_navi_cont {
      margin-right: 5%;
      width: 30%; }
      .footer_site_navi .footer_site_navi_cont:last-child {
        margin-right: 0; }
      .footer_site_navi .footer_site_navi_cont .footer_site_navi_heading {
        margin-bottom: 10px;
        font-size: 1.2rem;
        font-weight: bold;
        line-height: 1.3em;
        color: #DDD; }
      .footer_site_navi .footer_site_navi_cont li a {
        display: block;
        position: relative;
        padding: 1.25em 10px 1em 35px;
        border-top: 1px dashed #777;
        border-bottom: 1px dashed #777;
        font-size: 1.2rem;
        line-height: 1.3em;
        text-decoration: none; }
        .footer_site_navi .footer_site_navi_cont li a, .footer_site_navi .footer_site_navi_cont li a:visited {
          color: #CCC; }
        .footer_site_navi .footer_site_navi_cont li a:hover {
          color: #EEE; }
        .footer_site_navi .footer_site_navi_cont li a::before {
          left: 10px; }
      .footer_site_navi .footer_site_navi_cont li:not(:first-child) a {
        border-top: none; }
	#copyright_wrap {
		padding: 10px 0;		
	}
}
@media screen and (min-width: 960px) {
  .footer_site_navi {
    flex-basis: 50%;
    margin-bottom: 30px;
    max-width: 50%; }
    .footer_site_navi .footer_site_navi_cont {
      margin-right: 30px; } 

	#copyright_wrap  {
	position: relative;
		margin-right: auto;
		margin-left: auto;
		padding: 15px 30px;
	max-width: 1300px;
	}

	#copyright_wrap #copyright {
		display: block;
	  min-height: 30px;
	  font-size: 1.4rem;
	  text-align: center;
	  color: #333;
	line-height: 2.8rem;}

	#copyright_wrap .sns_icon {
		position: absolute;
		top: 15px;
		right: 0;
		display: flex;
		margin-right: 30px;
	}

	#copyright_wrap .sns_icon li {
		margin-left: 15px;
	}

	#copyright_wrap .sns_icon li .fab::before {
		font-size: 3.0rem;
		color: #333;
	}

	#copyright_wrap .sns_icon a:hover .fab::before {
		transition: .3s;
	}

	#copyright_wrap .sns_icon a:hover .fa-facebook-square::before {
		color: #3b5998;
	}

	#copyright_wrap .sns_icon a:hover .fa-instagram::before {
		color: #333000;
	}

	#copyright_wrap .sns_icon a:hover .fa-twitter-square::before {
		color: #55ACEE;
	}

	#copyright_wrap .sns_icon a:hover .fa-youtube::before {
		color: #FF0000;
	}

	#copyright_wrap .sns_icon a:hover .fa-spotify::before {
		color: #1DB954;
	}

	#copyright_wrap .sns_icon a:hover .fa-soundcloud::before {
		color: #ff3c00;
	}
}

@media screen and (min-width: 600px) {
  #copyright_wrap #copyright {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-size: 1.1rem;
    color: #333; } }
  @media screen and (min-width: 600px) and (min-width: 600px) {
    #copyright_wrap #copyright {
      padding-left: 50px;
      padding-right: 50px;
      max-width: 1300px; } }
#copyright_wrap #copyright small {
	font-size: 1.2rem;
}

/*--------------------------------------
	pagetop
---------------------------------------*/
#pagetop {
  position: fixed;
  bottom: 10%;
  right: 10px;
  width: 40px;
  height: 40px;
  z-index: 10;
	opacity: 0;}
  #pagetop a {
    padding: 0 !important;
    width: 100%;
    height: 100%;
	background: #fff;
	border: 2px solid #333;
	color: #333;
    text-decoration: none;
	border-radius: 0;
	  box-shadow: 0px 1px 2px rgba(0,0,0,0.1);}
	#pagetop a:hover {
		color: #fff;	
		background: #333;
		border: 2px solid #333;
	}
	#pagetop a:hover span::before {
		color: #fff !important;
	}
    #pagetop a span {
      display: block;
      position: relative;
      padding: 0 !important;
      width: 100%;
      height: 100%;
      border: none !important;
      background: none !important; }
      #pagetop a span::before {
        width: 16px;
        height: 16px;
        font-size: 16px;
        line-height: 16px;
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -8px;
        margin-left: -8px; }
@media screen and (max-width: 600px) {
  #pagetop a {
    display: block;
    position: relative;
    padding: 0;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    text-decoration: none;
    overflow: hidden;
    cursor: pointer;}
    #pagetop a span {
      display: block;
      padding: .7em 1em .65em;
      font-size: 1.6rem;
      font-weight: bold;
      text-align: center;
      text-overflow: ellipsis;
      white-space: nowrap;
      color: #333; }
/*    #pagetop a:visited span {
      color: #FFF; }
*/    #pagetop a:active span {
      border: 1px solid #333;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
      background: #333;
	color: #fff;}
    #pagetop a:focus {
      outline: none !important; }
    #pagetop a, #pagetop a::before, #pagetop a::after,
    #pagetop a > *,
    #pagetop a > *::before,
    #pagetop a > *::after,
    #pagetop a > * > * {
      font-weight: bold;
      color: #333; } }
@media screen and (min-width: 600px) {
  #pagetop a {
    display: inline-block;
    padding: 0;
    text-decoration: none !important;
    outline: none;
    cursor: pointer; }
    #pagetop a span {
      display: block;
      padding: 1em 3.5em .95em;
      text-align: center;
      vertical-align: baseline;
      color: #333; }
    #pagetop a:visited span {
      color: #333; }
    #pagetop a:hover span {
      background: #AAA; }
      #pagetop a:hover span, #pagetop a:hover span::before, #pagetop a:hover span::after {
        color: #FFF; }
    #pagetop a, #pagetop a::before, #pagetop a::after,
    #pagetop a > *,
    #pagetop a > *::before,
    #pagetop a > *::after,
    #pagetop a > * > * {
      transition: all .5s; }
    #pagetop a:focus {
      outline: none !important; } }

/*--------------------------------------
	wpadminbar
---------------------------------------*/
#wpadminbar {
  position: fixed !important; }

	#gnav_list a {
		color: #333;
	}
